Cette page décrit Calíope 1.5. C'est la version que je construis en ce moment ; la 1.4 est sur l'App Store sur tous les appareils, Mac compris. Ce qui relève de la 1.5 figure ci-dessous comme livré parce que c'est terminé dans la version que je construis, mais on ne peut pas le télécharger avant que la 1.5 arrive sur l'App Store.
Calíope grandit à partir de trois choses : ce qui arrive par le support, les rapports de diagnostic que les gens choisissent de partager, et le travail quotidien sur de vraies bases de données. Cette page dit où en est chaque élément — y compris ceux que j'ai décidé de ne pas faire, avec leur raison, car une roadmap qui n'énumère que des promesses ne dit pas grand-chose. Il manque quelque chose ? Proposez une fonctionnalité.
🟡 À l'étude
— périmètre, faisabilité technique et demande à l'étude. Aucune date impliquée
Plus de moteurs : la couture est déjà en place
À l'étude
Ajouter un moteur à Calíope, c'est implémenter des protocoles, pas modifier les outils. Ce travail est fait et éprouvé : le moteur de sauvegarde, le comparateur de schémas et le catalogue d'erreurs passent déjà par là, et aucun nom de moteur n'est écrit hors de son propre dossier — pas même dans les cinq fichiers de traduction. PostgreSQL a été le premier moteur à arriver ainsi, en 1.3, sans réécrire un seul outil. SQL Server a suivi le même chemin dans la 1.5 ; celui qui viendra après est encore à l'étude.
Fondations en 1.2 · premier nouveau moteur en 1.3
Redis
À l'étude
Un magasin clé-valeur en mémoire, qui n'a pas la forme d'une table : un explorateur de clés avec les motifs que l'on tape vraiment, la durée de vie de chaque clé visible et modifiable, une vue qui dessine chaque valeur selon son type — chaîne, liste, ensemble, ensemble trié, hash, flux — et un panneau serveur avec la mémoire, l'espace de clés et les clients. Il n'y a pas de SQL ici, donc cela arriverait comme un outil à part, comme MongoDB.
ClickHouse
À l'étude
Analytique en colonnes sur un serveur, via son interface HTTP. Ce qu'elle apporte, c'est l'échelle qu'un moteur orienté lignes n'atteint pas : des agrégations sur des milliards de lignes, et des vues matérialisées qui gardent la partie coûteuse précalculée. Elle réutilise l'éditeur SQL et l'explorateur de schéma, avec son propre dialecte et son propre vocabulaire pour ce qui compose une table. L'analytique en colonnes dans un fichier local est arrivée avec l'Éditeur DuckDB dans la 1.5 ; ClickHouse porterait cette même forme sur un serveur, et Redis ajouterait le clé-valeur.
Plus de langues d'interface
À l'étude
Calíope existe en cinq langues : anglais, espagnol, français, allemand et italien. Le portugais et le japonais ont été évoqués. Dites-moi laquelle vous voudriez ensuite — l'app est réellement traduite et non localisée à la machine, donc chaque nouvelle langue est un vrai travail et je préfère viser juste.
🔴 Écarté
— décidé non, avec la raison. Ces entrées restent visibles à dessein
Bases SQLite chiffrées (SQLCipher)
Écarté
L'Éditeur SQLite n'ouvre que des bases non chiffrées. Prendre en charge SQLCipher implique de distribuer et maintenir un fork de SQLite dans une app sandboxée de l'App Store, et l'outil est prévu pour inspecter des magasins Core Data et des bases embarquées d'applications, qui ne sont pas chiffrées.
Raison : périmètre et maintenance
Votre position sur la carte spatiale
Écarté
Afficher où vous êtes exigerait une autorisation de localisation et son entrée dans l'étiquette de confidentialité de l'App Store, en échange de quelque chose dont cet outil n'a pas besoin : sur la carte, ce qui compte est où sont vos données, pas où vous êtes.
Raison : coût en vie privée sans bénéfice
Sonder les deux adresses avant de se connecter
Écarté
Il serait tentant de tester l'hôte principal et l'alternatif en parallèle et de garder le plus rapide. Ouvrir et fermer des connexions TCP sans terminer la poignée de main augmente aborted_connects sur le serveur et peut finir en Host is blocked because of many connection errors. Le basculement se fait lors de la tentative réelle.
Raison : cela nuit au serveur que vous visez
MongoDB via la couche relationnelle
Écarté
MongoDB est un outil autonome, avec sa propre session et son propre jeu d'onglets, et non un moteur de plus derrière ceux qui existent. L'abstraction relationnelle modélise les clés étrangères, le binlog, la réplication et EXPLAIN ; une base de documents laisserait presque tout cela vide, et chaque outil devrait se demander quel type de session il regarde.
Raison : ce serait la mauvaise forme
🟢 Livré récemment
— les trois plus récentes ; la liste complète est dans le changelog
SQL Server
Livré
Microsoft SQL Server, par la même couture que PostgreSQL et avec un driver que j'ai écrit à partir du protocole que publie Microsoft. Profils de connexion, explorateur de schéma avec ses schémas, éditeur SQL avec ses propres fragments, mots-clés et fiches de fonctions, EXPLAIN visuel, sauvegardes et restauration, maintenance, connexions et autorisations avec le DENY affiché comme tel, et supervision du serveur. Version 2022 ou ultérieure, toujours chiffré. La réplication reste une affaire de MySQL et MariaDB, et ce que le moteur n'a pas est masqué au lieu d'être grisé.
Version 1.5
Éditeur DuckDB
Livré
Un second moteur local compilé dans l'app, à côté de l'Éditeur SQLite et sans connexion à configurer. Ouvrez un fichier .duckdb sans serveur à installer, ou interrogez un Parquet, CSV ou JSON là où il est déjà — rien n'est importé ni copié. Arborescence du schéma avec séquences, types et macros, grille de données, SQL avec plafond de lignes et Arrêter, SUMMARIZE, export et import de la base entière, attachement d'une autre base en lecture seule, et les fichiers DuckDB comme source des Rapports.
Version 1.5
Calíope sur votre iPhone
Livré
Calíope se dispose pour le téléphone et s'installe depuis la même page de l'App Store que le Mac et l'iPad. C'est le client entier, pas une visionneuse : elle se connecte à vos serveurs et exécute vos requêtes, avec les mêmes outils que l'iPad et sans une seule vérification d'appareil dans tout l'arbre. Vos profils, snippets, historique et conversations avec l'assistant arrivent par votre propre iCloud, et quand cet interrupteur est fermé elle le nomme au lieu d'afficher un écran vide en vous laissant conclure que tout va bien.
Version 1.4
Comment fonctionne cette roadmap
En cours signifie que c'est engagé et que le travail est en cours.
À l'étude signifie que j'évalue le périmètre, la faisabilité technique et la demande. Aucune date de livraison n'est impliquée.
Écarté signifie que j'ai décidé de ne pas le faire. L'entrée reste visible avec sa raison, pour que la décision soit transparente plutôt que silencieuse.
Livré signifie que c'est dans l'app aujourd'hui. La version d'arrivée figure sur chaque entrée — et notez que la plus récente peut ne pas être encore sur l'App Store ; l'avis en haut de page dit laquelle.
Vous cherchez la liste complète de ce qui est livré ? Voir le changelog →