ZEP-12 : refonte du principe des tutoriels et articles

Avec pour base atomique ... l'extrait

Le problème exposé dans ce sujet a été résolu.

Je suis pas sûrs d'avoir compris les limites que vous imposez donc je vais poser une question en utilisant le vocable actuellement utilisé pour les big-tuto : est ce qu'il est possible de faire un tuto qui contient d'abord un chapitre seul puis 3 parties qui contiennent chacunes plusieurs chapitres ?

Je pose ca parce que ce serait pratique. Par exemple pour un big tuto ou l'intro est trop grosse pour rentrer dans l'extrait d'intro mais qui est trop petite pour etre découpé en plusieurs chapitre est un cas courant. Dans les livres ou gros contenu publié il n'est pas rares de voir des chapitres placé "hors de parties". C'est particulièrement vrai en début ou fin de document.

Kje

C'est ce que j'ai tenté d'expliqué dans la partie "hybride".

Coucou amis de la ZEP-12. La zep-05 fait suis son petit bonhomme de chemin. La ZEP-05 comprend un module qui en gros, prend en entrée le fichier manifest.json (+ les infos en base) et génère le rendu (pdf uniquement actuellement) correspondant. Donc nos ZEP sont liés. Actuellement j'ai validé le principe sur le format actuel. J'arrive à un point ou je compte bien commencer à l'introduire dans le code au moins pour la génération des PDF pour les articles. Mais comme ce module devra, du coup, être refactoré quand la zep-12 et sa nouvelle organisation arrivera, j'aimerai savoir où vous en etiez. En gros si la zep-12 est proche de sa mise en prod, j'avancerai sur le reste en attendant. Si par contre elle n'est pas prévu avant plusieurs mois, je vais peut être envisager de commencer a merger et reporter l'adaptation quand la zep-12 sera prête.

Je me doutais que c'etait un peu entre les deux :-/ Bon je vais voir. Ça aiderai a la motivation de commencer la mise en prod module par module mais la logique voudrait que j'avance sur le reste tant que la zep-12 n'est pas en prod.

Si par contre elle n'est pas prévu avant plusieurs mois, je vais peut être envisager de commencer a merger et reporter l'adaptation quand la zep-12 sera prête.

Par de ce principe. Comme le dit artragis, il leur faudra au minimum un mois (prend large et compte 2 puisque nous sommes en info et sur notre temps libre), une revue de code tellement colossale que ça va prendre beaucoup beaucoup de temps (compte plusieurs semaines) et une migration des anciens tutoriels vers les nouveaux qui n'est pas du tout en place et où il va falloir sérieusement bosser dessus pour avoir quelque chose de parfait.

Je me suis rappelé d'un point concernant la gestion des urls des contenus en passant sur ce topic.

Est-ce que dans le fonctionnement de la ZEP-12 c'est prévu de gérer le cas suivant :

  • on publie un tutoriel avec un titre "mon titre"
  • par la suite on modifie le titre par "mon super titre"

Est-ce que l'ancienne url redirigera encore vers la nouvelle url ? Car lors de la première publication, le tutoriel/article sera partagé un peu partout ailleurs, il faudrait que si le titre du tutoriel change, les liens partagés ailleurs restent valides.

Est-ce que l'ancienne url redirigera encore vers la nouvelle url ? Car lors de la première publication, le tutoriel/article sera partagé un peu partout ailleurs, il faudrait que si le titre du tutoriel change, les liens partagés ailleurs restent valides.

ça fait partie des choses qu'on doit demander :

  • est-ce qu'une fois un tutoriel publié on accepte les changements de slugs?
  • ou bien est-ce qu'on crée un système de redirection?

Ça va même plus loin: dans le topic en question, on voit clairement que le système accepte n'importe quoi comme slug, du moment que le pk est bon (rendant de là même le slug inutile, il est juste là pour décorer). Mais ici, on passe sur un système ou à part pour le premier niveau, le slug est capital, puisqu'on a plus de pk pour les autres. Alors autant pour le premier niveau je peux encore concevoir qu'on puisse mettre en place un système de redirection, autant pour les autres, ça va être difficile.

Voilà voilà.

PS: à l'heure actuelle, c'est le bon slug sinon rien. Ce qui, et rapport de bug à artragis et moi-même, pose un petit souci quand on voyage dans l'historique et que par exemple le titre d'un tutoriel ce met d'un coup à changer ^^

Un petit point sur l'avancement de la ZEP12

Fonctionnalité/élément de code Etat Testé unitairement Commentaire
Modèle de données Fini Oui Tout a été fait en fonction de ce qui avait été dit dans le topic de conception
ZEP 3 Fini Partiellement On est compatible avec la dernière version théoriquement
Création d'un tutoriel/article Fini Oui
Mise en validation Refactoré, manque la validation partielle Non On garde le même process qu'avant, la validation partielle arrive
Mise en béta Fini Oui Les articles ont leur béta
Des galleries pour les articles Codé En cours
Importation En cours Non Importation d'un .tuto, ou d'un markdown. Permet l'édition hors ligne. Quand on importe une archive pour mettre à jour, de nouveaux extraits/sections peuvent apparaître ou être enlevés
Déplacement des éléments En cours /!\ Partiellement Désormais, nous supportons le déplacement dans un autre conteneur, la fusion de deux contenus n'est pas prévue
Publication Pas commencé Pas commencé On va prégénérer le HTML pour que le cache fonctionne
Exportation des anciens contenus pas commencé Pas commencé Cela devrait se faire sous la forme d'un script
Documentation En cours N/A Pas mal de contenu documentaire a été rédigé un peu partout, faut juste tout rassembler. Ajoutons aussi que nous avons commenté notre code comme des malades, notamment sur la docstring
Signaler une correction Pas commencé Pas commencé Pour compatibilité avec les choses plus récentes
Redirection des URLs pas commencé Pas commencé Deux cas : la compatibilité, et le changement de slug. La question a été posée au dessus, on attend un DTC pour décider quelque chose
Suppression du tuto Fini Oui Suppression des sections et extraits aussi.
Articles avec plusieurs extraits Codé Non Un article peut avoir plusieurs extraits mais pas de section
Historique du tuto Codé Non

Voilà ce qu'il y a à dire actuellement, je posterai régulièrement un tableau similaire avec des /!\ quand on a du nouveau

+4 -0

Attention que,

  • La suppression des tutos (et en fait de tout élément) est testée unitairement, promis juré ;)
  • L'historique du tuto, c'est un bordel sans nom, et y'a une erreur comme je l'ai dit au dessus
  • Y'a une ou deux bricole avec la bêta (entre autre, quand on met un article en bêta, ça dit toujours "tuto").
  • De manière générale, il va falloir qu'on discute à un moment de l'exportation des anciens contenus. Parce que si on veut utiliser les urls /tutoriels/ et /articles/, on ba se retrouver avec un gros (!) problème: on avait deux pk différents, on doit avoir le même. Autrement dit, si un tuto avec un pk de 1 et un article avec un pk de 1, il va falloir se débrouiller pour renvoyer au bon truc. Et ajouter un champ old_pk ne va pas tout à fait aider: quoi appeller quand ? Quoi rediriger quand ? Là, sur le coup, on va au devant de groooooooooos ennuis ^^
+0 -0

En fait pour les redirections, il y aura deux cas :

  • le premier : on est dans un big tuto et on veut regarder une partie ou un chapitre, les urls sont du style https://zestedesavoir.com/tutoriels/187/creez-votre-application-web-avec-java-ee/{pk_tuto}/{slug_tuto}/{pk_part}/{slug_part}/{pk_chapter}/{slug_chapter} du coup, le {pk_tuto} est forcément le {old_pk}
  • le second: on est dans tout autre type de cas en fait : on est donc dans le jeu https://zestedesavoir.com/tutoriels/187/creez-votre-application-web-avec-java-ee/{pk}/{slug}/. La solution la plus simple est de faire un check pk+slug, si c'est introuvable, faire un check old_pk+slug sinon Http404

Y'a une ou deux bricole avec la bêta (entre autre, quand on met un article en bêta, ça dit toujours "tuto").

Globalement en fait, tout ce qui est vocabulaire n'est pas totalement traduit. On a aussi les "conteneurs" qui ne sont pas satisfaisant mais là c'est la partie communauté qui doit jouer. On accueille toujours les PR de tous les volontaires !

@firm1, tu as un avis à ce propos?

artragis

Mon avis est assez simple sur le sujet. Changer le titre d'un tutoriel devrait garder ce dernier accessible.

Lorsqu'un tutoriel est publié, il peut être repris sur n'importe quel autre site, journal ou une newsletter, etc. Il serait mal venue qu'en cas de modification du titre d'un tutoriel celui-ci devienne inaccessible. Notons qu'on peut linker un tutoriel comme on peut linker un chapitre, ou une partie. Si on ne gère pas toutes les redirections, on risque de se retrouver avec une règle qui dit aux auteurs "Une fois publié, surtout ne changer plus les titres", sans quoi ZdS pourrait devenir un site dont on ne linke jamais les liens ailleurs de peur que dans 6 mois, les liens deviennent invalides.

Lorsqu'un tutoriel est publié, il peut être repris sur n'importe quel autre site, journal ou une newsletter, etc. Il serait mal venue qu'en cas de modification du titre d'un tutoriel celui-ci devienne inaccessible. Notons qu'on peut linker un tutoriel comme on peut linker un chapitre, ou une partie. Si on ne gère pas toutes les redirections, on risque de se retrouver avec une règle qui dit aux auteurs "Une fois publié, surtout ne changer plus les titres", sans quoi ZdS pourrait devenir un site dont on ne linke jamais les liens ailleurs de peur que dans 6 mois, les liens deviennent invalides.

Ma question était plus précise :

Est-ce qu'on doit faire une redirection (301) ou est-ce qu'on doit faire comme les sites de presse qui ne modifient pas le slug.

Si spacefox demande une redir, on vera comme ça.

Pour ma migration : donc tel que c'est partie, pour assurer la compatibilité avec l'ancien, OUI, on va faire du 301. Le seul truc c'est juste qu'il faut vérifier qu'il n'y a pas de cas marginal qui empêche de faire une migration simple.

+0 -0

Nouveau point d'avancement :

  • la doc a été mise en place, même si quelques éléments doivent encore être ajoutés nous avons bien avancé, ça serait agréable qu'un passage soit réalisé à propos de l'orthoraphe. j'ai aussi besoin de la validation de spacefox à propos de la doc sur le manigest /!\ sphix 1.3 et python 2.7.9 nécessaire
  • plusieurs bugs ont été corrigés et le jeu de test s'est encore étoffé. Cette fois-ci nous mettons vraiment l'accent sur les assert plus que sur la couverture de code puisque de toute façon ladite couverture sera forcément effective.
  • le déplacement des élements est terminé ! j'entends par là que vous pourrez désormais déplacer un extrait dans une autre section de même les sections peuvent aussi être déplacées à condition de ne pas être trop profonde.
  • le déplacement se base sur l'existant, ainsi vous pouvez monter, descendre, déplacer *avant et déplacer *après. L'effet que cela produit c'est qu'on ne peut pas déplacer un élément dans un parent vide. Cette fonctionnalité ne sera pas développée dans la zep 12 pour éviter d'en reculer inutilement l'échéance.
Fonctionnalité/élément de code Etat Testé unitairement Commentaire
Modèle de données Fini Oui Tout a été fait en fonction de ce qui avait été dit dans le topic de conception
ZEP 3 Fini Partiellement On est compatible avec la dernière version théoriquement
Création d'un tutoriel/article Fini Oui
Mise en validation Refactoré, manque la validation partielle Non On garde le même process qu'avant, la validation partielle arrive
Mise en béta Fini Oui Les articles ont leur béta
Des galleries pour les articles Codé En cours
Importation En cours Non Importation d'un .tuto, ou d'un markdown. Permet l'édition hors ligne. Quand on importe une archive pour mettre à jour, de nouveaux extraits/sections peuvent apparaître ou être enlevés
Déplacement des éléments Codé /!\ Partiellement Désormais, nous supportons le déplacement dans un autre conteneur, la fusion de deux contenus n'est pas prévue
Publication Pas commencé Pas commencé On va prégénérer le HTML pour que le cache fonctionne
Exportation des anciens contenus pas commencé Pas commencé Cela devrait se faire sous la forme d'un script
Documentation /!\ Gros avancement N/A La documentation a été rebasée avec dev pour suivre la nouvelle architecture + autodoc (vous pourrez donc y voir le gros travail sur les docstring). J'ai ajouté une doc complète sur les fichiers manifest.json, leur normalisation, leur évolution.
Signaler une correction Pas commencé Pas commencé Pour compatibilité avec les choses plus récentes
Redirection des URLs pas commencé Pas commencé Deux cas : la compatibilité, et le changement de slug. La question a été posée au dessus, on attend un DTC pour décider quelque chose
Suppression du tuto Fini Oui Suppression des sections et extraits aussi.
Articles avec plusieurs extraits Codé Non Un article peut avoir plusieurs extraits mais pas de section
Historique du tuto Codé partiellement
+4 -0

Je profite de ton passage, Situphen, pour t'annoncer qu'à un moment, il faudra que je fasse appel à toi: y'a deux ou trois subtilité typiquement front qu'on va devoir modifier (entre autre, l'affichage des sommaires), et c'est absolument pas ma spécialité. Mais comme ça rentre directement en conflit avec la branche principale, ce sera plus tard ;-) (j'essaye d'épargner à artragis des rebases douloureux)

J'ai fait une PR pour les corrections orthographiques. Je ne dis pas que c'est parfait, mais il serait peut-être judicieux d'attendre la fusion (ou pas…) avant d'y retoucher. ^^

+0 -0
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