Autocomplétion sensible au contexte
“L'éditeur sait si vous êtes dans le FROM, le WHERE ou la liste de colonnes.”
Écrivez moins, et commettez moins d'erreurs, car la suggestion comprend où vous êtes dans l’instruction.
Suggère les colonnes de la table active, les noms de bases de données, les tokens de schéma (tables, vues, fonctions), les mots-clés DML/DDL/de contrôle, les types de données et les phrases auxiliaires SQL filtrées par moteur.
Linter lexical en temps réel
“Les parenthèses déséquilibrées n'atteignent jamais le serveur.”
Attrape l'erreur évidente avant que le serveur ne la rejette.
Détecte les commentaires non fermés, les chaînes non fermées, les parenthèses déséquilibrées et les identifiants avec backtick ouvert. Balayage O(n), sans parseur complet.
Formateur, et un mode sécurisé
“Un DROP ne part pas par accident.”
Un formatage lisible pour vos requêtes, et un verrou qui empêche un UPDATE ou un DROP d'atteindre le serveur avant que vous le vouliez.
Le formateur met en majuscules les mots-clés à partir du vocabulaire propre au moteur. Le mode sécurisé, activé par défaut et enregistré par profil et par onglet de l'éditeur, refuse d'exécuter toute instruction qui contient ALTER, CREATE, DELETE, DROP, GRANT, TRUNCATE, UPDATE, REPLACE ou RENAME — depuis l'éditeur, le Terminal comme le SQL Player. Il cherche le mot, pas le WHERE : un UPDATE qui en a un est arrêté lui aussi, et rien ne part tant que vous ne le désactivez pas.
Occultation des identifiants dans les logs et la synchronisation
“Synchronisez votre historique, pas vos identifiants.”
Votre journal de requêtes ne devient pas un fichier de mots de passe sur iCloud.
Neutralise IDENTIFIED BY, IDENTIFIED WITH … AS, IDENTIFIED BY PASSWORD, SET PASSWORD FOR et PASSWORD(…). Occultation idempotente, appliquée avant d'exporter le journal de requêtes vers CloudKit.
Constructeurs de requêtes visuels
“Composez des requêtes en cliquant ; elles sortent prêtes pour la production.”
Un SELECT … WHERE … JOIN … correct sans mémoriser la syntaxe.
Constructeurs visuels dédiés aux quatre formes les plus fréquentes : SELECT, WHERE, UPDATE et CREATE de table.
Renommage de symbole avec bornes de mot
“Renommez id sans casser client_id.”
Refactorisez des identifiants en toute sécurité, sans détruire des noms similaires.
Regex avec bornes de mot \b et échappement adéquat. Ne matche jamais à l'intérieur d'identifiants plus longs.
Palette Quick Open (⌘⇧O)
“⌘⇧O et vous êtes sur la table que vous cherchiez.”
Atteignez n'importe quel objet du schéma sans descendre dans l'arbre.
Recherche floue incrémentale sur tables, vues, routines et objets, avec navigation aux flèches et Entrée pour ouvrir.
Fragments, amorcés pour chaque moteur
“Vos snippets s'adaptent au moteur, pas l'inverse.”
Vos recettes SQL toujours à portée, filtrées selon le moteur utilisé.
Stockés dans snippets.json, qui voyage par iCloud avec l'interrupteur général de synchronisation et reste sur l'appareil quand il est désactivé. Chaque snippet déclare à quels moteurs il s'applique (MySQL, MariaDB, PostgreSQL…). La connexion à un nouveau moteur ajoute les valeurs par défaut sans doublons. Prend en charge la catégorisation.
Popovers de documentation DDL et de fonctions
“La documentation de GROUP_CONCAT s'ouvre là où vous tapez.”
Documentation sans quitter l'éditeur ni ouvrir un navigateur.
Affiche le DDL de l'objet du schéma sous le curseur, ou la fiche de la fonction : signature, description, paramètres, un exemple et la version où elle est apparue. Chaque moteur a ses fiches, SQLite et DuckDB compris, tout comme les opérateurs MongoDB dans l'outil Requête. Sans souris, ⌥⌘?.
Éditeur de cellule avancé et édition inline de ligne
“Éditez la cellule, voyez le SQL, et décidez.”
Modifiez les données rapidement et prévisualisez le SQL exact qui sera exécuté.
Édition façon tableur sur les résultats, avec un aperçu de l'UPDATE ou du DELETE généré avant exécution.
SQL Player — un script, pas à pas
“Lecture, pause et pas à pas dans votre script, comme une vidéo.”
Exécutez une migration une instruction à la fois et vérifiez chaque résultat avant que la suivante ne parte.
Découpe le script de l'éditeur en instructions et les exécute une par une, à la main ou à intervalle, avec les commandes première, précédente, suivante et dernière ; la lecture automatique s'arrête à la première erreur. Chaque instruction affiche son état, son temps et les lignes renvoyées ou modifiées, et entre dans l'historique des requêtes. Le mode sécurisé s'applique.
Terminal SQL intégré à l'éditeur
“L'invite mysql>, sans quitter l'app.”
Tapez une instruction, appuyez sur Retour, lisez la réponse en texte — comme le client en ligne de commande, à côté de votre script.
Un panneau sous l'éditeur avec l'invite propre au moteur (mysql>, postgres=#…), les résultats en tableau ASCII, « Query OK » avec les lignes que le serveur dit avoir modifiées, et les avertissements du serveur en dessous. Son propre historique, avec les flèches sur le Mac et des boutons sur iPad, iPhone et Apple Vision Pro ; chaque instruction entre aussi dans l'historique de la session. Le mode sécurisé s'applique.
Graphiques de résultats
“D'un jeu de résultats à un graphique, sans rien exporter.”
Barres, lignes ou camembert à partir des lignes que vous venez d'obtenir, dans un panneau de l'éditeur.
Les axes sont choisis pour vous — la première colonne de texte pour les catégories, la première numérique pour les valeurs — et vous pouvez les changer. Le graphique s'exporte en PNG ou en PDF.
Une requête, deux bases
“La préproduction est-elle identique à la production ? Demandez aux deux à la fois.”
Exécutez la même requête sur deux connexions et voyez, ligne par ligne, ce qui diffère.
Exécuter sur deux bases… envoie l'instruction aux deux et remplace la grille par une comparaison : cellules modifiées marquées, lignes présentes d'un seul côté, et un filtre pour n'afficher que les différences. Les lignes sont appariées par position, et seulement quand les deux côtés renvoient les mêmes colonnes.
Barres d'aide iPad au-dessus du clavier
“Clavier iPad avec des super-pouvoirs SQL.”
Suggestions tactiles rapides juste au-dessus du clavier virtuel.
Barres contextuelles pour l'objet ou la fonction sous le curseur, avec un accès rapide à « Voir DDL » et aux paramètres de fonction.
Barre d'outils personnalisable
“Votre barre, dans votre ordre.”
Chacun a son ergonomie ; les DBAs réorganisent une fois et oublient.
Réorganisez ou masquez les groupes de boutons depuis une feuille de personnalisation dédiée. La mise en page est persistée.
Recherche et remplacement globaux, dans toute la base
“Une recherche dans toutes vos colonnes textuelles.”
Cherchez une chaîne dans toutes les colonnes textuelles de toutes les tables à la fois, voyez les correspondances par table et par colonne, prévisualisez le résultat calculé par le serveur et remplacez en masse dans une transaction par table.
Deux chiffres sont affichés, pas un : la collation ignore souvent la casse, REPLACE() jamais, donc sans cet avertissement une modification en masse annonce 300 lignes et en change 100 sans que rien n'échoue. L'écart est mesuré avec CAST(col AS BINARY) plutôt qu'avec une collation nommée. Colonnes générées, clé primaire et uniques sont exclues par défaut — MariaDB accepte l'UPDATE d'une colonne générée, signale une ligne affectée et ne change rien. L'échappement utilise |, car l'antislash casse sous NO_BACKSLASH_ESCAPES.
Données spatiales sur une vraie carte
“Vos colonnes GEOMETRY cessent d'être 25 octets.”
Points, lignes et polygones dessinés sur une carte ancrée dans l'éditeur, avec styles satellite et plat, regroupement et un contrôle d'ajustement aux données. Faites glisser un point ou un sommet et Calíope compose l'instruction — il vous la montre avant d'écrire quoi que ce soit.
Le WKB transmis est toujours en (longitude, latitude) ; ce qui change, c'est le texte, car MySQL 8 sous un SRID géographique écrit la latitude d'abord, et MariaDB jamais. L'échange ne vit qu'à la frontière textuelle, où le paramètre n'a pas de valeur par défaut : se tromper ne produit pas d'erreur, cela déplace la ligne d'un continent et le serveur l'accepte. Le SRID voyage avec la géométrie, sans clé primaire fiable l'édition est bloquée et la raison est affichée, et il n'y a aucun CoreLocation.