Salut les zestes ! Aujourd'hui je suis venu vous demander de l'aide ! En effet, un problème récurrent, quand on modifie un document à plusieurs, est la gestion des conflits de version. Imaginons le scénario suivant : Clem modifie un texte (sur un wiki ?) et commence à rédiger. Pendant ce temps, Zozor modifie le texte original. Clem enregistre ses modifications. Zozor enregistre, faisant perdre le travail de Clem.
Comment avertir Clem que Zozor a enregistré un truc ?
J'avais pensé faire une variable $time gardant en mémoire le début des travaux, puis avec un appel en ajax régulier pour vérifier qu'il y a pas de modifications entre temps. Malheureusement, je suis assez nul en javascript donc je ne sais pas par quel bout m'y prendre. De plus, j'ai peur que ça mette à rude épreuve le serveur par ses appels réguliers (même si c'est tout les 5s). Avez-vous une meilleure idée ? Un bout de code ultra light !
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $time = time(); if(isset($_POST['textarea'])) { $query = $bdd->prepare('SELECT time FROM text WHERE id=? ORDER BY time DESC LIMIT 1'); $query->execute(array($_GET['id'])); $data = $query->fetch(); if($time > $data['time']) { //éxecution } else { //Problème, fuyons ! } } |