Zeste de Savoir passe en version 1.7

Tout ce qu'il faut savoir sur cette nouvelle version (et la 1.6)

L'équipe des développeurs de Zeste de Savoir est heureuse de vous présenter la version 1.7 (ainsi que la 1.6), qui vient d'être déployée en production ! Contrairement à la version 1.5, la version 1.6 renoue avec les grosses nouveautés que nous vous laissons découvrir dans la section ci-dessous (quel suspense insoutenable !).

Qu'est-ce qui a été modifié ?

Pas moins de 75 tickets ont été fermés pour la version 1.6 et 79 pour la 1.7, soit au total 154 tickets !

Certes, il y a eu beaucoup de corrections de bugs, mais surtout une grosse nouveauté : la première brique de l'API est disponible avec la publication de l'API des membres. Autre chantier qui a débuté : l'amélioration des performances. Pour l'instant, c'est mineur et peu visible mais certaines pages exécutent déjà beaucoup moins de requêtes SQL qu'en v1.5.

On peut noter l'énorme travail qui a été fait : la version 1.6 a été mise en production moins d'un mois après la version 1.5 ! La 1.7 a, elle, mis plus de temps à sortir (presque un mois et demi après la 1.6) et a subi 5 mises en bêta.

Voici la liste complète des tickets pour la version 1.6 puis la 1.7 :

Rapport pour le jalon Version 1.6 ()

75 tickets sont compris dans ce jalon (0 ouverts et 75 fermés)

Ticket toujours ouvert

Aucun ticket

Ticket fermé

Corrections de bug

Ticket # Titre Label(s)
#2355 Autocomplétion mp validation du formulaire BUG, Front
#2324 Compteur de membres erroné dans la liste des membres Back, BUG, Facile
#2320 L'auto complétion ne fonctionne pas API, BUG, Front
#2317 Throttling partagé entre tous les utilisateurs API, BUG
#2268 Erreur 500 lors de la recherche d'un sujet Back, BUG
#2257 Poser des limites d'utilisation à l'API Back, BUG
#2253 "gulp watch" crash si il y a une erreur javascript BUG, Front
#2234 Impossible de modifier son adresse email Back, BUG
#2233 Impossible de modifier son mot de passe Back, BUG
#2232 Erreur 500 lorsque j'essaie de modifier mon profil Back, BUG
#2231 Plus de pagination dans la liste des membres Back, BUG
#2229 Remplacer caffeinehit/django-oauth2-provider Back, BUG
#2223 Un champ manquant durant la validation des articles BUG, Facile
#2209 Faute d'orthographe qui s'immisce BUG, Facile
#2204 La notification par email est cassee si on s'enregistre par un compte social Back, BUG
#2196 Lien vers l'article faux quand on modifie et répond à un article BUG, Facile
#2193 Boucle de requêtes SQL sur les alertes Back, BUG
#2176 L'avertissement de reponse entre-temps est mal affiche BUG, Facile, Front
#2168 Marquer un sujet comme non résolu enlève l'avertissement de flood BUG, Facile, Front
#2154 L'ajax des +1/-1 n'est pas cohérent en cas d'égalité BUG, Front
#2135 Travis utilise la mauvaise version de npm BUG, Front
#2131 La licence est absente lors de la visualisation d'une partie du tutoriel Back, BUG, Facile
#2126 Minituto, incohérence d'affichage du plan entre la version hors ligne et la version en ligne BUG, Facile, Front
#2125 Typo dans le texte de dépublication. BUG, Facile, Front
#2124 L'historique d'un tutoriel ne nous dit pas quelle version du tuto est en ligne Back, BUG, Facile
#2123 La page d'historique d'un tutoriel propose de télécharger un tuto mais de version inconnue BUG, Facile, Front
#2105 Fil d'ariane lors de l'édition d'un message incohérent entre les mps et les forums BUG, Facile, Front
#2097 Le lien du forum Bug et Suggestion de la page 500 n'est pas le bon BUG, Facile
#2096 la page d'erreur 500 manque de certaines informations BUG, Facile, Front
#2090 En mode connecté, on fait une requête pour CHAQUE MP RECU ! Back, BUG
#2089 1 requête par membre pour en afficher les infos (toute pages) Back, BUG
#2075 Tentative de signalement de faute, et rejet Back, BUG, Facile
#2073 Un utilisateur peut s'écrire à lui même Back, BUG
#2066 Il n'ya pas de ligne de césure entre le texte et la conclusion BUG, Facile, Front
#2030 Le partge pas mail d'un article/tutoriel ne fonctionne pas BUG, Facile, Front
#2000 LaTeX et la balise « secret » ne passent pas lors de la prévisualisation BUG, Front
#1973 Les boutons d'actions dans la sidebar ne sont pas ajaxifiés sur mobile BUG, Front
#1936 Utiliser le dropdown désactive les modales BUG, Difficile, Front
#1875 Lien de telechargement de la doc de solr down BUG, Documentation
#1673 Affichage des tutoriels en beta depuis un profil membre est cassé BUG, Front
#1477 Les titres des tutoriels et articles long sont invisibles BUG, Facile, Front

