lp4all

En vacances depuis peu, je viens de pas­ser une semaine avec quelques amis en Hack­Fest. Pour faire simple, c’est une fête de geeks : on a codé, dis­cu­té du Libre, échan­gé sur plein de choses, et on s’est bien amu­sés. De cette semaine, un pro­jet a émer­gé, il s’a­git de lp4all.

Lp4all est un outil de Lite­rate pro­gram­ming (ou pro­gram­ma­tion lit­té­raire en fran­çais). L’i­dée prin­ci­pale de notre pro­jet est d’of­frir un outil de mise en forme du code source d’un pro­gramme. Cette visua­li­sa­tion s’ap­puie sur une syn­taxe wiki pour les com­men­taires, offrant ain­si un large panel de pos­si­bi­li­tés, pour le com­men­taire du code direc­te­ment, mais aus­si pour la géné­ra­tion de docu­men­ta­tion développeur.

Pen­dant cette semaine, nous avons uti­li­sé l’ou­til de ges­tion de ver­sion décen­tra­li­sé mer­cu­rial. Cet outil mérite vrai­ment le détour, tant pour la par­tie décen­tra­li­sée (le merge de branches sépa­rées est assez effi­cace) que pour ses outils de visua­li­sa­tion. Le seul défaut, qui sera cer­tai­ne­ment cor­ri­gé bien­tôt est la perte de l’his­to­rique d’un fichier quand on le renomme.

J’ai pro­fi­té de cette Hack­Fest pour migrer ma machine en utf‑8, et pour quit­ter xemacs pour emacs (mer­ci Fred!). Bref, que du bon :)

Les liens :

8 thoughts on “lp4all”

  1. Celà m’a l’air fort inté­res­sant. Par contre, il y a cer­tains points que je ne com­prends pas. Le but est de mettre en wiki les com­men­taires d’un fichier sources :
    – quels fichiers sources sont pris en compte ?
    – pour quel wiki la sor­tie est-elle écrite ?

    Ce serait pos­sible de rajou­ter, sur le site de Lp4all un exemple concret de code source, et ce que celà donne une fois trans­for­mé en wiki via l’outil.

    Une ver­sion fran­çaise du site est prévue ? ;)

  2. - Lors­qu’on appelle lp4all, on lui passe en para­mètre les fichiers que l’on veut trai­ter, donc ceux qui sont pris en compte, c’est ceux qu’on veut, il suf­fit que la forme des com­men­taires et du code soit connu par lp4all
    – on a écrit un par­seur de wiki spé­ci­fique, en lex/yacc. Tous les autres moteurs de wiki font un rem­pla­ce­ment bru­tal par du code html. Comme à terme on sou­haite avoir d’autres sor­ties (comme le LaTeX), on construit un arbre. La syn­taxe de notre wiki est pré­sen­tée sur notre site.
    – Pour l’exemple concrêt de code source, on a fait plus fort encore qu’un simple exemple : le site de lp4all a été fabri­qué par lp4all à par­tir des sources de lp4all. Autre­ment dit, tu vois direc­te­ment le résul­tat :) Il y a aus­si quelques exemples en page principale…
    – Pour la ver­sion du site en fran­çais, pour l’ins­tant ce n’est pas pré­vu, mais on espère ajou­ter à terme un outil de tra­duc­tion de com­men­taire incor­po­ré à lp4all : comme notre site en est un pro­duit, on l’u­ti­li­se­ra cer­tai­ne­ment pour ça.

  3. lp4all, atten­tion au copy­right ;-) C’est le nom de l’en­trée de gamme des VTT Lapierre !

    Quelques ques­tions au passage :
    Qu’ap­por­te­rait cette syn­taxe de com­men­taire par rap­port à doxy­gen, docu­tils (ReStruc­tu­red Text), PyRTF ou javadoc ?
    Sinon une sug­ges­tion pour la syn­taxe, reprendre celle de txt2tags :
    http://txt2tags.sourceforge.net/

    Sinon, le pro­jet est pas mal :-) Ça peut don­ner que du bon ;-)

  4. bobuse > lp4all, on l’a­vait choi­si comme nom de pro­jet au début de la semaine. Quand on s’est déci­dés à le mettre en ligne, on a regar­dé ce que don­nait une recherche sur ce nom. Évi­dem­ment on a trou­vé la marque de vélo. On s’est dit que ça ne pose­rait pas de pro­blème, et sur­tout qu’on allait vite les explo­ser en google rank ;)

    Sinon, la dif­fé­rence majeure entre lp4all et un outil comme doxy­gen est le ren­du final : les outils comme doxy­gen sont proches du lan­gage, et extraient de nom­breuses infor­ma­tions, construi­sant des pages qui au final ne suivent plus linéai­re­ment le code source. Le but de la pro­gram­ma­tion lité­raire est de pro­po­ser une repré­sen­ta­tion du code source qui devient la docu­men­ta­tion (voir noweb par exemple). L’ob­jec­tif est de pro­po­ser quelque chose qui s’abs­trait du lan­gage (lp4all est mul­ti-lan­gage), et qui per­met de construire une docu­men­ta­tion déve­lop­peur (et non juste celle d’une API) où l’on explique l’al­go­rithme, puis où l’on voit le code…

    Enfin, concer­nant la syn­taxe, c’est une idée que je garde dans le coin de la tête. Mais pour l’ins­tant, nous avons choi­si une syn­taxe type dokuwiki/wikini voire media­wi­ki, car à terme nous espé­rons pro­po­ser l’é­di­tion des com­men­taires par le navi­ga­teur web…

    Voi­li voulou :)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.