Depuis le mois de décembre et la sortie de la version 211 – principalement orientée sur la correction de bugs –, les développeurs ont été actifs pour améliorer votre expérience d’utilisation sur le site. Voici leur histoire2.
- Poulets, featuring elasticsearch
- Aperçu, meilleur suivi du site, améliorations diverses
- Cachez cette tribune que je ne saurais voir
- Et de nouveaux développeurs
Poulets, featuring elasticsearch
Vous le savez sûrement, ZdS possède un moteur de recherche. Ce moteur vous permet de trouver des informations sur tout le site, forum comme contenus. Pourtant, plus le site grandissait, plus nous nous sommes rendu compte que les résultats avancés par le moteur étaient particulièrement peu pertinents.
Ce manque de pertinence nous avait fait prendre une décision qui n’a pas manqué d’être remarquée sur les forums : la barre de recherche (et Clem qui lui est associée) avaient été masquées afin de ne pas gâcher l’expérience d’utilisation des nouveaux arrivants.
Nous avions donc un grand chantier qui avait pour but d’améliorer cet outil névralgique du site : l’expérience de l’ancien staff du Site du Zéro montrait qu’une part non négligeable des utilisateurs l’utilisent pour trouver une réponse à leurs questions !
C’est pierre_24 qui s’y est collé. Et il a compris que la principale raison de l’incohérence des résultats était notre pile technologique. En effet, nous avions choisi, aux commencements du site, d’utiliser le combo Solr et Haystack car ils étaient facile d’accès et éprouvés, Haystack étant une technologie permettant de lier une base de données MySQL et Solr.
Néanmoins, avec l’arrivée de la ZEP-12, nous avions éprouvé plusieurs difficultés à lier efficacement les modèles des contenus (qui sont plutôt basés sur git que MySQL) et Haystack. De plus même après le travail colossal de Hugo pour adapter l’analyse de Solr à notre utilisation (français/HTML…) et booster les éléments les plus importants de nos données, le système avait bien du mal à remonter les données qui vous étaient utiles. Ainsi, pierre_24 a choisi d’utiliser une des technologies les plus efficientes du moment quand on désire un moteur de recherche : Elasticsearch.
Les curieux pourront aller se renseigner via un article de firm1 qui traite d’une version antérieure à celle que nous utilisons tant le développement du moteur est actif ! Et après un travail titanesque visant à remettre à plat toute la recherche, avec l’aide de sandhose pour que la page de recherche soit bien plus lisible, les résultats sont là, et Clem est de retour sur la page d’accueil.
Je ne sais pas pour vous, mais je pense que notre pingouin-chimiste-quantique-belge1 mérite bien un smoothie !
Cette 22ème version de ZdS se nomme donc « poulets », parions qu’il s’agit d’un régionalisme helvète… ou pas.
-
Seule une erreur s’est glissée dans cette énumération. La retrouverez-vous ? ↩
Aperçu, meilleur suivi du site, améliorations diverses
La rédaction de contenus
Grâce à un gros travail d’Anto59290, la prévisualisation des contenus a été fortement améliorée. Vous pouvez maintenant prévisualiser tout type de contenu réalisé en Markdown (y compris les introductions et conclusions de contenus ainsi que la biographie de votre profil) sans rechargement de page !
De nombreux projets sont également à venir. Tout d’abord en ce qui concerne l’interface de rédaction en elle-même, artragis est en train de préparer une interface d’édition des chapitres (ou des contenus dans le cas d’articles ou de « mini-tutos ») où les sections ne seront pas séparées. Anto59290 prépare quant à lui une interface de fusion dans le cas d’un conflit d’édition.
Enfin, d’autres améliorations devraient également arriver. Citons entre autres une nouvelle page de présentation des contenus, une notation communautaire pour permettre de mieux trier les contenus et une interface de statistiques pour les auteurs.
Un meilleur code pour faciliter le développement
Le code a été pas mal trituré pour le rendre encore et toujours plus maintenable. De même, pour améliorer le suivi des bugs, l’intégration à Sentry a été largement améliorée.
Et d’autres améliorations moins importantes
Comme toute nouvelle version, celle-ci ajoute quelques améliorations moins importantes, mais également très utiles. Tout d’abord, une première nouveauté est le temps de lecture calculé automatiquement sur les contenus.
Ensuite, il est maintenant possible de marquer toutes ses notifications comme lues. Cela peut vous être utile si vous vous absentez pendant un certain temps et que vous êtes submergé de notifications.
Enfin, une dernière amélioration est la possibilité pour le staff de marquer des contenus comme obsolètes. Cela permet de conserver ces contenus comme archives, mais de rester transparent pour éviter que des lecteurs ne se retrouvent piégés.
Cachez cette tribune que je ne saurais voir
Par treize fois tu publieras
Il fut un temps où les fonctionnalités majeures de ZdS étaient décrites dans des « ZdS Enhancement Proposal » – aka ZEP. Si depuis la communauté a, à l’unanimité, décidé leur abandon, la treizième ZEP avait pour but de fournir à la communauté un nouvel espace d’expression. Nommé « tribunes libres », cet espace s’inspire des journaux de LinuxFr.org.
Durant l’été 2016, gustavi, second sysadmin du site s’est lancé dans le développement desdites tribunes et c’est en novembre que les tests du code ont commencé.
Et la loi de Pareto nous a frappés de plein fouet. Bien que les bugs détectés étaient assez peu nombreux, leur correction a pris du temps. On peut y ajouter qu’au débogage, plusieurs débats sont venus s’ajouter pour s’assurer que les tribunes étaient bien comme la communauté l’attendait.
Et c’est aussi là que les autres gros travaux commencèrent pour le moteur de recherche, l’interface de rédaction, etc. Si on ajoute l’indisponibilité de gustavi (qui, derrière ce spaceinvader cache un humain qui voyage beaucoup ), nous avons pris du retard. La v22 devenant trop grosse, les tribunes n’y sont pas incluses. Mais rassurez-vous, elles viendront. Nous voulons juste nous assurer qu’elles seront conformes à vos attentes.
Ping the world, make it better place
En parlant de tests et de volonté de vous fournir un site aux petits oignons, il est une fonctionnalité que nous vous préparons depuis un moment : le ping via une mention telle que @artragis
par exemple.
Cette fonctionnalité est apparue durant la fin du développement de la v21, version qui avait surtout apporté un gros débug du système de notifications. Comme nous avions jugé que la stabilisation du système était trop récente et que les tests du ping étaient trop peu développés, victor a choisi de ne pas activer la fonctionnalité.
Et la v22 fut l’occasion de faire ces tests. Malheureusement, la RC1 a révélé quelques problèmes. Bien qu’ils soient faciles à corriger, nous avions considéré l’arrivée des diverses améliorations contenues dans cette version comme prioritaire sur le ping. De ce fait, le ping reste désactivé et devrait arriver dans la v23 (sauf problème bloquant).
Et de nouveaux développeurs
Parce que sans eux nous n’aurions pas tout ça, il est important de remercier victor pour son suivi de la release, mais aussi les nouveaux développeurs qui sont arrivés sur le projet entre novembre et décembre 2016. C’est ainsi grâce à l’activité et la réactivité de GCodeur, Anto59290 et AmarOk que le développement a pu reprendre une activité importante après les inquiétudes levées par Andr0.
Après une période de plus faible disponibilité, le trio de la ZEP-12, pierre_24, artragis et Hugo sont de nouveau prêts à vous fournir de nouvelles fonctionnalités. Et avec l’appui de Sandhose et Abdelazer au front, ça devrait être très beau.
Si vous souhaitez vous aussi contribuer au développement du site, n’hésitez pas à nous rejoindre. La procédure d’installation a été grandement simplifiée et les tickets faciles sont répertoriés comme tels. Notez par ailleurs que le framework Django, que nous utilisons, est facile à appréhender et en grande partie documenté en français.
Pour rappel, un thème sombre est disponible sur nos forums.
En résumé, c’est une nouvelle version majeure qui arrive sur le site et elle sera forcément suivie de plusieurs autres car nous avons dans les bacs de très belles fonctionnalités, souvent déjà codées mais qui doivent encore passer l’épreuve des tests. En attendant, si vous aimez lire les rapports, voici le changelog complet de la version 22 :
Rapport pour le jalon v22
70 tickets sont compris dans ce jalon (0 ouverts et 70 fermés)
Tickets fermé
Corrections de bug
Ticket # | Titre | Label(s) |
---|---|---|
#4176 | Fix align on Suivre button (2) | C-Front, S-BUG |
#4171 | Répare le compte de caractères des contenus | C-Back, QA svp, S-BUG |
#4169 | Corrige le titre du message de résolution d’alerte | C-Back, S-Régression |
#4162 | Fix un test | C-Back, S-Régression |
#4161 | Les sujets n’apparaissent plus en double pour les membres de plusieurs groupes | C-Front, S-Régression |
#4152 | Correction de style dans le JS de la prévisualisation | C-Front, S-BUG |
#4144 | bump: gulp-sourcemaps@2.2.2 | C-Front, S-Régression |
#4138 | Corrige #4093 | C-Back, S-Régression |
#4108 | Fixe 4106 : plus d’erreur 404 en marquant ses notifications comme lues | C-Back, S-BUG |
#4099 | fix(admin): Topic admin | C-Back, S-Régression |
#4086 | Corrige le choix de type de recherche | C-Front, S-BUG |
#4077 | 4075 reordonne les membres | C-Back, S-BUG |
#4071 | Corrige test galerie | C-Back, S-BUG |
#4047 | Empêche un membre non staff d’en bannir un autre | C-Back, S-BUG |
#4043 | Vérifie qu’un membre non staff ne peut pas éditer le profil d’un membre | C-Back, S-BUG |
#4042 | Règle les pbs de docs | C-Documentation, S-BUG |
Évolutions
Ticket # | Titre | Label(s) |
---|---|---|
#4187 | Permet de marquer un contenu comme obsolète | C-Back, S-Évolution |
#4172 | Utilise update pour la désinscription | C-Back, S-Évolution |
#4149 | Correction de la documentation sur les MP | C-Documentation, S-Évolution |
#4147 | Correction de la documentation sur les membres | C-Documentation, S-Évolution |
#4145 | Correction de l’orthographe de la doc sur les forums | C-Documentation, S-Évolution |
#4142 | Enlève la possibilité de nommer un membre super-utilisateur depuis l’interface de promotion | C-Back, S-Évolution |
#4109 | Améliorations de la page Pseudo et Email | C-Back, S-Évolution |
#4096 | Recherche via Elasticsearch | C-Back, QA svp, S-Évolution |
#4095 | Titre du module d’alertes dans l’en-tête | C-Front, S-Évolution |
#4093 | Fix 2743 : Ajout du temps de lecture aux contenus publiés | C-Back, S-Évolution |
#4088 | Nom du site dans l’aide pour les licences | C-Front, S-Évolution |
#4085 | Modification du format de la date de publication des contenus pour les petits écrans | C-Front, S-Évolution |
#4081 | Ajout des tooltips manquants (menu dropdown et forum) | C-Front, S-Évolution |
#4080 | Fix 4008 : Ajoute un bouton au menu d’envoi des MP | C-Front, S-Évolution |
#4079 | Permet de marquer ses notifications comme lues | C-Back, S-Évolution |
#4076 | sentry releases | C-Back, C-Infra, S-Évolution |
#4046 | Titre de la page de modification du profil | C-Front, S-Évolution |
#4044 | Corrige le contenu du topic de mise en bêta | C-Front, S-Évolution |
#4036 | Suivi des contenus par mail | C-Back, S-Évolution |
#4021 | API : ajout de last_visit | C-API, C-Back, S-Évolution |
#4016 | Ajoute un bouton pour revenir au sommaire | C-Front, S-Évolution |
#4005 | Crée un paramètre pour l’intervalle entre deux mises à jour de dernière visite | C-Back, S-Évolution |
#3985 | add munin graph for tribunes | C-Infra, S-Évolution |
Non défini
Ticket # | Titre | Label(s) |
---|---|---|
#4189 | Utilise permission_required pour la gestion des droits – module pages | |
#4188 | Pysolr enlevé des dépendances | C-Back, S-Refactorisation |
#4182 | Utilise permission_required pour la gestion des droits – module member | C-Back, S-Refactorisation |
#4180 | Correction de la documentation sur les contenus | C-Documentation, S-Refactorisation |
#4175 | README.md mis à jour pour Elasticsearch | C-Documentation |
#4167 | Ne supprime pas les notes de karma et les sanctions par un modérateur qui se désinscrit | |
#4166 | Corrige une faute d’orthographe sur le modèle Forum | C-Back, S-Refactorisation |
#4165 | Mise à jour de Pillow | C-Back |
#4163 | [Code style] Dernier oublis et ajout de flake8-quote dans la stack dev | C-Back, S-Refactorisation |
#4159 | [Code-style] Uniformise les quotes -> single-quote - module utils | C-Back, S-Refactorisation |
#4158 | [Code-style] Uniformise les quotes -> single-quote - module member | C-Back, S-Refactorisation |
#4155 | Corrige l’orthographe du topic de mise en bêta | C-Front |
#4148 | Correction de la documentation sur les galeries | C-Documentation |
#4146 | Fix 3881 : Ajout des classes d’admin pour certains modèles | C-Back, QA svp |
#4141 | Pluriel sur le nombre de publications | C-Front |
#4140 | [Code-style] Uniformise les quotes -> single-quote - module tutoriels | C-Back, S-Refactorisation |
#4139 | [Code-style] Uniformise les quotes -> single-quote - module forums | C-Back, S-Refactorisation |
#4135 | [Code-style] Uniformise les quotes -> single-quote - module notification | |
#4131 | [Code-style] Uniformise les quotes -> single-quote - module mp | |
#4130 | [Code-style] Uniformise les quotes -> single-quote - module search | |
#4129 | [Code-style] Uniformise les quotes -> single-quote - module pages and munin | |
#4128 | [Code-style] Uniformise les quotes -> single-quote - root files | |
#4127 | [Code-style] Uniformise les quotes -> single-quote - module Middlewares | |
#4121 | Fix l’envoi des mails pour les MPs | |
#4112 | [Code-style] Uniformise les quotes -> single-quote - module Gallery | |
#4111 | [Code-style] Uniformise les quotes -> single-quote - module "Featured" | |
#4102 | Upgrade DRF | C-API, C-Back |
#4089 | Renommage de get_alerts_posts_count en get_active_alerts_count | C-Back, S-Refactorisation |
#4087 | 3237 Refonte du preview de plusieurs modules (biographie et contenus) | C-Back, S-Refactorisation |
#4037 | [Py3k]: utilise str | C-Back, S-Refactorisation |
#3992 | Add test to user model | C-Back |