DB Manager — Guide utilisateur | YoBench
Comment utiliser le module « DB Manager » dans YoBench : MySQL, PostgreSQL, MongoDB, SQLite et MS SQL, diagrammes ER, éditeur SQL avec IA, comparaison de schémas, sauvegardes planifiées.
À quoi sert le module « DB Manager »
DB Manager est un atelier unifié pour travailler avec des bases relationnelles et documentaires directement depuis YoBench. Au lieu de jongler entre plusieurs outils (DBeaver, pgAdmin, mysql-cli, MongoDB Compass), vous vous connectez depuis une seule application : exploration du schéma, exécution de requêtes, génération de SQL par IA, comparaison de schémas, sauvegardes planifiées et surveillance de la connexion.
Ce que vous obtenez :
- Six moteurs de bases de données — MySQL, MariaDB, PostgreSQL, SQLite, MS SQL Server, MongoDB.
- Schema explorer — arbre complet des bases / schémas / tables / vues / procédures avec leur structure, leurs index, leurs clés étrangères et leurs triggers.
- Éditeur SQL avec historique des requêtes, export des résultats en CSV / JSON / XLSX et garde-fou de 10 000 lignes.
- Génération SQL par IA — décrivez ce dont vous avez besoin en langage naturel, recevez une requête prête, liée au contexte de la base courante.
- Diagramme ER avec mise en page automatique Dagre, arêtes des clés étrangères, zoom et déplacement.
- Schema Compare and Sync — comparez deux schémas, générez le script
ALTER, appliquez-le à la cible. - Sauvegardes — dump et restauration manuels, plus un planificateur avec cron, rotation des fichiers et historique des exécutions.
- Surveillance des connexions — vérifications de disponibilité, latence, bannière de version.
- Secrets chiffrés — mots de passe, clés SSL et clés SSH sont stockés chiffrés dans la base locale ; le renderer ne voit que des indicateurs
has_password.
Moteurs supportés et options de connexion
| Moteur | Port par défaut | Notes |
|---|---|---|
| MySQL | 3306 | TCP/IP, SSL optionnel |
| MariaDB | 3306 | Même famille de protocole que MySQL |
| PostgreSQL | 5432 | Modes SSL : disable, require, verify-ca, verify-full |
| MS SQL Server | 1433 | TCP/IP |
| MongoDB | 27017 | Paramètre authSource pour la base d\'authentification |
| SQLite | — | Fichier local, ni hôte ni port |
Pour les moteurs basés sur TCP, vous pouvez stocker des identifiants de tunnel SSH dans la fiche de connexion (le champ est réservé pour une future exposition dans l\'UI). Tous les champs sensibles — mot de passe, clé SSL, mot de passe SSH, clé privée SSH — sont chiffrés au repos.
Workbench
Chaque connexion ouverte vit dans son propre onglet. Une seule fenêtre peut héberger jusqu\'à 10 sessions actives (limite côté renderer). Les sessions sans interface, utilisées par le planificateur, les sauvegardes et les vérifications de santé, tournent dans un pool séparé.
Le Workbench inclut :
- Arbre du schéma à gauche — descendez de la racine de la connexion jusqu\'à une table ou une vue précise.
- Inspecteur d\'objets — colonnes avec types et nullabilité, index (avec leur unicité), contraintes, clés étrangères et triggers.
- Vue données — lignes paginées avec filtres au niveau de la colonne. Les cellules sont plafonnées à 64 Ko ; le résultat porte un drapeau
truncatedsi le nombre de lignes dépasse 10 000. - Éditeur SQL — écrivez ou collez une requête, exécutez-la, consultez les résultats sous forme de table, naviguez dans l\'historique.
- Vue DDL — script
CREATEcomplet pour la table sélectionnée ou pour toute la base. - Diagramme ER — canevas interactif React Flow avec auto-layout Dagre pour les tables et les arêtes FK.
Éditeur SQL et génération par IA
L\'éditeur SQL accepte n\'importe quelle instruction pour le moteur connecté. Les résultats apparaissent dans une table triable qui supporte des filtres par colonne et trois formats d\'export : CSV, JSON et XLSX. Chaque requête exécutée est conservée dans l\'Historique des requêtes de la connexion pour pouvoir la rejouer ou la copier plus tard.
La génération SQL par IA est disponible quand un fournisseur IA est configuré sous Réglages → DB Manager :
- Ouvrez le champ IA au-dessus de l\'éditeur.
- Décrivez ce que vous voulez (par exemple : « top 10 des clients par chiffre d\'affaires sur les 30 derniers jours »).
- La base / le schéma courants sont envoyés en contexte, l\'IA renvoie une requête, vous la relisez et l\'exécutez.
Si aucun fournisseur n\'est sélectionné, le bouton IA reste désactivé — l\'exécution de requêtes continue de fonctionner, seule la génération est indisponible.
Schema Compare et synchronisation
Choisissez deux schémas (depuis la même connexion ou depuis deux différentes), lancez Schema Compare et examinez le diff :
- Tables :
added,removed,altered,identical. - Pour les tables modifiées : changements colonne par colonne (colonnes ajoutées / supprimées, changements de type, de valeur par défaut, de nullabilité, changements d\'index).
- Un script de synchronisation généré — une séquence exécutable d\'
ALTER/CREATE/DROPqui aligne la cible sur la source. - Export optionnel du script sur disque avant exécution.
Utilisez-le pour deux scénarios typiques : promouvoir des changements de staging vers la production, et vérifier que deux réplicas n\'ont pas dérivé.
Sauvegarde et restauration
Dump unique. Clic droit sur une connexion → Backup. Le dump est écrit dans une archive ZIP qui contient un manifeste JSON et la charge utile de la base. Vous pouvez inclure ou exclure :
- Les lignes de données
- Les vues, procédures stockées et fonctions
- Les grants
Restauration. Ouvrez la connexion cible (ou créez-en une nouvelle pour une base vide) → Restore → choisissez l\'archive du dump → confirmez la stratégie d\'écrasement.
Sauvegardes planifiées. Depuis le panneau Backup Schedules d\'une connexion :
- Choisissez une expression cron ou un préréglage (chaque jour, chaque semaine, toutes les N heures).
- Sélectionnez un dossier de destination.
- Réglez la rotation : garder les N archives les plus récentes.
- Bouton Run Now optionnel pour valider la planification sans attendre.
Le panneau Backup History affiche chaque exécution avec son statut, la taille de l\'archive et la durée. Les exécutions échouées contiennent le message d\'erreur.
Surveillance des connexions
Chaque connexion possède un drapeau de monitoring optionnel avec un intervalle (5 minutes par défaut). Quand il est activé, le Workbench :
- Effectue un ping vers le serveur avec la vérification de disponibilité spécifique au moteur.
- Enregistre la latence en millisecondes.
- Stocke la dernière bannière de version du serveur.
- Affiche un indicateur de statut sur la ligne de la connexion dans la liste.
L\'historique est stocké localement et alimente le Monitoring panel dans l\'onglet du Workbench.
Tâches DB embarquées
Chaque connexion peut héberger ses propres DB tasks — des scripts SQL périodiques (nettoyage, rafraîchissement de vues matérialisées, statistiques). Une tâche comporte :
- Un nom et le corps SQL.
- Une planification (style cron).
- Un interrupteur activé / désactivé.
- Un historique des exécutions avec statut :
success,error,timeout.
Les DB tasks ne sont pas l\'AI Task Scheduler : elles restent du SQL pur, sur une seule connexion, sans IA impliquée.
Réglages
Sous Réglages → DB Manager :
- Fournisseur IA — quel fournisseur répond au prompt SQL généré par IA. Vide par défaut.
Les réglages par connexion vivent dans le formulaire de connexion : nom, moteur, hôte, port, base, utilisateur, mot de passe, mode SSL, chemin du fichier SQLite, intervalle de monitoring et options spécifiques au moteur (par exemple authSource pour MongoDB).
Flux d\'utilisation
1. Ajoutez une connexion
- Ouvrez DB Manager depuis la barre latérale.
- Onglet Connections → New connection.
- Choisissez le moteur — le formulaire change pour ne montrer que les champs pertinents.
- Renseignez hôte / port / base / utilisateur / mot de passe (ou le chemin du fichier pour SQLite).
- Cliquez sur Test — vous voyez la version du serveur et la latence aller-retour.
- Enregistrez.
2. Ouvrez le workbench
- Cliquez sur Open sur une ligne de connexion → un nouvel onglet s\'ouvre.
- Parcourez l\'arbre du schéma, double-cliquez sur une table pour inspecter ses données et sa structure.
- Passez sur SQL Editor pour exécuter des instructions.
3. Planifiez les sauvegardes
- Depuis le menu de la connexion, choisissez Backup Schedules.
- New Schedule → dossier, expression cron, rétention.
- Run Now pour vérifier, ou laissez le tic du cron arriver.
- Inspectez les exécutions sous Backup History.
4. Comparez les schémas
- Depuis le menu de la connexion, choisissez Schema Compare.
- Sélectionnez la source et la cible (base + schéma).
- Compare → examinez le diff.
- Generate Sync Script → relisez le SQL → Execute ou Save to file.
Étapes suivantes
- Configurez un fournisseur IA pour activer la génération SQL par IA.
- Utilisez l\'AI Task Scheduler quand vous avez besoin qu\'un LLM exécute une requête, résume le résultat et le poste quelque part selon un planning cron.
- Pour des tests de charge et de capacité de la base elle-même, le module Load Testing peut solliciter les endpoints HTTP devant elle.
Aide et retour
Bug trouvé ou nouveau moteur à supporter ? Contactez-nous via le formulaire de retour.