Cette page décrit Calíope 1.5, la version que nous construisons en ce moment. La 1.4 est terminée et en cours d'examen par Apple, et la boutique propose aujourd'hui la 1.3 sur le Mac et la 1.2 sur iPad. Le changelog indique dans quelle version chaque fonction est arrivée.
Ajoute un bouton « Ouvrir dans Calíope » à chaque sujet. Ne fonctionne qu'avec l'app installée.
Chargez des données tabulaires depuis des fichiers CSV, JSON ou Excel directement dans une table MySQL.
Où le trouver : Arbre des schémas › clic droit › Importer des données…
Calíope inclut un assistant d'importation en trois étapes pour charger des données depuis des fichiers externes.
Comment y accéder :
Faites un clic droit (macOS) ou appuyez longuement (iPad) sur le nom d'une table dans l'arborescence du schéma et sélectionnez Importer des données…. L'assistant s'ouvre préconfiguré avec la base de données et la table sélectionnées.
Étape 1 — Fichier :
Cliquez sur Sélectionner un fichier… et choisissez le fichier à importer. L'assistant détecte automatiquement le format.
Formats pris en charge :
- CSV — avec détection automatique du séparateur (,, ;, tabulation).
- JSON — tableau d'objets [{…}, {…}].
- Excel (.xlsx) — première feuille d'un classeur Microsoft Excel ou Numbers.
Étape 2 — Colonnes :
L'assistant affiche les colonnes du fichier et un sélecteur pour mapper chacune à la colonne correspondante de la table cible. Les colonnes non mappées sont étiquetées Ignorer et ne sont pas importées. Activez Première ligne est un en-tête si le fichier contient une ligne de titres.
Étape 3 — Importer :
Configurez les options d'importation :
- Mode d'insertion :
- INSERT — insère les lignes normalement. Échoue en cas de conflit de clé primaire.
- INSERT IGNORE — insère les nouvelles lignes et ignore silencieusement celles qui existent déjà (doublons de PK).
- REPLACE — en cas de conflit de PK, supprime la ligne existante et insère la nouvelle.
- Lignes par lot — nombre de lignes insérées dans chaque instruction INSERT. Options : 100, 500 ou 1000. Des lots plus grands sont plus rapides mais consomment plus de mémoire serveur.
Le panneau de journal affiche la progression et le résultat ligne par ligne.
Exportez les bases de données et objets sélectionnés vers un fichier .sql ou .sql.gz sans bloquer l'interface.
Où le trouver : Espace de travail › Outils › Sauvegarde
Ouvrez Sauvegarde depuis la barre de navigation de l'espace de travail. Dans l'onglet Sauvegarde, sélectionnez les bases de données et objets à inclure à l'aide de l'arborescence à gauche. Configurez les options et choisissez le fichier de destination. Cliquez sur Générer la sauvegarde.
Traitement en arrière-plan :
La sauvegarde s'exécute entièrement hors du thread principal. L'interface reste totalement réactive pendant que le moteur vide les données. Le panneau de journal affiche la progression objet par objet en temps réel.
Temps restant estimé (ETA) :
Une fois le premier objet traité, un compteur de temps restant estimé apparaît à côté de la barre de progression, calculé à partir de la vitesse de vidage actuelle.
Annuler une sauvegarde :
Cliquez sur Annuler à tout moment. Le moteur s'arrête après la fin de l'opération en cours et supprime le fichier partiel du disque.
macOS : le fichier est enregistré dans le chemin choisi via le panneau du Finder. iPad : à la fin, le bouton Partager le fichier apparaît pour exporter le fichier vers le stockage de l'appareil ou iCloud Drive.
Notification à la fin :
Si vous minimisez l'application ou passez à une autre app pendant une longue sauvegarde, Calíope envoie une notification locale à la fin ou en cas d'erreur. Requiert l'autorisation de notifications (macOS : Centre de notifications ; iPad : Réglages › Notifications). Activez ou désactivez dans Préférences › Notifications › Sauvegarde manuelle en arrière-plan.
Choisissez les tables, vues, routines et utilisateurs à inclure.
Où le trouver : Sauvegarde › Arbre de sélection
L'arborescence à gauche affiche chaque base de données avec ses types d'objets : Tables, Vues, Routines, Triggers et Événements. Utilisez les boutons rapides Tout, Rien et Tables uniquement pour sélectionner en bloc, ou cochez/décochez individuellement. La section Utilisateurs permet d'inclure les comptes utilisateurs MySQL et leurs privilèges dans la sauvegarde.
L’arbre dispose en outre d’un filtre par nom dans son en-tête et affiche la taille estimée à côté de chaque table. La case de chaque base coche ou décoche tout son contenu, et à sa droite vous voyez combien d’objets sont sélectionnés sur le total. La section Utilisateurs se trouve sous l’arbre, et non dedans : les utilisateurs appartiennent au serveur et ne dépendent d’aucune base.
Exécutez un fichier .sql ou .sql.gz sur le serveur pour restaurer des données.
Où le trouver : Sauvegarde › Onglet Restaurer
Dans l'onglet Restaurer, sélectionnez le fichier avec le sélecteur unifié. Les fichiers .sql et .sql.gz (compressés avec gzip) sont acceptés ; Calíope détecte le format via le nombre magique du fichier, pas via l'extension, donc renommer le fichier ne change pas le résultat.
Aperçu : appuyez sur Aperçu pour inspecter les premières ~200 lignes avant d'exécuter. Utile pour vérifier quelles bases de données et instructions contient un dump avant de l'appliquer.
Confirmation préalable : en appuyant sur Restaurer, un résumé apparaît avec le nombre d'instructions détectées et les bases de données affectées (extraites de USE, CREATE DATABASE et DROP DATABASE). Si le script contient des DROP, le bouton de confirmation est marqué en rouge.
Annulation : pendant la restauration, vous pouvez appuyer sur Annuler pour arrêter après l'instruction en cours.
Erreurs : le panneau de journal affiche chaque erreur avec la première ligne de l'instruction fautive pour pouvoir la localiser dans le dump d'origine.
macOS : le sélecteur ouvre la boîte de dialogue standard du Finder. iPad : le sélecteur utilise le navigateur de documents du système, avec accès à iCloud Drive et aux applications compatibles. Un bookmark security-scoped est généré pour pouvoir relire le fichier après fermeture du sélecteur.
Nécessite une connexion active : le bouton est désactivé si aucun serveur n'est connecté. Un avertissement orange le signale.
Configurez le contenu, le format et la compression du fichier de sauvegarde généré.
Où le trouver : Sauvegarde › Section d'options
Dans l'onglet Sauvegarde, la section des options vous permet d'ajuster ce que le fichier généré contient :
- DROP avant CREATE — ajoute DROP TABLE IF EXISTS (ou DROP VIEW, DROP PROCEDURE, etc.) avant chaque instruction CREATE. Recommandé pour les restaurations propres qui écrasent les objets existants.
- Inclure les données — ajoute des instructions INSERT avec les données de chaque table sélectionnée. Désactivez cette option pour générer uniquement le schéma (structure sans données).
- Inclure la date dans le nom du fichier — ajoute la date et l'heure actuelles au nom du fichier de sortie (ex. backup_2025-06-05_14-30.sql).
- Inclure les utilisateurs — exporte les comptes utilisateurs MySQL et leurs privilèges avec des instructions CREATE USER et GRANT.
- Inclure les mots de passe — option explicite désactivée par défaut. Lorsqu'elle est désactivée, les instructions CREATE USER / GRANT sont écrites avec IDENTIFIED BY '***REDACTED***'. Activez-la uniquement si vous restaurez le fichier sur le même serveur et que le dossier de destination n'est pas synchronisé avec iCloud Drive, Dropbox ou tout autre service.
- Compresser la sortie (.sql.gz) — applique la compression gzip au fichier pendant sa génération, sans stocker le SQL complet en mémoire. Le fichier résultant est généralement 70 à 85 % plus petit que le .sql équivalent. La compression utilise le framework Compression d'Apple en temps réel.
macOS : le fichier est enregistré à l'aide de la boîte de dialogue standard du Finder. iPad : à la fin, le bouton Partager le fichier permet d'exporter le .sql ou .sql.gz vers n'importe quelle destination compatible avec le sélecteur de fichiers système.
Mots-clés : options sauvegarde, DROP IF EXISTS, inclure données, inclure utilisateurs, schéma, structure, données, date fichier, drop before create, compresser, gzip, sql.gz, compression
Configurez des sauvegardes récurrentes quotidiennes ou hebdomadaires avec notification à la fin.
Où le trouver : Espace de travail › Outils › Sauvegarde
Calíope peut exécuter des sauvegardes automatiquement sans intervention manuelle. Pour les configurer, ouvrez le panneau Sauvegarde depuis la barre latérale de l'Espace de travail.
Comment configurer une sauvegarde planifiée :
1. Dans la section Planifiées du panneau Sauvegarde, cliquez sur Ajouter une planification.
2. Choisissez la base de données à sauvegarder, la fréquence (quotidienne ou hebdomadaire), l'heure d'exécution et le dossier de destination.
3. Activez le commutateur de la planification pour la mettre en marche.
Comportement :
- Lorsque l'application est ouverte à l'heure configurée, la sauvegarde s'exécute en arrière-plan sans bloquer l'interface.
- À la fin, vous recevrez une notification système avec le nom du fichier et sa taille.
- Si l'application n'était pas ouverte à l'heure planifiée, la sauvegarde sera marquée comme en attente et s'exécutera à la prochaine ouverture de l'application.
- Les sauvegardes plus anciennes sont automatiquement supprimées lorsque le nombre maximum de copies configuré est dépassé.
Sélection du dossier de destination :
Calíope s'exécute dans un sandbox strict (exigence de l'App Store). Lorsque vous choisissez le dossier avec Parcourir, une autorisation persistante est créée pour ce chemin spécifique. Si vous déplacez ou renommez le dossier par la suite, l'application vous avertira qu'elle a besoin que vous le sélectionniez à nouveau. Modifier le chemin à la main dans la fiche ne suffit pas — utilisez toujours le bouton Parcourir.
Performances :
Les sauvegardes planifiées utilisent le même moteur de streaming que les sauvegardes manuelles : les données sont écrites directement sur disque objet par objet, sans bufferiser le SQL complet en mémoire. Cela permet de sauvegarder des bases de données de toute taille sans risque d'épuisement de la RAM ou de blocage de l'application.
Disponible sur macOS, iPad et iPhone. Nécessite l'autorisation de notifications système.
Réutilisez les paramètres d'une sauvegarde sans la planifier. Elles s'exécutent à la demande d'un clic.
Où le trouver : Sauvegarde › Onglet Planifiées
En plus des sauvegardes automatiques (quotidiennes, hebdomadaires, jours ouvrés, mensuelles ou toutes les N heures), l'onglet Planifiées peut accueillir des modèles manuels : configurations enregistrées avec un nom qui ne s'exécutent que lorsque vous appuyez sur le bouton Exécuter de leur ligne.
Comment créer un modèle manuel :
1. Depuis l'onglet Sauvegarde, après avoir configuré destination et options, appuyez sur Enregistrer comme préréglage… à côté du bouton Créer une sauvegarde. Le modèle est enregistré dans l'onglet Planifiées avec la fréquence « Manuel — à la demande ».
2. Alternativement, dans Planifiées › Ajouter, choisissez l'option Aucune planification (exécuter à la demande) dans le sélecteur de fréquence.
Différences visuelles d'un préréglage manuel :
- Icône bolt.circle.fill indigo (vs. calendar.badge.checkmark vert pour les planifiées actives).
- Bouton principal Exécuter toujours visible sur la ligne.
- Pas d'interrupteur actif/inactif ni de « prochaine exécution » (non applicable).
- Pas d'accumulation de missedRuns (n'entrent pas dans le cycle automatique).
Fréquences disponibles pour les sauvegardes automatiques :
- Quotidienne à une heure fixe.
- Hebdomadaire un jour précis de la semaine.
- L-V (jours ouvrés) du lundi au vendredi.
- Mensuelle un jour précis (1–28) du mois.
- Toutes les N heures comptées depuis la dernière exécution.
- Manuel (à la demande) — sans planification automatique.
Historique d'exécution : chaque sauvegarde planifiée conserve les 10 dernières exécutions (succès, échecs, annulées et sautées). L'icône clock.arrow.circlepath sur la ligne ouvre la feuille avec le tableau.
Mots-clés : préréglage, modèle, manuel, à la demande, planifiée, fréquence, mensuel, jours ouvrés, toutes les N heures, historique, run history