Evolutions

Ticket # Titre Label(s)
#2374 Afficher son profil par l'API sans spécifier un identifiant API, Evolution
#2278 Vise à rendre plus explicite le terme LS Evolution, Facile
#2219 Progdupeu.pl a changé de nom de domaine et d'hébergement Git Evolution, Facile
#2197 Ajout du support de Django pour landscape.io Back, Evolution
#2179 Les adresses emails des pages de contacts sont capturables par les bots Evolution, Facile, Front
#2173 Un badge pour la santé du code Documentation, Evolution
#2170 Transférer le reste de la documentation dans le dossier Sphinx Documentation, Evolution
#2127 Mise à jour de gitpython Back, Evolution
#1738 Réorganisation du code SASS Evolution, Front
#1724 Versionner les fichiers statiques Back, Evolution, Facile, Front
#1718 Nettoyer le fichier « scss/_icons.scss » Evolution, Facile, Front

Non défini

Ticket # Titre Label(s)
#2373 Handles CORS for the API. API
#2372 Improves documentation of the api Documentation
#2359 Le wiki de github n'est pas à jour Documentation, Facile
#2356 La bêta n'a pas d'IPv6 Infra
#2276 Possible de se sélectionner pendant l'autocomplétion Front, Régression
#2249 Rendre les messages d'erreurs moins agressifs Facile, Front
#2241 La branche dev est cassée Régression
#2230 L'autocompletion ne fonctionne plus Front, Régression
#2211 fix #2209 : Correction orthographique v2
#2207 Nettoyage des MP Back
#2206 Mettre à jour la page "A propos" Facile
#2188 Améliorations du code (via les erreurs de landscape.io) Back, Facile
#2171 Augmentation du taux de couverture des tests Back
#2164 Problème de typo dans la doc Documentation, Front
#2142 Petite faute lors de la validation de l'inscription Facile, Front
#2136 Améliore la documentation front
#2134 Impossible de selectionner les articles d'une sous catégories Facile, Front
#2122 L'affichage des tags est cassé sur l'historique d'un tuto Facile, Front, Régression
#2061 Met à jour l'année Facile, Front
#2010 Documenter l'installation et la configuration de Sorl Documentation
#2002 Les tests django écrasent les données !
#1849 docs : git pre-hook et autres instructions sur OSX Facile, Infra
#1510 La doc de déploiement de ZdS sur le serveur est outdated Documentation

Rapport pour le jalon Version 1.7 ()

79 tickets sont compris dans ce jalon (0 ouverts et 79 fermés)

Ticket toujours ouvert

Aucun ticket

Ticket fermé

Corrections de bug

