Éditeur SQL collaboratif
Écrivez des requêtes SQL à plusieurs en temps réel avec des curseurs partagés, puis validez, formatez ou minifiez-les pour tout le monde.
Documentation
Qu’est-ce que l’édition collaborative de SQL ?
L’édition collaborative de SQL permet à plusieurs personnes d’écrire et de relire des requêtes en même temps, chacune dans son propre navigateur. C’est pratique pour élaborer une requête avec un collègue, relire ensemble une migration ou enseigner SQL, sans partager son écran ni coller des requêtes dans une conversation.
Pour que tout le monde dispose d’une copie identique, les modifications sont transmises sous forme de petits changements plutôt que sous forme du texte entier, et un serveur unique décide de l’ordre dans lequel elles sont appliquées. Les modifications effectuées au même moment sont adaptées les unes aux autres afin qu’elles soient toutes conservées.
Description de l’outil
Cet outil est un éditeur SQL partagé avec coloration syntaxique. Ouvrez-le et envoyez le lien : tout le monde dans la salle modifie les mêmes requêtes en temps réel, voit les curseurs des autres et peut valider, formater ou minifier le SQL pour tout le monde en un clic.
La validation analyse le SQL avec node-sql-parser. Le formatage place chaque clause principale (SELECT, FROM, WHERE, JOIN, etc.) sur sa propre ligne sans modifier les chaînes de caractères ni les commentaires, tandis que la minification place la requête sur une seule ligne. Le nouveau texte remplace uniquement les lignes modifiées, afin que les saisies des autres entre-temps restent à leur place.
Fonctionnalités
- Édition en temps réel : les modifications de chacun apparaissent instantanément et sont fusionnées lorsque plusieurs personnes saisissent du texte au même moment
- Curseurs et sélections : voyez où se trouve chaque personne, dans la couleur affichée à côté de son nom
- Valider : vérifie que le SQL est analysable et affiche le message de l’analyseur en cas d’erreur
- Formater et minifier : mettez en forme la requête clause par clause ou réduisez-la à une seule ligne pour tout le monde dans la salle
- Copier et télécharger : conservez une copie des requêtes dans un fichier .sql
Fonctionnement
À l’ouverture de la page, une salle est créée sur le serveur de synchronisation et son lien est placé dans la barre d’adresse. Toutes les personnes qui ouvrent le lien rejoignent la même salle et voient le même document.
Chaque modification est envoyée au serveur sous la forme d’une petite description de ce qui a changé — 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 regroupe les modifications de tout le monde dans un ordre unique, déplace une modification effectuée sur une ancienne version après celles qui l’ont précédée, puis transmet le résultat aux autres. Votre propre saisie s’affiche immédiatement et les modifications des autres sont fusionnées autour, afin que personne ne perde sa saisie lorsque deux personnes modifient le document au même moment.
Le document est conservé uniquement dans la mémoire du serveur tant que la salle est ouverte. Si vous rechargez la page, vous retrouvez la salle et le texte tel qu’il était. Une fois que tout le monde a quitté la salle, celle-ci et son texte disparaissent.
Limites
- Une salle peut accueillir jusqu’à 20 personnes et contenir 100 000 caractères.
- Rien n’est conservé après la fermeture d’une salle. Téléchargez le texte avant que la dernière personne ne parte.
- Les modifications très rapides ou très volumineuses, comme le fait de coller tout le document plusieurs fois de suite, sont refusées et l’éditeur recharge le texte de la salle.
- Ouvrir le lien d’une salle dans un autre éditeur collaboratif (par exemple, une salle SQL dans l’éditeur JavaScript) affiche « Salle introuvable » : chaque salle est associée à un seul langage.
- La validation vérifie uniquement la syntaxe. Les requêtes ne sont jamais exécutées sur une base de données.