Aide - Recherche - Membres - Calendrier
Version complète : Cws
La Communauté TitaXium > Service Communication > Espace Détente Communautaire
Pages : 1, 2
Antoine_935
Salut les gars

Bon, je sais que je ne viens pas souvent et que vous allez me prendre pour un opportuniste, mais bon...
Voila, je suis en train de créer mon propre langage interprété, un peu à la manière PHP, des fichiers avec des balises spécifiques etc...

Il s'appelle CelSius Web Script (Cws pour les intimes)
http://sf.net/projects/celsiusws/
http://celsiusws.sf.net/

Seulement voila, je suis incapable de le faire connaitre tout seul, et meme de le développer correctement seul, donc j'aurais besoin de contributeurs au projet, des promoteurs, testeurs et autres.

Alors si ca vous intéresse de vous lancer là dedans, contactez moi wink.gif


PS : Titax et les modéros, excusez ce coup de pub, mais j'ai envie qu'on parle de ce programme, Cws smile.gif
ED
J'aime pas le terme modéro :x

Bon sinon c'est un projet communautaire donc ca a toute ca place ici.

Par contre je doute quand a l'interet de la chose, mais peut etre pourrait tu nous apporter plus de précisions.
Antoine_935
laugh.gif cher modérateur

Bien, c'est donc un nouveau langage de programmation orienté web.
On aura par exemple
Code
Fichier: index.cws
<h1>Hello World !</h1>
<#cws
$text = "Hello World !"
@print(@getenv("HOME"))
@include("content.cws")
@print("La page demandée : "+@securize($GET_page"))
@print($text)
#>


Bon, c'est un script vachement inutile ici, mais j'ai déja une application plus concrète sur mon site web : http://celsiusws.sf.net/
regardez l'adresse de l'index : index.cws

Quant à l'intérêt de la chose, il est de proposer un langage de programmation de plus avec, en plus, un cadre d'apprentissage agréable (possibilité d'utiliser avec un serveur web, ou en ligne de commande à la manière python ou avec arguments), et peut être une interface graphique pour apprendre à l'utiliser.

Pour le moment, et comme ca fait meme pas deux semaines que je travaille dessus, il n'y a que 16 fonctions, des petites conditions pourries et pas de boucles. Mais dès la version 1.1, il y aura des if/else et pourquoi pas else_if, et sans doute des boucles, ou alors à la 1.2 si ça prend plus de temps que prévu.
De toute facon, d'ici là il y aura deux releases mineures, 1.0.1 et 1.0.2, de clean de code, afin de le rendre plus rapide.

Voila, en gros c'est ça.
tyx
Plop,

La création d'un langage est qqch d'enrichissant mais l'intérêt me dépasse.

Beaucoup de langage sont nés suite à une frustration de son auteur avec un autre. C'est le cas? Ou alors aucun des langages ne t'emballe?

Je serais curieux de savoir quelle est ta motivation.
Antoine_935
aucun langage ne m'a frustré, au contraire.
j'ai tellement aimé que j'ai voulu créer le mien wink.gif
K20
Simple question : tu le réalise comment ?

Et ton second url est mort ...

Et je veux bien tester wink.gif
tyx
Apparement Antoine se lance dans un langage web interprété.

Cela requiert de le développer dans un langage système de plus bas niveau, en l'occurence le C++ tout comme PHP.
K20
Vous pourriez m'en apprendre un peu plus sur la maniere de creer son propre langage ?

Je ne veux pas faire mon propre langage mais je veux en savoir plus wink.gif
FLeVeR
C'est vrai que tout comme K20 ca m'intrigue de savoir comment faire un language web...car un language web c'est ce qui fait fonctionner le web donc creer le sien ca à l'air d'etre un truc pas possible lol
Antoine_935
@tyx : ton explication est concise et claire, merci

@K20 : je prends bonne note de ta proposition.
Une question toutefois : tu as linux ou windows ? un serveur web ?

@Flever et @K20 : pour programmer un langage interprété, il faut juste de la logique, du temps, et le reste suivra automatiquement wink.gif
tyx
Pour rebondir sur ce que j'ai énoncé dans mon premier post. La raison d'être d'un nouveau langage serait de proposer une fonction qu'il effectue mieux que les autres. Ainsi dans un contexte donné, il l'aura l'avantage.
A côté continuer biensûr à proposer les grands classiques d'un langage pour ne pas le discréditer sur des détails.

Un langage interprété full objet? ^^

Pour ce qui est du fonctionnement, rien de bien complexe à saisir. Si on prend PHP par exemple.

Les serveurs apaches embarquent un module PHP qui sert d'interpréteur. Ainsi quand apache tombe sur une page PHP il demande à cet interpréteur de lui donner l'équivalent html. Ce dernier parse la page pour voir s'il correspond à ces critères de grammaire et ensuite l'analyse pour en dégager le résultat.

Le principe d'un nouveau langage comme le PHP est donc de produire un interpréteur pour un serveur web (pas forcément apache d'ailleurs). Celui-ci peut être codé en différents langages selon les envies du concepteur. Le C++ fait tout de même référence dans le milieu.
K20
Ok, merci beaucoup pour cette explication biggrin.gif

@ Antoine_935 : j'ai windows XP et Ubuntu wink.gif
Et le serveur j'en ai un ce WE si j'ai le temps ...

Si c'est un serveur Apache j'ai EasyPHP smile.gif

Tu peux me contacter par MSn si tu veux wink.gif
Gollum02
Ba deja bonne chance
Une question c'est dure a faire un langage??
Méthylbro
C'est très bien tout ca Antoine_935, mais qu'a t'il de plus ton langage ?

Dit le nous ?

Comme l'as dit tyx, un nouveau langage doit répondre a un besoin que les autres ne satisfesait pas. Ici quel est ce besoin ?

Ensuite, c'est bien beau de nous montrer un simple hello world en exemple. Mais montre nous aussi un exemple plus avancé. Ca syntaxe à l'air très proche de C/php, donc, les developpeurs qu'il y a ici seront capable de la saisir. Et c'est eux que tu devrait éssayer de séduire.

En ettendant d'en voir plus pour jugé. Merci.
ED
L'analyse syntaxique c'est tres compliqué deja pour avoir un bon résultat.
Antoine_935
Citation (méthylbro @ vendredi 03 mars 2006 à 15h09)
C'est très bien tout ca Antoine_935, mais qu'a t'il de plus ton langage ?

Dit le nous ?

Comme l'as dit tyx, un nouveau langage doit répondre a un besoin que les autres ne satisfesait pas. Ici quel est ce besoin ?

Ensuite, c'est bien beau de nous montrer un simple hello world en exemple. Mais montre nous aussi un exemple plus avancé. Ca syntaxe à l'air très proche de C/php, donc, les developpeurs qu'il y a ici seront capable de la saisir. Et c'est eux que tu devrait éssayer de séduire.

En ettendant d'en voir plus pour jugé. Merci.
*


Pour tout te dire, je pensais en faire un langage plus précis que le PHP, avec des déclarations de variables. (donc int, string, float peut etre...) Et aussi le rendre plus sécurisé.
L'exemple le plus connu est le register_globals de PHP, qui fat des failles de sécurité énormes...
Ici, pas de mélange, on a $GET_..., $COOKIE_... et bientot $POST_...

Pour ce qui est de l'exemple avancé... j'ai 16 fonctions pour le moment, donc pas grand chose de très avancé.

@Gollum : il faut connaitre quelles sont les fonctions utiles, et avoir une lgique d'interprétations, comme je l'ai dit plus haut. (à ce propos, faut que je refasse une jolie partie...)

@K20 : je viens de me connecter sur MSN, après 2 min d'essais, et je vais t'ajouter à ma liste.
Gollum02
Citation
@Gollum : il faut connaitre quelles sont les fonctions utiles, et avoir une lgique d'interprétations, comme je l'ai dit plus haut. (à ce propos, faut que je refasse une jolie partie...)


Ok merci mais faut bien se baser sur un autre langage(php dans ce cas) et la si j'ai tout compris tu te sert de apache donc faut l'annapte avec ton langage smartass.gif
Antoine_935
annapte ? adapter ?

Bon, je me base sur le C++, apache n'est qu'un support d'utilisation.
Je dis qu'il marche avec apache et je fais des efforts dans ce sens, puisque apache est le leader des serveurs webs et que les autres s'alignent dessus. ca me permet d'etre compatible avec la plupart.
Gollum02
Citation (Antoine_935 @ vendredi 03 mars 2006 à 17h10)
annapte ? adapter ?

Bon, je me base sur le C++, apache n'est qu'un support d'utilisation.
Je dis qu'il marche avec apache et je fais des efforts dans ce sens, puisque apache est le leader des serveurs webs et que les autres s'alignent dessus. ca me permet d'etre compatible avec la plupart.
*


ok merci desole pour la faute crying.gif

Sinon moi je dirai que tu te base plus sur le C que le c++
smartass.gif
Fantome
J'ai regarder un peu le code source, mais je crois qu'il faut que j'étudis encore un peu avans de pouvoir comprendre.

Sinon c'est vrais que ça doit étr marrant pour progrésser en prog.
Si t'as besion de quelqu'un qui prog en Cws pour faire des script de demo ou des tester. je suis prés a donner un coup de main.

Sinon question con : Y a une version français de ton site ?
Antoine_935
Pas de version francaise pour le moment, mais si quelqu'un se propose...
Quant au code source, ne regarde pas le fichier main_functions.cpp, il est à refaire quasi-entièrement.
j'y travaille d'ailleurs.

Sinon, ya pas de problème, si tu fais des scripts intéressants, tu peux me les passer.
Il y aura d'ailleurs surement une place pour toi dans les développeurs du projet, ainsi que K20 smile.gif

@Gollum : j'utilise bien plus le C++ avec sa STL (string, maps et autres)
Gollum02
Ok autant pour moi
Fantome
quelque remarque :

Dans la doc (function)

define, define_once : il faudrais préciser si les constante sont sensible a la casse, je suis pose que oui mais c'est meiux d'étre sur.

setcookie : y a une faute de frappe dans le premier code : '>#cws'

Dans 'Programming Cws' :
petit question : les fonctions @if_null et @if_not_null, qui je suppose se comporte de la même manière, retourne t'elle une valeur ?
Dans tous les exemple tu ne récupère pas la valeur retourné
Code
@if_null(....)
sauf dans un ou tu as écris
Code
$data = @if_not_null(...)

Donc es-ce une erreur ? ou es ce que le deux syntaxe sont correcte ?
K20
Je n'ai toujours pas teste ... J'essaye de m'y mettre ce WE ...
Antoine_935
@k20 : te presse pas wink.gif

Citation (Fantome @ lundi 06 mars 2006 à 22h37)
quelque remarque :

Dans la doc (function)

define, define_once : il faudrais préciser si les constante sont sensible a la casse, je suis pose que oui mais c'est meiux d'étre sur.

setcookie : y a une faute de frappe dans le premier code : '>#cws' Corrigé

Dans 'Programming Cws' :
petit question : les fonctions @if_null et @if_not_null, qui je suppose se comporte de la même manière, retourne t'elle une valeur ?
Dans tous les exemple tu ne récupère pas la valeur retourné
Code
@if_null(....)
sauf dans un ou tu as écris
Code
$data = @if_not_null(...)

Donc es-ce une erreur ? ou es ce que le deux syntaxe sont correcte ?
*


Et pour répondre à ta question, oui, les deux sont exactes, c'est ce qui permet de faire des codes comme

Code
$data = @if_not_null($GET_page, @include(@securize($GET_page)), @include("index.html"))
@if_null($data, $data = @include("404error.html"))

Voila, j'ai modifié ca aussi dans la doc, ainsi que le menu du site wink.gif plus extensible mnt.
Je bosse toujours petit à petit sur la doc, mais c'est chiant !
Merci en tout cas !
K20
Je pourrais la traduie en français et t'aider dessus si tu veux wink.gif
Antoine_935
Ah, ce n'est pas de refus. C'est même bienvenu !
D'autant plus que tu as une bonne orthographe.

Dis moi si tu veux que je te passe tous les fichiers directement, ou si tu préfères les prendre sur le site.
K20
Je veux bien que tu me fasses tous les fichiers directement wink.gif

Mais pour le moment j'ai pas le temps, tout comme j'ai pas encore pu tester :rolleyes:

Dès que j'ai le temps je te dis smile.gif
Antoine_935
pas de problème wink.gif je t'envoie ca par mail.

PS : je t'ai mis dans les membres de la team, va voir la page "about"
K20
Ok, merci beaucoup !
Fantome
Perso j'aurais bien traduit aussi mais bon vus mon niveau en orthographe il faudrais que quelqu'un relise tous les fichiers derière moi, donc je vais m'abstenir.

Mais je vais continuer a passer de temps en temps pour relire la doc et signaler les erreurs (niveau prog biensur pas en ortho) ou les manque de précision a mon gout.

Merci pour ta réponse.
Antoine_935
tiens, tu pourrais rentrer dans la team aussi wink.gif qu'en penses-tu ?
en tant que reviseur de doc ou autre

PS : pour les manques de précision, sois large stp, ca permettra a plus de monde de comprendre.
Fantome
Si tu veux y a pas de problème.

Je continus a faire un tour sur le site de temps en temps et je signale les corections.
Continus a poster ici ou tu veux que je le mette ailleur. (PS: même si c'est sur sourceforge, je continuré a poster en fr wink.gif )

Si j'ai des idée de script quand j'aurais le temps, je ferais des mini script de demo.

Edit: Y a une faute de frappe dans la page : function : setvar
Citation
Note that this function alllows you to set random varnames.
Antoine_935
héhé, je devais etre de bonne humeur...

Pour ce qui est des scripts, normalement on pourra faire un CMS rudimentaire avec la version 1.0.1, mais une idée intéressante est bien sur toujours la bienvenue.

Faudrait que je fasse une page "scripts"
SX
Très bonne idée pour se plonger dans les arcanes de C++ smile.gif
Par contre ne numérote pas encore tes versions c'est inutile car à ce rythme, la première version fonctionnelle sera la 10.0
tyx
Oui je rejoins SX, part plutôt sur le système de alpha 1 et 2 voir 3 puis sur des béta puis des Release Candidate pour obtenir ta 0.1 tongue.gif
Antoine_935
Citation (SX @ samedi 11 mars 2006 à 20h58)
Très bonne idée pour se plonger dans les arcanes de C++ smile.gif
Par contre ne numérote pas encore tes versions c'est inutile car à ce rythme, la première version fonctionnelle sera la 10.0
*

Détrompes toi !
je prévois un CMS pour la version 1.0.1
K20
Pas encore eu le temps de tester sad.gif
Samedi j'était complètement mort, donc j'ai pas fait grand chose et aujourd'hui je n'étais pas chez moi ... J'espère pouvoir tester le WE prochaine :rolleyes: (car plus tôt dans la semaine ça va être dur ...)
Antoine_935
héhé, la version 1.0.1 aujourd'hui, une fois que j'aurai terminé les derniers tests !!!
Si vous voulez voir ce qu'il y aura de nouveau, allez voir ici:
http://celsiusws.sourceforge.net/index.cws?page=next_version
Fantome
J'ai essayer de test la version 1.0 bon je me suis un peut battu pour trouver commens le mettre en place. Il a fallut que je mette le chemin absolut dans mon fichier .htaccess
Code
AddType application/x-httpd-cws cws
Action cws-script w:/usr/local/cgi-bin/cws
AddHandler cws-script cws
DirectoryIndex index.cws


Mais maintenant voila le message d'erreur que j'ai
Citation
Bad Request

Your browser sent a request that this server could not understand.
Apache/2.0.54 (Win32) PHP/5.0.4 Server at localhost Port 80


Si j'ai le temps ce week-end je testerai sur un serveur qui tourne sous linux.
Antoine_935
pour le .htaccess et le path ca m'étonne, tu utilises apache ?
Pour le second, ca n'a normalement rien à voir avec Cws, mais avec l'url que tu as envoyée au serveur.
par contre, tu devras recompiler le programme pour windows... la version binaire est faite pour linux uniquement.
Je peux peut etre te donner un accès à un serveur si tu veux.
Fantome
Pour le serveur, ça devrais étre bon j'ai un PC chez moi qui me sert de serveur (sous linux) donc je peut faire les modif que je veux dans Apache. Sinon oui j'utilise Apache (t'as même la version si tu regarde le message d'erreur que j'ai mit).
Et je confirme c'est pas un problème avec Cws, puisque je vien de fair un micro programme pour voir et il me renvois la même erreur. Je vais tester sur mon Serveur.


EDIT@21:28: Bon voila je l'est installer sur mon serveur et ça marche aprés quelque problème : mon serveur ne veux pas tenir compte du fichier .htaccess (j'ai verifiez la config et normallement c'est bon), donc j'ai dut mdifier directement les fichier httpd.conf et aprés il a fallut que j'autorise a Apach d'éxécuté le fichier /cgi-bin/cws et aprés tous ça, c'est bon ça fonctionne !
Antoine_935
j'ai eu des problèmes avec les .htaccess
Il faut modifier la directive allowoverride dans le httpd.conf

Sinon, heureux que ca marche smile.gif amuse-toi bien
K20
Merci, ca m'evitera de perdre du temps pour tester :-D
K20
crying.gif

Je n'ai malheureusement pas pu tester ... Pas à cause du temps mais à cause de ce satané PC et de ma connexion en carton ...

Ubuntu semble totalement planté, il me manque plein de paquet et impossible de les installer via internet pour des raisons inconnu ou un wifi tellement lent que je ne peux même pas accéder à une page internet ... blink.gif

J'ai voulu le compiler sous Widnows avec Dev C++ mais j'ai eu le droit à une erreur de violation ...

J'suis vraiment désolé sad.gif

EDIT : je pense que j'aurais le temps vendredi soir si mon matos veut bien me laisser tester ... Là je réinstalle Ubuntu ...
Antoine_935
erreur de violation ?
ca m'intéresse. On aurait donc des problèmes à la compilation sous windows ?
tu saurais détailler le problème stp ?

PS : j'ai trouvé quelques bug en créant mon CMS (CwMS). et je confirme, il ne sera pas pret pour la version 1.0.1, mais la 1.0.2, qui intégrera quasiment à coup sur les conditions biggrin.gif
K20
Ba tu veux savoir quoi exactement sur l'erreur de violation ? ^^

Moi je suis prêt à t'aider pour ça pour le moment tongue.gif

(là je réinstalle le réseau sur ubuntu ...)
Antoine_935
toutes les infos que le compilateur te donne (si c'est du au code source et non au compilateur lui meme), afin de rendre le prog compatible windows

PS : bonne install wink.gif
K20
Ok, j'essaye d'abord d'installer apache sur mon Ubuntu (que j'ai réinstallé avec succès) et je teste sur Windows après wink.gif
Antoine_935
apache est pas installé de base sur Ubuntu ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.