Qu’est-ce que l’édition collaborative de code ?

L’édition collaborative de code permet à plusieurs développeurs de travailler simultanément sur le même code, chacun dans son propre navigateur. Elle est utile pour la programmation en binôme, les entretiens, l’enseignement et le débogage d’un extrait de code à plusieurs, sans avoir à configurer un environnement de développement intégré partagé ni à s’échanger des fichiers.

Pour que tout le monde dispose d’une copie identique, les modifications sont transmises sous forme de petits changements plutôt que de fichiers entiers, et un serveur détermine leur ordre d’application. Les modifications effectuées au même moment sont ajustées les unes par rapport aux autres afin qu’elles soient toutes conservées.

Description de l’outil

Cet outil est un éditeur JavaScript partagé avec coloration syntaxique. Ouvrez-le et envoyez le lien : tout le monde dans l’espace modifie le même code en temps réel, voit les curseurs des autres et peut valider ou formater le code pour tout le monde en un clic.

La validation vérifie la syntaxe à l’aide de l’analyseur Babel (modules ES et JSX inclus). Le formatage utilise Prettier, et le code formaté ne remplace que les lignes modifiées, de sorte que le texte saisi entre-temps par les autres reste en place.

Fonctionnalités

  • Modification en temps réel - les changements de chacun apparaissent instantanément et sont fusionnés lorsque plusieurs personnes écrivent au même moment
  • Curseurs et sélections - voyez où se trouve chaque personne, grâce à la couleur affichée à côté de son nom
  • Valider - vérifie la syntaxe JavaScript et affiche la première erreur, avec son numéro de ligne et de colonne
  • Formater - reformate le code avec Prettier pour tout le monde dans l’espace
  • Copier et télécharger - conservez une copie du code dans un fichier .js

Fonctionnement

À l’ouverture de la page, un espace est créé sur le serveur de synchronisation et son lien est ajouté à la barre d’adresse. Toutes les personnes qui ouvrent ce lien rejoignent le même espace et voient le même document.

Chaque modification est envoyée au serveur sous la forme d’une courte description des changements — quels caractères ont été insérés ou supprimés, et à quel endroit — plutôt que sous la forme du texte entier. Le serveur organise les modifications de chacun dans un ordre unique, repositionne une modification apportée à partir d’une ancienne version après celles qui l’ont précédée, puis transmet le résultat aux autres. Votre propre saisie apparaît immédiatement, et les modifications des autres sont fusionnées autour de la vôtre, de sorte que personne ne perd ce qu’il a saisi lorsque deux personnes modifient le code au même moment.

Le document est conservé uniquement dans la mémoire du serveur tant que l’espace est ouvert. Si vous rechargez la page, vous retrouvez l’espace avec le texte tel qu’il était ; une fois que tout le monde l’a quitté, l’espace et son texte disparaissent.

Limitations

  • Un espace peut accueillir jusqu’à 20 personnes et contenir 100 000 caractères.
  • Rien n’est conservé après la fermeture d’un espace. Téléchargez le texte avant que la dernière personne ne parte.
  • Les modifications très rapides ou très volumineuses, comme coller plusieurs fois de suite l’intégralité du document, sont refusées et l’éditeur recharge le texte de l’espace.
  • Ouvrir le lien d’un espace dans un autre éditeur collaboratif (par exemple, un espace SQL dans l’éditeur JavaScript) affiche le message « Espace introuvable » : chaque espace est associé à un seul langage.
  • La validation vérifie uniquement la syntaxe. Le code n’est jamais exécuté.