Ticket # Titre Label(s)
#2510 Relase 1.7 : le slug dans un mp incorect Back, BUG, Facile
#2501 Impossible de contacter l'ensemble des auteurs d'une publication via l'action du menu latéral Back, BUG, Régression
#2492 Impossible de cliquer sur une conversation privée dans les notifications BUG, Front
#2491 La liste des derniers sujets créés dans le profil sont mal affichées BUG, Front
#2488 Page d'aide des auteurs : le compteur a disparu Back, BUG
#2487 [version 1.7] La bannière "cookies" disparaît quand on clique sur "en savoir plus" BUG, Front
#2423 URL des messages privés incorrecte Back, BUG
#2394 Il est possible de créer un topic/mp sans titre apparent Back, BUG, Front
#2366 Doublon dans la sidebar d'édition d'un MP BUG, Facile, Front
#2364 Saut à la ligne avec la soumission par CTRL+Enter BUG, Front
#2337 Icone "Sujet résolu" écrasé par le texte dans la liste des derniers sujets crées BUG, Facile, Front
#2336 Les titres de MPs sont coupés alors qu'il y'a de la place Back, BUG, Facile
#2332 Liens comptes sociaux footer - version mobile BUG, Front
#2326 Problème de typo dans la sanction de type lecture seule BUG, Facile, Front
#2325 Le nom de l'association est manquant dans le mail de demande d'adhésion BUG, Front
#2321 Erreur 500 lors de l'édition d'un profil Back, BUG
#2319 L'extrait d'un message masqué est affiché sur la page "Sujets créés par…" Back, BUG, Facile
#2305 Il est possible d'envoyer un MP à l'auteur externe Back, BUG
#2303 L'affichage de L'Ajax sur les +1/-1 ne colle pas a la réalité BUG, Front
#2301 Impossible de voir le profil de certains membres avec des caractères particuliers Back, BUG
#2300 Un membre non activé n'a pas de badge et une sidebar fausse Back, BUG
#2299 Il est possible d'envoyer un MP a un membre qui n'a pas encore activé son compte Back, BUG
#2294 API : paramètres pour le ban mal nommés API, BUG, Documentation, Facile
#2293 Problème d'alignement dans les filtres du besoin de l'aide aux auteurs BUG, Facile, Front
#2289 Problème d'affichage de "suivant" dans l'aide aux auteurs sur mobile BUG, Facile, Front
#2287 Problème de taille entre les boutons connexion et inscription sur mobile BUG, Front
#2275 Incohérence sur le nombre de messages d'un membre Back, BUG, Facile
#2178 Icones de filtres de type d'articles changent de manière incohérente BUG, Facile, Front
#2177 Erreur 500 lors de la création malencontreuse d'une réponse a un mp Back, BUG, Facile
#2115 Les +1/-1 ne sont pas supprimé lors de la désinscription Back, BUG
#2111 Erreur 500 lors du téléchargement d'un tutoriel inexistant Back, BUG, Facile
#2108 Erreur 500 lors de l’édition malencontreuse d'un tutoriel Back, BUG, Facile
#2107 Erreur 500 lors de l’édition malencontreuse d'un article Back, BUG, Facile
#2106 Impossible d'ajouter un auteur pendant l'édition d'un article BUG, Facile, Front
#2104 Erreur 500 lors de l’édition malencontreuse d'un commentaire d'article Back, BUG, Facile
#2103 Erreur 500 lors de l’édition malencontreuse d'un commentaire de tutoriel Back, BUG, Facile
#2102 Erreur 500 lors de l'edition malencontreuse d'un message de mp Back, BUG, Facile
#2100 Erreur 500 dans la zone de validation d'un article Back, BUG, Facile
#2099 Erreur 500 dans la zone de validation de tutoriel Back, BUG, Facile
#2098 Erreur 500 lors de l'edition malencontreuse d'un message de forum Back, BUG, Facile
#2095 Erreur 500 lors de la création d'un topic avec un mauvais paramètre Back, BUG, Facile
#2081 Editer un message par du vide valide le message et garde l'ancien Back, BUG
#2079 Le topic de beta ne s'en va pas avec le tutoriel Back, BUG
#2074 Le compte anonyme est sanctionnable BUG
#2054 Le site n'est pas compatible IE9 BUG, Facile, Front
#2052 Incohérence dans l'affichage des licences d'un tutoriel/article Back, BUG, Front
#2049 Problème de 404 dans la navigation par tag Back, BUG
#2013 Lien d'adhésion toujours présent même si abence d'association BUG, Facile, Front
#1925 Catégories du forum qui se superposent BUG, Front
#1913 Des forums en double Back, BUG
#1817 Interprétation des formules de MathJax dans les formulaires Back, BUG
#1784 Le nom du site n'est pas présent dans les mails de MP Back, BUG, Facile
#1706 Impossible de poster une image dans une galerie depuis son mobile BUG, Front
#1640 Adresse email avec des caractères spéciaux provoque des 500 avec gravatar Back, BUG

