[ dater ]
2006-06
Il faut trouver un système (et un algorithme) permettant de visualiser les différences entre 2 versions d'une même page.
Salut, je m'étais moi aussi penché sur la question, et je me suis rendu compte que (sur d'autres WikiEngines) qu'il y a générallement deux stratégies : utiliser l'utilitaire GNU 'diff' ou concocter un algo maison. La première stratégie est (à mon avis) à proscrire dans un soucis d'inter-opérabilité du 'bazard'. En ce qui concerne la seconde solution, j'ai remarqué que beaucoup de moteurs wiki (ma recherche date un peu je n'ai donc plus les noms en tête) utilisent l'algorithme (la classe) developpée par PhpDiff, le moteur wiki bien connu ! Voilà, mes 2^^CTS^^ d'aide. Je m'empresse d'aller tester votre système, bonne route. -- AnonymousCoward (2004-10-09)
En effet j'ai remarqué quelques bad-points à chuwiki et notament celui de ne pas gérer les modifs de pages en simultanées.
C'est à dire que pour 2 personnes (ou plus) qui cliquent sur "éditer cette page" avec la meme version de la page, ben c'est le dernier qui validera sa modif qui gagne! et ca, c'est pas cool! 
Donc vu que la remarque de AnonymousCoward date un peu, jvoulais savoir ce qui était prévu pour palier à ce deffaut ?
y a t'il déjà une solution existante ? est-ce prévu pour le prochain chuwiki ?
Sinon, ben la moindre aide (une réponse ou des forums) est la bien venue...
Dohz.
Il n'y a pas de solutions existantes et c'est un vrai problème qu'il va falloir résoudre. Il y a pleins de choses que je voudrais ajouter à propos de l'édition simulanées mais il faudrait développer des classes de rendu wiki mieux intégrées à ChuWiki. Ça fait partie des refontes qui auront lieux pour la version 2 qui n'est pas du tout plannifiée. Pour les prochaines versions 1, il se peut qu'un système de verrouillage fasse son apparition, mais c'est plutôt complexe de trouver quelque chose qui fonctionne à peu près partout en PHP 
Vincent
Merci pour ta réponse Vincent. 
Je m'y connais pas trop en php, mais vu comment sont stockées les pages (dans le répertoir Pages par deffaut), un systeme qui vérifie lors de la validation qu'une page n'a pas était créer durant l'édition, puis avertir l'utilisateur avec un affichage du genre :
Hop hop hop! Une version plus récente du document que vous avez édité existe déjà.
Version actuelle : (date+heure) || Votre version :
(La page actuelle ) || (la version de la page de l'utilisateur )
Afficher les 2 versions de la page cote à cote, et dans l'idéale, surligner les lignes qui diffèrent dans les 2 pages.
Ah oui, pour ce faire, le controle de l'existance d'une page plus récente nécessite que lorsque le user clique sur éditer, le nom de la version de la page (20060205171523.gz par exmple) soit mémorisé dans une variable, afin de le comparer au nom de la version la plus récente de la page.
Je sais pas si tout lemonde à suivit, mais le principe me parait pas irréalisable... D'ailleurs je vais voir avec des amis un peu plus calé en php si ya pas moyen de faire un prototype.
Ca plait à quelqu'un cette idée de gestion concurrentielle ?
Si ca vous inspire, allez-y faites vous plaiz, je vous laisse l'idée comme ça en libre service! lol
(prévenez moi si vous avez un truc qui pourrait faire avancer le schmilibiliblic lol...) Dohz
Cela correspond a la commande unix diff
scripts/phpdiff.phpphpdiff.php precedent est une amelioration de :
Pour comprendre le probleme, voir Futur - Exclusion mutuelle.
Cela correspond a la commande unix diff3
scripts/simuledit.php (telechargeable la), mais il fait appel a la commande unix diff3, donc on perd en portabilite.N.B. tous ces bouts de code sont libres et peuvent donc etre incorpores a ChuWiki.
[1728 -- 24-06-2006]
_texte___texte__@@texte@@''texte|langue|source''>texte[texte|URI|langue|titre]((image|texte alternatif|alignement))texte!titre1, !!titre2, !!!titre3, etc.-texte ou *texte#texte;titre:définition??acronyme|titre??[ESPACE]texte ou {{{texte}}}==== ou ---- (au moins 4)\