Voir ce qui a été modifié entre plusieurs versions d'un article

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

Hello !

Je sais pas si ça été proposé, mais quand on écrit un article/tuto, on a un système de versionning. Ce qui me semble intéressant de mettre en évidence ce qui a été modifié, à l'instar de ce que fait GIT ou wikipedia. Je sais qu'il y a une class php pour ça, pourquoi pas adapter pour zds ?

Cordialement,

Q.

+0 -0

Il y a déjà un diff (pas beau mais il existe) mais que sur les tutos (je sais pas trop pourquoi). Dans tous les cas c'est prévu de l'améliorer mais il y a plusieurs ZEP a faire avancer avant.

Implémenté dans la ZEP 12. (et je suis sérieux, c'est déjà mis en place, en fait c'est là par conception ^^ )

+0 -0

Ça l'est, parce que la différence entre article/tuto devient beaucoup plus mince avec la ZEP-12 (c'est basiquement la même chose, le type est juste une métadonnée). Par contre, je vais corriger artragis: c'est implémenté, mais je suis pas convaincu que ça fonctionne, objectivement (ou bien j'ai trop joué avec l'historique de mes propres tutos et du coup je vois n'importe quoi). Par exemple, je ne sais pas avec quoi le diff compare réellement.

Objectivement, c'est laid et super mal pensé. On a un diff qui est fait de la version actuelle du tuto vers une version antérieure donnée du tuto. Du coup, il n'existe aucun moyen simple de déterminer quels changements ont été apportés entre deux versions antérieures distinctes du tuto.

Sincèrement, le système d'historique devrait être revu pour un truc à la Wikipédia.

+1 -0

Ça a pas été fais pour etre bien pensé. Ce truc a été mit en place en 10 min au tout début du projet (genre 6 mois avant le lancement publique) par firm1 pour faire un POC. Ça utilise difflib en mode "génère directement le html" et c'est collé à l'arrache en sortie. Le fait est qu'il y a eu très peu de retours sur ça et donc comme peu de personnes le demande, ça n'a jamais été fini.

Je ne dis pas que ça ne mérite pas mieux, j'explique juste le contexte. Il s'agit d'une fonctionnalité peu utilisé (et que peu demande, je crois que c'est le premier sujet sur la question). Du coup les autres améliorations sont passé en priorité.

J'ai trop intégré le fait que c'est un projet bénévole, avec tout ce que ça implique de limitations, du coup, je n'ai pas le réflexe de me plaindre. ^^

Plus sérieusement, je n'utilise pas l'historique tous les jours, c'est certain. Je pense même que pour mes propres tutos, je ne m'en sers jamais. En revanche, c'est un outil indispensable quand on travaille à plusieurs, parce que c'est le seul moyen que nous ayons à disposition pour déterminer ce que les autres ont fait.

Même dans des situations bêtes, en fait ! J'ai corrigé le cours d'Eskimon sur les balises multimédia du HTML. Puis il a fait des modifications suite aux remarques d'autres gens sur la bêta. Il a donc fallu le re-corriger, mais je n'allais pas me fader à nouveau la lecture intégrale du cours : direction l'historique pour savoir où le texte avait changé depuis ma dernière lecture.

+0 -0

1 mois après…

Je précise que j'ai fait une PR pour corriger les bugs actuels du diff. De sorte qu'il devrait avoir un comportement "normal" désormais !

Par ailleurs il est simple d'envisager (comme mentionné dans le PR) un diff à la wikipédia comme proposé par "Dominus Carnufex" mais je me suis heurté à des problèmes avec le front (voir PR à nouveau). Si qqn veut aider c'est bienvenu à ce niveau-là.

+0 -0

Pas mal, pas mal !

