3. Bases de données, sites et terminaux
3.1 Les serveurs de bases de données
MySQL et MongoDB du kit : les démarrer, les mots de passe, les ports, plusieurs versions ensemble, phpMyAdmin, mongo-express et l'explorateur de données.
Dans l'application: «Bases de données»
En bref
- Le kit dispose d'un serveur MySQL et d'un serveur MongoDB, partagés par tous les projets et accessibles uniquement depuis ce PC.
- « Démarrer » installe le serveur s'il manque, l'allume et génère le mot de passe administrateur.
- Chaque projet a ensuite sa propre base de données et son propre utilisateur, que vous créez depuis la page du projet.
- MySQL s'explore et se modifie avec phpMyAdmin, MongoDB avec mongo-express, tous deux dans le navigateur.

État et adresse, connexion, version, port, « Démarrer avec Atollo » et les autres versions installées.
La page Bases de données
Dans la barre latérale, le panneau « Serveurs » liste MySQL et MongoDB avec le port, l'état et le bouton « Démarrer » ou « Arrêter ». Un clic sur un serveur ouvre sa page. En haut de la barre : « Actualiser », « Ouvrir le dossier des données » (data\db) et le livre du guide.
| État | Signification |
|---|---|
| Arrêté (gris) | Le serveur est éteint. |
| Démarrage… (jaune) | Le serveur démarre ; le kit attend qu'il réponde (jusqu'à 90 secondes). |
| Démarré (vert) | Le serveur répond sur 127.0.0.1 à son port. |
| Erreur (rouge) | Il n'a pas démarré : la page affiche la dernière erreur et le fichier journal. |
| Non installé : installé au premier démarrage | Le composant n'est pas encore là ; « Démarrer » le télécharge d'abord. |
La page d'un serveur
En haut : l'état, l'adresse 127.0.0.1:<port>, la version et les boutons « Démarrer » ou « Arrêter » ; pour MySQL aussi « Ouvrir phpMyAdmin », pour MongoDB « Ouvrir mongo-express ».
| Partie | Ce qu'elle contient |
|---|---|
| Connexion | « Chaîne » : l'adresse pour se connecter en tant qu'administrateur (sans mot de passe). « Mot de passe de root » (MySQL) ou « Mot de passe de admin » (MongoDB) : masqué, avec « Afficher » et « Copier ». Avant le premier démarrage : « Généré au premier démarrage. » |
| Paramètres | « Version » (si vous en avez plusieurs ; elle se change serveur arrêté), « Port » (entre 1024 et 65535, valable dès le prochain démarrage) et « Démarrer avec Atollo » (le serveur démarre tout seul à l'ouverture de l'application). |
| Autres versions | Apparaît si vous avez installé plusieurs versions du même serveur : chacune tourne sur son port avec ses données (voir plus bas). |
| Fichiers | « Données » : le dossier des données de cette version. « Journal » : le fichier avec la sortie du serveur. |
Explorer les données
| Serveur | Comment voir les données |
|---|---|
| MySQL | « Ouvrir phpMyAdmin ». La première fois, le kit installe phpMyAdmin (et PHP s'il manque), allume MySQL s'il est éteint et ouvre phpMyAdmin dans le navigateur, déjà connecté en tant que root. Pour une autre version, il y a « phpMyAdmin sur … » dans la partie « Autres versions ». |
| MongoDB | « Ouvrir mongo-express ». La première fois, le kit installe mongo-express (et Node.js s'il manque), allume MongoDB s'il est éteint et ouvre mongo-express dans le navigateur, déjà connecté en tant qu'admin : bases de données, collections, documents, index, import et export. Pour une autre version, il y a « mongo-express sur … ». |
Sous le capot : phpMyAdmin et mongo-express
phpMyAdmin tourne avec le serveur PHP intégré du kit sur une adresse de loopback aléatoire (127.x.y.z, pas 127.0.0.1) et sur un port choisi par le système, avec un nouveau jeton à chaque démarrage : sans le jeton, il répond 403. Un seul s'ouvre à la fois ; il s'arrête avec la version de MySQL à laquelle il est connecté ou avec l'application. Sa langue est celle d'Atollo.
mongo-express est une build d'Atollo : compilée en CI depuis le code de mongo-express à un commit fixé, publiée dans les releases d'Atollo et vérifiée avec son SHA-256 avant l'installation. Il tourne avec le Node.js du kit, comme phpMyAdmin : une adresse de loopback à lui, un port qu'aucune autre partie d'Atollo n'utilise, un nouveau jeton à chaque démarrage, 403 sans lui. Le mot de passe admin de MongoDB ne lui parvient que dans son environnement, jamais sur la ligne de commande ni dans le navigateur. L'interface de mongo-express est en anglais.
Plusieurs versions du même serveur
Vous pouvez installer plusieurs versions de MySQL ou de MongoDB (depuis la page Outils). Le serveur utilise celle choisie dans « Version », en général la plus récente. Les autres apparaissent dans la partie « Autres versions » : chacune a son port (3307, 3308… pour MySQL, attribués au premier démarrage) et son dossier de données, et démarre avec le serveur principal si un projet l'utilise.
- Au premier démarrage d'une version plus récente, le kit copie les données de la précédente, qui restent telles quelles : vous pouvez revenir en arrière.
- Un projet choisit la version du serveur dans sa section « Bases de données » ; le port lui arrive sous la forme DB_PORT.
- Chaque version garde son port : changer la « Version » du serveur ne déplace aucun port, et les connexions des projets restent justes.
- Un port qu'a déjà une autre version, un pool de serveurs web ou une action d'un projet, ou un port entre 7000 et 7099 (ceux de l'éditeur), est refusé : le message dit à qui il appartient.
- Deux démarrages simultanés de la même version (depuis la page et depuis un projet, par exemple) allument un seul serveur, sur le même port.
Sous le capot
| Quoi | Où |
|---|---|
| Données de chaque version | data\db\mysql\8.4 · data\db\mongodb\8.0 |
| Ports, démarrage automatique, version choisie | data\app\services.json |
| Mots de passe root et admin | data\app\db\secrets.json |
| Connexion de mysql dans la console | data\app\db\mysql.cnf |
| Journaux | data\app\logs\mysql.log · mongodb.log |
Le dossier data\app\db n'est lisible que par votre utilisateur sur les disques NTFS. MySQL utilise un fichier my.cnf écrit par le kit à chaque démarrage (uniquement 127.0.0.1, pas de journal binaire, noms de tables en minuscules) ; MongoDB démarre toujours avec l'authentification. La commande mysql dans la console se connecte en tant que root uniquement sur la version principale.