- Tribune: Vote électronique ou vote papier
- Vote électronique ou vote papier : seulement la confiance ?
Aujourd’hui vient d’être déployée une nouvelle version du projet qui fait tourner le site de Zeste de Savoir. Il s’agit de la version 30.2, Éon de son petit nom, qui arrive presque un an après la version précédente, à savoir la version 30.1 Artémis.
Profitons-en pour faire le tour des nouveautés et discuter de l’état du développement de Zeste de Savoir.
Artémis laisse place à Éon
Cette version a été baptisée Éon, car elle arrive très longtemps après la version précédente. Dans le monde du développement web, un an depuis la dernière sortie, c’est presque l’analogue de centaines de millions d’années pour la vie géologique de la Terre.
ZMarkdown passe en version 11
ZMarkdown, c’est le moteur Markdown de Zeste de Savoir qui transforme le Markdown utilisé pour rédiger (des messages sur le forum, des commentaires sur les contenus, les contenus eux-mêmes, …) en d’autres formats: HTML pour les navigateurs Internet, LaTeX pour les exports en PDF, …
Le passage à cette nouvelle version corrige des failles de sécurité importantes, dont il était déjà question dans un précédent billet. L’export des contenus au format PDF, désactivé pour protéger le site le temps de la correction, est de nouveau possible.
De nombreuses autres petites améliorations et corrections sont introduites par cette version. On peut citer notamment l’utilisation de summary/details
pour les blocs masqués ou encore l’amélioration de l’analyse des pings, qui posait problème avec les pseudos contenant des caractères accentués (entre autres).
L’ensemble des nouveautés est visible sur la liste des versions publiées de ZMarkdown.
Beaucoup d’autres petits changements mineurs
Parmi les changements visibles pour les utilisateurs du site, on peut citer la prise en compte de l’information ready_to_publish
lors de l’import d’archives. Cela avait été réclamé par @entwanne, qui pourra donc gagner en productivité ! De plus, seuls les conteneurs marqués comme prêts pour la publication sont désormais exportés.
Il y a aussi des changements essentiellement invisibles pour les utilisateurs. Le plus important est probablement le passage à Django 3, dans sa dernière version à support long, qui nous permet de bénéficier des dernières fonctionnalités et de corrections de sécurité pour quelques années à venir. Le support de la version utilisée par le site jusque là venait de se terminer.
D’autres nombreux changements invisibles améliorent le site dans ses coulisses : refactorisation du code, documentation, meilleurs tests pour le code, mise à jours des dépendances, amélioration de l’environnement de développement (on pense à notre confort de travail !), et bien d’autres !
La liste des commits est disponible sur GitHub, tout comme les notes de version.
Un grand merci à tous les participants à cette version, que ce soit les développeurs, les testeurs, les contributeurs à la documentation ou tout simplement ceux qui trouvent et rapportent des bugs !
État du développement du code de Zeste de Savoir
Pourquoi un an sans version ?
En vérité, il n’y a pas tout à fait eu un an sans version. En effet, il y a 6 versions mineures de la version 30.1 afin de déployer des correctifs de sécurité avec des niveaux variés de criticité : il s’agissait principalement de mettre à jour nos dépendances dans lesquelles quelques failles de sécurité ont été trouvées.
Ensuite, il faut admettre que le code de Zeste de Savoir est relativement stable. Il y a peu de bugs, peu de fonctionnalités manquent pour l’usage quotidien. On peut dire que le projet est sur une vitesse de croisière, avec essentiellement de la maintenance et quelques améliorations mineures (ce qui ne veut pas dire qu’on ne veut plus faire évoluer le site !).
La raison principale de toute cette attente depuis la version 30.1 est que nous attendions d’avoir suffisamment de nouvelles choses à inclure dans cette nouvelle version. Au fur et à mesure des mois, les corrections de bugs et les petits ajustements se sont accumulés jusqu’à devenir assez conséquents (115 commits !) pour nous pousser à faire une nouvelle version. Aussi, la correction des failles de ZMarkdown évoquées plus haut a pris un certain temps et c’était l’élément le plus important à inclure dans une nouvelle version.
Nouveau rythme de publication des versions
Cette expérience de laisser passer un an sans nouvelle version n’a pas été jugée très satisfaisante. Lors de la dernière réunion des développeurs en mars 2022, il a été décidé de passer sur un mode de publication plus régulier, avec des versions tous les quelques mois au plus, même en l’absence de grands changements à présenter.
Cela permettra aux développements d’arriver plus vite en production, ce qui est à la fois utile pour les visiteurs (les corrections de bugs arrivent plus vite) et motivant pour les développeurs (rien de plus satisfaisant que de voir son travail servir !).
Quelques grands chantiers en vue
Si cette année de développement a été relativement calme au niveau des nouveautés, ce n’est pas le cas pour l’avenir ! Les développeurs de ZdS ont des idées (mais manquent de bras, n’hésitez pas à rejoindre l’aventure ) !
Le premier gros chantier envisagé est la réalisation des propositions du groupe de travail sur l’organisation des publications, qui sera un gros chamboulement de la manière dont les publications (articles, tutos, billets) sont organisées actuellement. Le plan actuel est en train d’être tracé dans les grandes lignes ; retrouvez-le projet sur GitHub.
Un deuxième gros sujet est la mise à jour de la recherche sur le site. Le site utilise Elastic Search depuis des années, mais est resté sur une ancienne version. Le changement de version a tout chamboulé et force à repenser tout ce qui avait été fait à ce niveau-là. Le changement serait cependant bénéfique, parce qu’il pourrait être l’occasion d’améliorer la pertinence de la recherche, qui n’est pas au niveau dont on rêverait.
Un autre projet de long terme plus ou moins actif est la refonte de l’interface du site pour le rendre plus clair, plus élégant et plus facile à utiliser. @Amaury et @Moté travaillent en pointillé sur le sujet sous le nom de code Yuzu.
Du mouvement dans l’équipe de développement
Tout ce temps passé s’accompagne aussi de mouvement dans l’équipe de développement. @artragis prend sa retraite, après un désengagement progressif ces derniers temps. @Situphen réduit également son engagement sur le développement de Zeste de Savoir pour se libérer pour d’autres projets personnels. Qu’ils soient ici tous les deux remerciés pour leur engagement !
En reprenant les responsabilités d'@artagris, @philippemilink est désormais chef du projet technique (même si l’équipe arrive à s’auto-organiser et donc il est rare que le chef de projet ait à trancher), en plus de la responsabilité des nouvelles versions et de l’infrastructure du site.
Cette année a vu quelques nouveaux contributeurs, mais l’équipe reste petite, avec peu de contributeurs réguliers. Nous recherchons de nouveaux contributeurs au projet ! Le projet est ouvert à tous les goûts et tous les niveaux de compétences.
Python, Django, nodes.js, CSS, LaTeX, administration système, développement d’API, rédaction de documentation, assurance qualité. Il y a de quoi faire pour tous !
Le projet est très ouvert, même aux profils les moins expérimentés. Nous avons une collection de tickets faciles et sommes disponibles sur le canal #développement-de-zds
de notre serveur Discord. Si vous êtes plus expérimentés, vous pourrez également trouver votre compte, avec des tickets plus ou moins subtils pour rentrer progressivement dans notre base de code. Pas besoin d’être un expert en Python ou Django d’emblée !
En guise de conclusion, à nouveau un grand merci à toutes les personnes qui ont rendu possible la sortie de cette nouvelle version !
Liens utiles
- Dépôt Git de Zeste de Savoir, sur Github.