Icône de l'app Calíope

Roadmap

Ce qui vient d'arriver, ce que nous évaluons et ce que nous avons décidé de ne pas faire.

Cette page décrit Calíope 1.2. L'App Store propose aujourd'hui la 1.1 — la version 1.2 est en cours d'examen : ce qui figure ci-dessous comme livré en 1.2 est terminé et attend Apple, il n'est pas encore téléchargeable.

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 nous avons 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égende des statuts

Livré En cours À l'étude Écarté
🟢 Livré récemment — déjà dans l'app ; la liste complète est dans le changelog

Une application compagnon pour votre iPhone

Livré

Calíope Companion est une application iPhone distincte avec cinq onglets — connexions, snippets, historique de requêtes, conversations avec l'assistant et diagnostic. Elle n'embarque aucun pilote de base de données et ne se connecte jamais à vos serveurs : tout ce qu'elle affiche arrive par iCloud, ce qui explique aussi pourquoi elle nomme l'interrupteur fermé au lieu d'afficher un écran vide en vous laissant conclure que tout va bien. Les profils de connexion sont la seule chose qu'elle réécrit, et elle préserve les champs qu'elle ne comprend pas.

Version 1.2

MongoDB

Livré

Un outil pour les bases de documents, avec leur propre vocabulaire : parcourir collections et documents, les éditer en JSON, écrire des filtres et des pipelines d'agrégation, gérer les index et consulter le serveur, ses opérations en cours et ses utilisateurs. Chaque valeur affiche son type — ObjectId, decimal128, dates, binaires — car dans une base sans schéma c'est la moitié de l'information.

Version 1.2

Rechercher et remplacer dans toute une base

Livré

Chercher du texte dans toutes les colonnes textuelles de toutes les tables, voir combien de lignes correspondent dans chacune, et remplacer en masse avec un aperçu calculé par le serveur lui-même. L'app signale quand le nombre de correspondances et celui des remplacements diffèrent — la collation ignore souvent la casse, REPLACE() jamais, et sans cet avertissement une modification en masse annonce 300 lignes et en change 100 sans que rien n'échoue.

Version 1.2

Données spatiales sur une carte

Livré

Les colonnes GEOMETRY sont lues, dessinées sur une carte et modifiables en faisant glisser un point ou un sommet. Avant cela, une colonne spatiale ne pouvait être lue nulle part dans l'app : elle s'affichait comme [25 bytes]. Le glisser compose l'instruction et vous la montre — rien n'est écrit tant que vous n'acceptez pas.

Version 1.2

Un serveur, deux adresses

Livré

Chaque profil de connexion accepte désormais un hôte alternatif. Si le principal ne répond pas, Calíope essaie le second avec le même port et les mêmes identifiants — pratique quand on atteint le même serveur par une adresse depuis le Mac et par une autre depuis l'iPad. Quand la session passe par l'alternatif, c'est indiqué.

Version 1.2

Sauvegardes de plusieurs gigaoctets

Livré

Le moteur de sauvegarde a été réécrit pour que la mémoire ne dépende plus de la taille de la base. Un dump de 722 Mo avec 4 millions de lignes culmine à 68 Mo de mémoire, et sa restauration prend 19 secondes avec 14 Mo. Annuler annule vraiment, au lieu de laisser le dump aller jusqu'au bout.

Version 1.2

Un journal d'erreurs lisible depuis le téléphone

Livré

Quand quelque chose échoue, Calíope l'explique, suggère quoi vérifier, renvoie vers la rubrique d'aide correspondante et conserve une trace avec sa date et son appareil. L'app iPhone peut lire ce journal — en lecture seule : l'élagage et la suppression restent sur le bureau, car un téléphone capable de vider le journal d'un incident encore ouvert est une façon discrète d'en perdre la preuve.

Version 1.2

Une sauvegarde de votre configuration

Livré

Exporter et importer tout ce que Calíope conserve hors de l'appareil — profils de connexion, préférences, groupes — avec des copies programmées et un point de restauration pris automatiquement avant chaque opération risquée : activer ou désactiver la synchronisation, effacer des données, importer. Les secrets sont en opt-in et toujours chiffrés, et ce qui reste hors d'une copie est inscrit dans le fichier avec sa raison.

Version 1.2

Éditeur SQLite et Aperçu de fichiers

Livré

Deux outils qui n'ont besoin d'aucun serveur. L'Éditeur SQLite ouvre des fichiers .sqlite et .db locaux et permet d'y travailler — structure, données, SQL, pragmas, avec transactions Enregistrer/Annuler. L'Aperçu lit .md, .sql, .json, .csv et .log en lecture seule, avec JSON repliable et Markdown rendu.

Version 1.2
🟣 En cours — engagé et en cours de réalisation

Plus de moteurs : la couture est déjà en place

En cours

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. Ce qui manque pour un deuxième moteur SQL, c'est son provider.

Fondations livrées en 1.2
🟡 À l'étude — périmètre, faisabilité technique et demande à l'étude. Aucune date impliquée

PostgreSQL

À l'étude

Connectivité PostgreSQL native aux côtés de MariaDB/MySQL : profils de connexion, explorateur de schéma, éditeur de requêtes et exports. La même expérience native Apple, pour le monde Postgres. C'est le moteur le plus demandé, et les fondations ci-dessus sont ce qui en fait un provider plutôt qu'une réécriture.

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-nous 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 nous préférons 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

Comment fonctionne cette roadmap

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 encore être en cours d'examen sur l'App Store.

En cours signifie que c'est engagé et que le travail est en cours.

À l'étude signifie que nous évaluons le périmètre, la faisabilité technique et la demande. Aucune date de livraison n'est impliquée.

Écarté signifie que nous avons 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.

Vous cherchez la liste complète de ce qui est livré ? Voir le changelog →