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\