Legilibre / Archeo-Lex

Pure Histoire de la Loi française – Git + Markdown
https://archeo-lex.fr
Do What The F*ck You Want To Public License
99 stars 17 forks source link

Refondre Archéo Lex et le format sous-jacent #65

Open Seb35 opened 4 years ago

Seb35 commented 4 years ago

Depuis quelque temps j’ai dans la tête de refondre Archéo Lex en prenant avantage de l’expérience accumulée jusque là, et cela passerait entre autres sur une formaliation de la spec du format utilisé et, dans mon idée, une réécriture de Archéo Lex en JavaScript.

La formalisation de la spec du format a déjà vu une tentative dans le fichier doc/format.md qui est plus ou moins une photographie du format actuel d’Archéo Lex, mais j’aurais bien d’autres éléments à ajouter pour prendre en compte :

À noter que le format Git permet de pouvoir stocker dans un même repo, à bas coût, plusieurs formes similaires des textes et de distribuer ensemble ou indépendemment ces formes, ceci de part ses caractéristiques internes (stockage d’objets, compressés et avec compression delta dans les packfiles) et externes (distribution de branches). Lors de la génération du/des repos Git, il serait de bonne programmation que d’écrire les différentes formes demandées en même temps, par exemple écrire la branche "tous textes" et les branches de chaque texte indépendant en même temps vu qu’on introduit des commits ayant les mêmes objets Git (les textes).

En lien avec cette formalisation, j’ai dans l’idée de réécrire Archéo Lex en JavaScript afin d’avoir le même langage que metslesliens et DuraLex-JS afin que Archéo Lex ait un rôle de coordinateur dans la production des dépôts Git et de versions alternatives enrichies de ces deux librairies (je précise toutefois pour ces deux librairies que je souhaite qu’elles conservent une version secondaire en Python via un portage partiel des grammaires PEG.js vers les grammaires Parsimonious/Python étant donné la similarité des dialectes). Mais c’est aussi que j’ai personnellement tendance à préférer désormais le JavaScript au Python, même si cela est subjectif.

Dans cette nouvelle version d’Archéo Lex, j’aurais comme objectifs sur son architecture :