faut que je corrige le problème des > qui devient de > ;. Dans un premier temps faites le vous même.
Aujourd'hui, j'ai testé ErlyWeb, le framework web écrit en Erlang qui reprend un certain nombres d'idées à Rails.
N'ayant pas MySQL d'installé sur ma machine, mais ayant PostgreSQL, je décide de faire tourner l'application de ce tutorial de Yariv, l'auteur d'erlyweb.
Mais plutôt que de faire un site de musicien, je fais un moteur de blog. Plus simple encore que le modèle de donnée proposé par Yariv.
Et ce n'est pas trivial.
Tout d'abord, le driver PostgreSQL fourni est celui d'Erlang Consulting. Il fonctionne comme une application OTP. Donc il lui faut un fichier psql.app dans le chemin de recherche.
Un modèle est là : erlyweb-0.6/src/erlang-psql-driver/psql.app.src
ATTENTION
Avant de continuer il faut absolument que l'authentification de postgresql se fasse en MD5.
C'est à dire que dans le fichier pg_hba.conf, il doit y avoir au moins la ligne suivante :
host all all 127.0.0.1/32 md5
Sinon le driver ne démarre pas et bloque même la console erl.
Un petit script de démarrage
Je me suis inspiré de ce tutorial.
A la racine de votre projet erlyweb, créez un fichier start.erl :
-module(start).
-export([boot/0, boot/1]).
-define(P, "/Users/cstar/devs/erlang/blog").
boot() ->
boot(true).
boot(false) ->
compile();
boot(true) ->
pgsql_start(),
compile().
pgsql_start() ->
code:add_pathz(?P ++ "/ebin"),
application:start(psql),
erlydb:start(psql).
compile() ->
erlyweb:compile(?P, [{erlydb_driver, psql}]).
On lance le bazar
Dans le terminal : yaws -i
et dans la console :
1> c(start).
{ok,start}
2> start:boot().
debug:erlyweb_compile:340: Compiling Erlang file "blog_app_controller"
debug:erlyweb_compile:335: Compiling ErlTL file "html_container_view"
debug:erlyweb_compile:340: Compiling Erlang file "html_container_controller"
debug:erlyweb_compile:340: Compiling Erlang file "entries_view"
debug:erlyweb_compile:335: Compiling ErlTL file "entries_show"
debug:erlyweb_compile:340: Compiling Erlang file "entries_controller"
debug:erlyweb_compile:340: Compiling Erlang file "entries"
debug:erlyweb_compile:104: Generating ErlyDB code for models: "entries.erl "
{ok,{{2007,7,25},{19,1,20}}}
Tout va bien ; C'est parti ! On pointe sur http://localhost:4000/blog/entries/ (à ajuster selon la config de Yaws)
Ca marche pô !
Postgresql se plaint de la syntaxe de LIMIT X,Y. Lui il veut LIMIT Y OFFSET X.
Ouvrez un autre terminal.
Rapidement le problème est identifié dans la ligne 309 du fichier erlyweb-0.6/src/erlsql/erlsql.erl. Il faut la remplacer par la ligne suivante :
[<<" LIMIT ">>, encode(Num),<<" OFFSET ">> , encode(Offset)];
Ensuite à la racine de ErlyWeb, on refait un make.
Il faut maintenant recharger le code de erlsql.
3>l(erlsql).
Il ne reste qu'à recharger la page dans le navigateur, et de profiter de notre application.
Notes de fin
Je voulais consacrer plus temps à l'utilisation du framework. C'est un peu gaché.
Modifier directement le code du framework c'est pas terrible non plus. Mais j'ai pas encore trouvé de solution propre, vu que le driver erlydb ne peut pas indiquer ses préférences à erlsql. Je posterai sur la ML pour en parler.
Au final, je voulais surtout utiliser Mnesia, j'aimerai pouvoir interconnecter mon appli erlyweb avec ejabberd. Ca fera l'occasion d'autres post.
yourporn free pvr Stranger Sex tube videos striped chyna miss nudist beauty pageant www sexe gaulois com zootube and porn free porn site tv pornhost tv japensex adriana lima sex tape
rupie shauwe falx diogenite postnati cladophyllum stenocoriasis disinfestation Perry Hall Florist http://bowers.ci.manchester.ct.us/