Evolutions

Ticket # Titre Label(s)
#2398 Refactorisation des vues du module des MPs Back, Evolution
#2387 Permet d'installer un plugin de recherche Evolution, Front
#2363 Soumettre un formulaire avec CMD+Enter Evolution, Front
#2334 Contraste sur les boutons de stylisation d'un message Evolution, Front
#2264 Améliore le design de la documentation de l'API Evolution, Front
#2113 Le formulaire de demande de reinitialisation n'accepte pas les emails Back, Evolution, Facile
#2048 Confirmer la fermeture d'un topic Evolution, Facile, Front
#2041 Ajaxification du bouton "cette réponse m'a aidée" Evolution, Front
#1990 Mettre un lien pour partager sur Diaspora* Evolution, Front

Non défini

Ticket # Titre Label(s)
#2521 On ne distingue plus les sujets non lus et les sujets lus dans la sidebar Front, Régression
#2486 [version 1.7] plus moyen de cliquer sur un pseudo dans le forum Régression
#2477 Correction du test en erreur
#2455 deploy.sh: Charge nvm que s'il existe + compatibilité npm < 2.x Facile, Front
#2446 La v1.7-RC1 ne déploie pas Régression
#2441 Compile les code C sans optimisation
#2440 Signaler une faute dans un article
#2418 Corrige une erreur dans Gulpfile.js
#2416 Suppression d'un lien en double dans un template
#2392 Les sujets privés ne sont pas si privés que ça Back, Facile, Régression
#2362 Suppression d'un fichier inutilisé Back
#2361 Petite correction d'URL dans la doc Documentation
#2358 Le mot wget est présent deux fois dans la doc solr
#2304 Libellé Administration réduit dans la sidebar Front, Régression
#2291 Mise a jour markdown Markdown
#1528 Sommaire vide sur les tutoriels en beta/en rédaction Back, Régression

L'API des membres, principale nouveauté

L'API des membres permet, comme son nom l'indique, de s'interfacer facilement et naturellement avec Zeste de Savoir – ou plus exactement avec le module des membres de Zeste de Savoir.

Toute la documentation est disponible :

Ceux que ça intéresse pourront toujours se reporter aux spécifications d'origine décrites dans la ZEP-17.

Comme de bien entendu, qui dit API dit applications, et qui dit applications dit "autorisation", parce qu'autoriser n'importe quoi à accéder à cette API, ce serait prendre des risques inconsidérés. Vous pouvez donc demander une clé d'API ici.

