arthur.bebou

Le site arthur.bebou.netlib.re - retour accueil

git clone git://bebou.netlib.re/arthur.bebou
Log | Files | Refs |

index.sh (18236B)


      1 #! page
      2 
      3 title: Chronologie du code du site de Katzele
      4 author: Arthur Pons
      5 publication: 2023-01-13
      6 description: Une petite chronologie de l\'évolution du contenu du dépôt git contenant le site de Katzele
      7 sectionmd: main
      8 
      9 # Une chronologie de l'évolution du code de Francium tel qu'utilisé par Katzele
     10 
     11 Je me suis demandé comment avait évolué la base de code du site, notamment sa
     12 taille mise au regard des fonctionnalités ajoutées. Pour cela je suis allé
     13 chercher la première ligne du message de chaque commit de ce dépôt ainsi que la
     14 quantité de ligne de code ajoutée au dépôt. Ce qui compte comme du code est
     15 soumis à interprétation. J'ai décidé de supprimer les commentaires par exemple.
     16 J'inclus des choses telles que le template HTML et le CSS. Je devrais
     17 probablement les exclure si je voulais m'intéresser spécifiquement à Francium
     18 et non pas à ce site. Je n'inclus pas le code qui génère du markdown dans les
     19 pages. Ces bouts de code peuvent être complexes, assez nombreux et doivent être
     20 maintenus mais ne font pas vraiment partie de Francium. Pour info aujourd'hui
     21 (13 janvier 2023) cela représente quatre lignes.
     22 
     23 Évolution du total nombre de lignes (sans commentaire, sans ligne vide, avec template
     24 heredoc) par commit :
     25 
     26 	  500 +--------------------------------------------------------------------+
     27 	      |                                                                    |
     28 	  450 |-                                                                  -|
     29 	      |                                                                    |
     30 	  400 |-                                                      AAAAAAAA    -|
     31 	      |                                                                    |
     32 	  350 |-                                                                  -|
     33 	      |                                                                    |
     34 	  300 |-                                                                  -|
     35 	      |                                                   AAAA             |
     36 	  250 |-                 A                           AAAAA                -|
     37 	      |                   AAAAAAAAAAAAAAAAAAAAAAAAAAA                      |
     38 	  200 |-                A                                                 -|
     39 	      |     AAAAAAAAAAAA                                                   |
     40 	  150 |-                                                                  -|
     41 	      |                                                                    |
     42 	  100 |- AAA                                                              -|
     43 	      |                                                                    |
     44 	   50 |-                                                                  -|
     45 	      +--------------------------------------------------------------------+
     46 
     47 Le premier saut représente l'ajout d'une css et d'un moteur pour en générer.
     48 Le second l'ajout d'un système pour générer un flux atom, le troisième un autre
     49 système de génération de flux, la chute qui suit est due à la supression du
     50 premier.  Ensuite quelques modification du template html font bouger les choses
     51 et le dernier saut est l'ajout du css actuellement en production.
     52 
     53 Le détail en différence de nombre de ligne par commit :
     54 
     55 > +107 - first release\
     56 >    0 - ajout du lien "None of these are Unix"\
     57 >   +1 - liste des notes depuis la page principale\
     58 >    0 - ajout d'une todo list\
     59 >    0 - ajout d'un lien dans notes ui\
     60 >    0 - liens vers bitreich et suckless\
     61 >    0 - correction proposée par tjay\
     62 >    0 - lien vers ecoinfo\
     63 >  +63 - introduction des styles\
     64 >    0 - annecdotes sur l'ui\
     65 >    0 - retour vers le futur et autres ajouts\
     66 >    0 - ajout d'une section contact\
     67 >    0 - usage direct de save_md\
     68 >   -1 - template layout: stylesheet optionnel avec $STYLE\
     69 >    0 - Correction de fautes, proposition de légères modifications du texte introductif\
     70 >    0 - création d'une section "nos activités"\
     71 >   +1 - *make* it work\
     72 >    0 - Ajout d'une note concernant les interfaces alternatives à youtube.com Dépôt d'un patch permettant de modifier sfeed_curses\
     73 >    0 - Ajout du nom de ou des auteur·ices des notes sur la page d'accueil Est-ce que c'est utile ? Attention ! Casse si la note ne renseigne pas son auteurice\
     74 >    0 - Retrait de l'option --safe pour cmark La version de cmark packagée pour debian n'a pas cette option mais c'est bien le comportement par défaut Son ajout explicite ne fait dont qu'introduire un bug\
     75 >   +3 - Modification du makefile pour permettre d'ajouter des fichiers annexes aux notes\
     76 >    0 - Ajout d'un patch pour pouvoir choisir l'ouverture audio/video dans sfeed_curses Modification en conséquence de l'article\
     77 >   +3 - Modif du makefile pour générer les raw et commenter\
     78 >    0 - Modification de la page d'accueil\
     79 >    0 - Ajout des évènements passés et futurs à la page d'accueil\
     80 >    0 - Ajout des dates aux notes\
     81 >  +16 - Ajout d'un script pour générer un flux rss/atom/sfeed correspondant aux notes\
     82 >  +37 - ajout de bin/atomic: RFC\
     83 >  -17 - Suppression de rss au profit d'atomic\
     84 >    0 - Relecture, ménage\
     85 >    0 - Modification de la TODO après discussions à la roue libres\
     86 >    0 - Modification d'Atomic, modification des markdown en fonction\
     87 >    0 - Ajout d'un dossier flux et du fichier pour 2022\
     88 >   +3 - Modification de page et du script de la page d'accueil pour les notes\
     89 >    0 - Modification du makefile pour copier les sources md\
     90 >   +3 - Modification d'atomic et du fichier des évènements\
     91 >   +1 - Génération automatique des évènements passés et futurs dans la page d'accueil\
     92 >    0 - Documentation de la syntaxe des fichiers dans events\
     93 >   +2 - Modification d'atomic pour utiliser les lieux et les ressources\
     94 >   +1 - Flux rss pour les interventions, obstacle à la génération du flux des articles\
     95 >    0 - Ajout des dates de tous les évènements passés\
     96 >   +2 - Ajout d'un champ fin d'intervention et affichage dans le flux rss\
     97 >    0 - Oups, oublié de renommer certains champs %D en %P\
     98 >    0 - Ajout d'un README\
     99 >    0 - Tri chronologique des évènements à venir (je crois)\
    100 >    0 - Progrès sur la documentation\
    101 >    0 - Modification du makefile\
    102 >    0 - La documentation avance\
    103 >    0 - Progrès sur la partie page du README\
    104 >    0 - Toujours plus de documentation dans le README\
    105 >    0 - Ajout des futurs évènements aux techdays 13\
    106 >    0 - Tri par ordre chronologique des évènements à venir\
    107 >    0 - Modification du patch sfeed_curses pour passer un arg à sfeed_plumber\
    108 >    0 - Ménage README\
    109 >    0 - Modification et ajout de ressources pour évènement eveille\
    110 >    0 - Transformer les dates des évènements à venir en format lisible par un humain\
    111 >    0 - Modification de l'article youtube\
    112 >    0 - ajout d'une note todo sur les conférences passées\
    113 >    0 - Ajout d'une meta donnée visible ou non L'ajout se fait avec un alias %V, l'absence %V indique que la note est en cours de rédaction Utilisation de deux grep pour filtrer les notes dans src/index.md @Note un filtre pour exclure %V serait surement une solution plus adaptée.\
    114 >    0 - Ajout d'une note sur des idées d'outils convivialiste pour le web Mise à jour de la note sur le design pour encourager l'ajout de commentaires et retours Respect de la structure avec notes/date/titre/index.md pour toutes les notes\
    115 >    0 - ajout d'un exemple de réseau internet alternatif\
    116 >    0 - Affichage dates des évènement passés et ajout des slides pour prez techdays 13\
    117 >    0 - Ajout de la vidéo de la conf avec Adrastia\
    118 >    0 - Modifications diverses page d'accueil\
    119 >    0 - On retire les articles déposés aux mauvais endroits\
    120 >    0 - Modif de la fonct de visibilité et modification des articles en fonction\
    121 >    0 - Intégration des nouveaux articles de Derek et de la gestion de la visibilité\
    122 >    0 - Ajout de références dans l'article premier pas hors du web\
    123 >  +23 - Intégration de certaines des propositions de Derek pour le template html\
    124 >    0 - Ajout d'un article sur la gestion de playlists\
    125 >    0 - Progression sur l'article à propos des playlists\
    126 >    0 - Publication de l'article sur les playlists\
    127 >    0 - Modif du script des notes pour publier à la date annoncée et pas le lendemain\
    128 >    0 - Modification de la structure de la page d'accueil\
    129 >    0 - édition de la note sur le web\
    130 >    0 - On crédite comme il se doit qui de droit :)\
    131 >   +3 - Modif d'atomic et du fichier des interventions pour obtenir un flux atom valide\
    132 >    0 - Ajout article Kun, sép "articles"/"notes" modif page d'accueil, archives events\
    133 >    0 - Début de prise de notes sur la convivialité\
    134 >    0 - Ajout d'un guide pour nouvelleaux\
    135 >    0 - Ajouts et modifications diverses du contenu\
    136 > +146 - proposition d'un premier style proche des TUI, les couleurs sont provisoires\
    137 >    0 - mise à jour des critères pour le design du site\
    138 >   -3 - intégration du CSS de Derek\
    139 >    0 - header > head\
    140 >    0 - style.css comme dépendance de page\
    141 >    0 - virer 1 niveau d'arbo\
    142 >    0 - Ajout du lien de la vidéo pour une intervention aux techdays\
    143 >    0 - Ajout du transcript d'une conversation avec chatgpt\
    144 >    0 - Progrès sur la documentation de Francium\
    145 >    0 - Progression sur la doc de Francium\
    146 >    0 - Suppression du doc test laissé par Arthur\
    147 >    0 - Ajout d'une nouvelle note sur la chrono du code du site\
    148 
    149 Quelques remarques me viennent à l'esprit en voyant ce résultat :
    150 
    151 Les commits qui ajoutent du code sont rares, 23 contre 72
    152 
    153 Les ajouts sont généralement petits. Quand ils ne le sont pas le commit porte
    154 sur le css du site ou l'ajout d'une grosse fonctionnalité (générer un flux
    155 atom)
    156 
    157 Quand il y a des retraits ils sont très petits. D'ailleurs certaines parties du
    158 site ne sont actuellement (13 janv. 2023) pas utilisées mais n'ont pour autant
    159 pas été supprimées. Soit par oubli soit parce qu'elles pourront l'être à
    160 nouveau à l'avenir. Ces fichiers représentent 132 lignes à l'écriture de cet
    161 article, 53 pour shylus, un système de génération de css actuellement abandonné
    162 au profit du css écrit à la main de Derek. 79 pour pug, un système de
    163 templating html actuellement abandonné au profit un template écrit à la main.
    164 Autant shylus ne serait peut-être jamais utilisé, autant pug devrait revenir
    165 sur le devant de la scène.
    166 
    167 Une bonne partie non négligeable du code hors css est du templating (36
    168 lignes).
    169 
    170 Si l'on retire le code de ces deux systèmes le nombre de ligne de Francium
    171 passe à 262. Moins 147 de CSS on tombe à 115, moins les 36 de templating on
    172 tombe à 79. En somme il y a actuellement bien moins de 100 lignes de shell à
    173 proprement parler qui fait réellement fonctionner Francium. Cela pose la
    174 question de la nécessité du reste. Peut-être un ménage à venir.
    175 
    176 Les ajouts de fonctionnalités me semblent générer des quantités raisonnables de
    177 code. Par exemple la copie de fichier "annexes" accompagnant les md de src vers
    178 root et la copie des sources de src vers root n'a ajouté que six lignes dans le
    179 makefile. Aujourd'hui cela permet d'héberger au côté de l'article youtube les
    180 fichiers de patch d'sfeed_curses et d'avoir accès aux sources en modifiant le
    181 `.html` en `.md` dans l'url. Autre exemple le commit avec le message "Modif de
    182 la fonct de visibilité et modification des articles en fonction" intègre une
    183 gestion du conditionnement de la visibilité d'un lien dans une page
    184 "gratuitement" sur la base d'un alias qui existait déjà et en ajoutant un peu
    185 de code dans la page où l'on souhaite afficher des liens et pas d'autre.
    186 
    187 Dans l'ensemble, si l'on considère l'évolution de Francium depuis septembre
    188 2022 (date du premier commit) à aujourd'hui je pense que l'on peut dire que la
    189 croissance de la base de code est maîtrisée. Avant tout parce qu'en quelques
    190 mois la quantité de fonctionnalités supplémentaires n'est pas très élevée
    191 (autant par manque de temps que par volonté de ne pas en ajouter), mais
    192 également parce que la structure de cet outil permet de le faire à un coût
    193 raisonnable.
    194 
    195 Les données du total des lignes de code par commit :
    196 
    197 > 107 - first release\
    198 > 107 - ajout du lien "None of these are Unix"\
    199 > 108 - liste des notes depuis la page principale\
    200 > 108 - ajout d'une todo list\
    201 > 108 - ajout d'un lien dans notes ui\
    202 > 108 - liens vers bitreich et suckless\
    203 > 108 - correction proposée par tjay\
    204 > 108 - lien vers ecoinfo\
    205 > 171 - introduction des styles\
    206 > 171 - annecdotes sur l'ui\
    207 > 171 - retour vers le futur et autres ajouts\
    208 > 171 - ajout d'une section contact\
    209 > 171 - usage direct de save_md\
    210 > 170 - template layout: stylesheet optionnel avec $STYLE\
    211 > 170 - Correction de fautes, proposition de légères modifications du texte introductif\
    212 > 170 - création d'une section "nos activités"\
    213 > 171 - *make* it work\
    214 > 171 - Ajout d'une note concernant les interfaces alternatives à youtube.com Dépôt d'un patch permettant de modifier sfeed_curses\
    215 > 171 - Ajout du nom de ou des auteur·ices des notes sur la page d'accueil Est-ce que c'est utile ? Attention ! Casse si la note ne renseigne pas son auteurice\
    216 > 171 - Retrait de l'option --safe pour cmark La version de cmark packagée pour debian n'a pas cette option mais c'est bien le comportement par défaut Son ajout explicite ne fait dont qu'introduire un bug\
    217 > 174 - Modification du makefile pour permettre d'ajouter des fichiers annexes aux notes\
    218 > 174 - Ajout d'un patch pour pouvoir choisir l'ouverture audio/video dans sfeed_curses Modification en conséquence de l'article\
    219 > 177 - Modif du makefile pour générer les raw et commenter\
    220 > 177 - Modification de la page d'accueil\
    221 > 177 - Ajout des évènements passés et futurs à la page d'accueil\
    222 > 177 - Ajout des dates aux notes\
    223 > 193 - Ajout d'un script pour générer un flux rss/atom/sfeed correspondant aux notes\
    224 > 230 - ajout de bin/atomic: RFC\
    225 > 213 - Suppression de rss au profit d'atomic\
    226 > 213 - Relecture, ménage\
    227 > 213 - Modification de la TODO après discussions à la roue libres\
    228 > 213 - Modification d'Atomic, modification des markdown en fonction\
    229 > 213 - Ajout d'un dossier flux et du fichier pour 2022\
    230 > 216 - Modification de page et du script de la page d'accueil pour les notes\
    231 > 216 - Modification du makefile pour copier les sources md\
    232 > 219 - Modification d'atomic et du fichier des évènements\
    233 > 220 - Génération automatique des évènements passés et futurs dans la page d'accueil\
    234 > 220 - Documentation de la syntaxe des fichiers dans events\
    235 > 222 - Modification d'atomic pour utiliser les lieux et les ressources\
    236 > 223 - Flux rss pour les interventions, obstacle à la génération du flux des articles\
    237 > 223 - Ajout des dates de tous les évènements passés\
    238 > 225 - Ajout d'un champ fin d'intervention et affichage dans le flux rss\
    239 > 225 - Oups, oublié de renommer certains champs %D en %P\
    240 > 225 - Ajout d'un README\
    241 > 225 - Tri chronologique des évènements à venir (je crois)\
    242 > 225 - Progrès sur la documentation\
    243 > 225 - Modification du makefile\
    244 > 225 - La documentation avance\
    245 > 225 - Progrès sur la partie page du README\
    246 > 225 - Toujours plus de documentation dans le README\
    247 > 225 - Ajout des futurs évènements aux techdays 13\
    248 > 225 - Tri par ordre chronologique des évènements à venir\
    249 > 225 - Modification du patch sfeed_curses pour passer un arg à sfeed_plumber\
    250 > 225 - Ménage README\
    251 > 225 - Modification et ajout de ressources pour évènement eveille\
    252 > 225 - Transformer les dates des évènements à venir en format lisible par un humain\
    253 > 225 - Modification de l'article youtube\
    254 > 225 - ajout d'une note todo sur les conférences passées\
    255 > 225 - Ajout d'une meta donnée visible ou non L'ajout se fait avec un alias %V, l'absence %V indique que la note est en cours de rédaction Utilisation de deux grep pour filtrer les notes dans src/index.md @Note un filtre pour exclure %V serait surement une solution plus adaptée.\
    256 > 225 - Ajout d'une note sur des idées d'outils convivialiste pour le web Mise à jour de la note sur le design pour encourager l'ajout de commentaires et retours Respect de la structure avec notes/date/titre/index.md pour toutes les notes\
    257 > 225 - ajout d'un exemple de réseau internet alternatif\
    258 > 225 - Affichage dates des évènement passés et ajout des slides pour prez techdays 13\
    259 > 225 - Ajout de la vidéo de la conf avec Adrastia\
    260 > 225 - Modifications diverses page d'accueil\
    261 > 225 - On retire les articles déposés aux mauvais endroits\
    262 > 225 - Modif de la fonct de visibilité et modification des articles en fonction\
    263 > 225 - Intégration des nouveaux articles de Derek et de la gestion de la visibilité\
    264 > 225 - Ajout de références dans l'article premier pas hors du web\
    265 > 248 - Intégration de certaines des propositions de Derek pour le template html\
    266 > 248 - Ajout d'un article sur la gestion de playlists\
    267 > 248 - Progression sur l'article à propos des playlists\
    268 > 248 - Publication de l'article sur les playlists\
    269 > 248 - Modif du script des notes pour publier à la date annoncée et pas le lendemain\
    270 > 248 - Modification de la structure de la page d'accueil\
    271 > 248 - édition de la note sur le web\
    272 > 248 - On crédite comme il se doit qui de droit :)\
    273 > 251 - Modif d'atomic et du fichier des interventions pour obtenir un flux atom valide\
    274 > 251 - Ajout article Kun, sép "articles"/"notes" modif page d'accueil, archives events\
    275 > 251 - Début de prise de notes sur la convivialité\
    276 > 251 - Ajout d'un guide pour nouvelleaux\
    277 > 251 - Ajouts et modifications diverses du contenu\
    278 > 397 - proposition d'un premier style proche des TUI, les couleurs sont provisoires\
    279 > 397 - mise à jour des critères pour le design du site\
    280 > 394 - intégration du CSS de Derek\
    281 > 394 - header > head\
    282 > 394 - style.css comme dépendance de page\
    283 > 394 - virer 1 niveau d'arbo\
    284 > 394 - Ajout du lien de la vidéo pour une intervention aux techdays\
    285 > 394 - Ajout du transcript d'une conversation avec chatgpt\
    286 > 394 - Progrès sur la documentation de Francium\
    287 > 394 - Progression sur la doc de Francium\
    288 > 394 - Suppression du doc test laissé par Arthur\
    289 > 394 - Ajout d'une nouvelle note sur la chrono du code du site\