Il y a un détail qui je crois n'est pas corrigé par ta PR, ce serait bien de vérifier si c'est bien le cas. Par exemple, dans la situation suivante.

  1. Je crée un chapitre intitulé « Mon chapitre ».
  2. Je crée un extrait « Extrait 1 » dans ce chapitre et j'y insère un long texte.
  3. Je renomme « Mon chapitre » en « Mon super chapitre ».
  4. Je change une lettre dans « Extrait 1 ».

Si je fais un diff entre la fin de l'étape 2 et la fin de l'étape 4, le logiciel considère que l'intégralité de « Extrait 1 » est nouveau (donc en vert), et ma modification de détail devient introuvable.

Cela vient du fait que le fichier contenant l'extrait s'appelait un truc comme 1268_ma-partie/5052_mon-chapitre/15230_extrait-1.md et que, suite au renommage du chapitre, il s'appelle désormais 1268_ma-partie/5052_mon-super-chapitre/15230_extrait-1.md. Du point de vue de l'outil de diff, le premier fichier a bien disparu et le second est bien entièrement nouveau. Mais du coup, ça fausse tout…

+0 -0

Pas mal, pas mal !

Il y a un détail qui je crois n'est pas corrigé par ta PR, ce serait bien de vérifier si c'est bien le cas. Par exemple, dans la situation suivante.

  1. Je crée un chapitre intitulé « Mon chapitre ».
  2. Je crée un extrait « Extrait 1 » dans ce chapitre et j'y insère un long texte.
  3. Je renomme « Mon chapitre » en « Mon super chapitre ».
  4. Je change une lettre dans « Extrait 1 ».

Si je fais un diff entre la fin de l'étape 2 et la fin de l'étape 4, le logiciel considère que l'intégralité de « Extrait 1 » est nouveau (donc en vert), et ma modification de détail devient introuvable.

Cela vient du fait que le fichier contenant l'extrait s'appelait un truc comme 1268_ma-partie/5052_mon-chapitre/15230_extrait-1.md et que, suite au renommage du chapitre, il s'appelle désormais 1268_ma-partie/5052_mon-super-chapitre/15230_extrait-1.md. Du point de vue de l'outil de diff, le premier fichier a bien disparu et le second est bien entièrement nouveau. Mais du coup, ça fausse tout…

Dominus Carnufex

En réalité, ce n'est pas moi qui gère la détection : fichier renommé vs fichiers ajoutés/supprimés, c'est git! Si tu fais en ligne de commande un git mv file1.md file2.md, ça va détecter un renommage ! Par contre si tu renommes ET change le contenu c'est une suppression et un ajout de fichiers… difficile de changer le comportement !

Actuellement lors du changement de slug, ZdS ne supprime pas l'ancien fichier ! Le nouveau commit correspond à l'ajout d'un nouveau fichier (+ modification manifest.json)… Ce doit être une erreur de ZdS !


EDIT:

Voici pour les curieux, une capture d'écran avec en vis-à-vis l'ancien rendu (ordre incorrect, légende répétée de partout) et le nouveau lors d'un diff.

diff-old-vs-new

Sinon ma PR supprime la légende. Que préférez-vous entre les légendes de la capture d'écran suivante (ou autre solution ou autre emplacement ou suppression…) :

diff-legend

+0 -0

yapper-git a lancé l'idée de pouvoir comparer n'importe quelle version du tutoriel avec n'importe quelle autre (et non pas n'importe quelle version avec la plus récente) à la Wikipédia !

Aussitôt dit, aussitôt fait ! Qu'en pensez-vous ?

Voilà une petite capture d'écran

+2 -0

Si ça marche, c'est juste super ! :D

Je sens qu'avec les améliorations qui arrivent, je vais passer plus souvent sur cette page !

Edit : P'tite question ! Je ne sais pas, si ça rentre dans la cadre de cette PR, mais bon.. Oh pire, au-moins vous serez au courant ! Est-il possible d'étaler l'historique sur plusieurs pages ? Car quand il y a un long historique, la page met énormément de temps à se charger !

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