À noter que tout ça sentait encore un peu la peinture fraîche en version 1.6 :

  • la documentation n'avait pas encore le design de Zeste de Savoir ;
  • elle n'est disponible qu'en HTTP – le bug qui l'empêche de s'afficher en HTTPS est un bug connu de Swagger (l'outil qui génère une documentation interactive) ;
  • il manque 2 URL dans la doc (affichées toutefois sur une instance locale, allez comprendre) : GET /api/membres/ et POST /api/membres/ ;
  • une URL est affichée alors qu'elle n'existe pas : PATCH /api/membres/.

La version 1.7 fait mûrir un peu cette documentation avec l'intégration du design de Zeste de Savoir !

Et parce qu'une API seule ne sert pas à grand-chose (même si elle est utilisée en interne), Eskimon a lancé un sujet sur les utilisations les plus originales de cette API. Certains membres se sont donc mis à faire des graphiques en jouant avec les dates d'inscription et les dernières connexions !

Les ZEPs

ZEP-25 : catégorisation des articles et tutoriels

Du fait de la proximité de cette version avec la précédente, les membres n'ont pas eu beaucoup de temps. Toutefois, Dominus Carnufex nous propose de revoir la catégorisation des articles et des tutoriels.

ZEP-04 : Nouvelle page d'accueil !

La ZEP-04, concernant la présentation de la future nouvelle page d'accueil, est enfin passée au stade de développement ! Les deux contributeurs principaux, à savoir Situphen et Sandhose, dégagent doucement du temps pour pouvoir délivrer cette nouvelle page le plus tôt possible. Nous leur souhaitons bon courage en tout cas puisque cette ZEP est très demandée depuis un petit moment maintenant.

ZEP-12 : refonte du principe des tutoriels et articles

La ZEP-12 n'apporte pas forcement beaucoup de changements visuels, mais c'est tout le moteur des tutoriels et des articles qui a été revu. En effet, grâce à ce développement les incohérences de jeunesse entre articles et tutoriels vont disparaître, rendre la maintenance plus propre et simple pour les développeurs et le tout va permettre de casser la structure actuelle des tutoriels pour permettre de concevoir votre propre structure ! C'est un travail de longue haleine qui touche doucement au but, au grand soulagement de pierre-24 et artragis. Bravo les gars !

ZEP-05 : Refonte du traitement markdown pour l'export

Via la ZEP-05 ce sont les exports de contenu (tutos et articles) dans des formats hors-ligne (pdf, ebook…) qui sont concernés. Notre fantôme adoré, Kje, travail à améliorer l'outil gérant ces exports et rendre le tout plus flexible, notamment pour adapter les balises propres à ZdS. Dans une étape suivante, des passionnés de $\LaTeX$ seront mis à contribution pour aider à la mise en forme du contenu. Si vous avez des compétences dans ce dernier domaine, sachez que vous pourrez aider Kje avec votre expertise. Toutes les aides sont les bienvenues sur toutes les ZEP, ne l'oubliez pas.

Les problèmes récents

Vous êtes nombreux à l'avoir remarqué mais Zeste de Savoir a subi quelques perturbations ces derniers jours et vous avez le droit de savoir ce qu'il en retourne. Le mercredi 15 avril, le site a été inaccessible puis fortement ralenti pendant environ 3 heures. Au vu de la proximité de ces perturbations et de la mise en production de la version 1.7 de Zeste de Savoir, l'équipe technique pensait naturellement que cette dernière version en était la cause. Quelques recherches ont été faites et un bug dans les messages privés aurait pu causer ces ralentissements. En effet, la pagination n'était plus cohérente et certains messages privés contiennent plusieurs centaines de messages. Cela a causé une surcharge du serveur et a entrainé son plantage. Une correction a été rapidement proposée mais force a été de constater que le serveur souffrait toujours des lenteurs.

Alors d'où venait le problème ? L'équipe technique s'est tournée vers le serveur et son hébergeur. Avec l'aide des administrateurs systèmes de Zeste de Savoir, nous avons remarqué quelques métriques incohérentes qui pouvait nous laisser penser que la cause pouvait bien provenir de notre serveur, et plus précisément d'OVH, notre hébergeur. Après contact avec OVH, nous avions la confirmation que les perturbations provenaient bien de chez OVH suite à certaines manipulations de leur part sur notre VPS. Bilan des courses :

  1. Nous nous sommes lancés dans la recherche d'un nouvel hébergeur (lien).
  2. Gandi propose une formule d'hébergement pour soutenir certains projets (lien).

Pour l'instant, tout est revenu à la normale mais nous ne sommes pas encore à l'abri d'un nouveau problème du même genre. Nous restons donc vigilants et nous recherchons activement une autre solution.

Les choses à venir

Vous souhaitez contribuer à ZdS ?

Si vous avez l'intention de vouloir contribuer au support technique de Zeste de Savoir, c'est le bon moment puisque l'organisation de la documentation du projet open-source a été revue et le contenu a pris de la masse !

Teasing

Spoilers en vue !

Dans la prochaine version, nous passerons à Django 1.7 ! Nous travaillons bravement sur la migration vers Django 1.8 ainsi que le changement de Python 2 à Python 3 qui marquera alors le passage à la version 2.0 de la plateforme. Pour vous les visiteurs, rien de visuel ne changera mais d'un point de vue technique, c'est récupérer un énorme retard que nous avions pris sur les dernières versions des technologies que nous utilisons quotidiennement.

Le mot de la fin

La version 1.6 a apporté 255 commits et a modifié 382 fichiers (7,640 additions et 7,399 suppressions) ! La version 1.7 est moins conséquente avec 226 commits et 145 fichiers modifiés (3,354 additions et 2,146 suppressions).



26 commentaires

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte