Comment installer et gérer les services ?¶
Edu Framework utilise plusieurs services pour fonctionner. Pour les installer, vous avez deux possibilités :
Utiliser Docker pour émuler les services¶
Docker Desktop
Pour utiliser Docker, vous devez installer Docker Desktop sur votre machine. Vous pouvez télécharger Docker Desktop sur le site officiel : Docker Desktop
Démarrer Docker Desktop sur votre machine puis :
Le fichier compose.yaml inclut désormais un serveur web FrankenPHP qui exécute l'application elle-même dans Docker (voir la page dédiée : L'application dans Docker).
Pour démarrer tous les services :
Si vous exécutez l'application sur votre poste avec php bin/edu start, vous pouvez ne démarrer que les services utiles, sans le serveur web :
Pour arrêter les services, vous pouvez suivre les instructions suivantes :
Pour installation et démarrer des services, vous pouvez suivre les instructions suivantes :
Pour arrêter les services, vous pouvez suivre les instructions suivantes :
Pour utiliser Docker pour émuler les services, vous pouvez suivre les instructions suivantes :
Puis taper la commande suivante pour démarrer les services :
Pour arrêter les services, vous pouvez suivre les instructions suivantes :
La commande de démarrage des services peut varier en fonction de la version de docker, voici un exemple :
Une fois les services démarrés, vous pouvez accéder au service via docker desktop ou via le terminal. Voici un exemple :
Les services sont prêts à être utilisés. Vous pouvez maintenant démarrer votre application Edu Framework. Les services sont disponibles sur les ports suivants :
| Composants | Socket (port d'écoute) | URL | Version |
|---|---|---|---|
| :simple-frankenphp: FrankenPHP | 80 / 443 | http://127.0.0.1 | PHP 8.4 |
| MariaDB | 3306 | 127.0.0.1:3306 | latest |
| PHPMyAdmin | 8081 | http://127.0.0.1:8081 | latest |
| MailPit | 1025 (SMTP) / 8025 (UI) | http://127.0.0.1:8025 | latest |
| dbgate | 8082 | http://127.0.0.1:8082 | latest |
Ports paramétrables
Depuis la version 2.7, tous les ports publiés sur votre machine sont paramétrables dans le fichier .env — pratique pour faire tourner plusieurs projets simultanément. Voir Ports et coexistence de plusieurs projets.
MailPit : le service de mail
MailPit remplace Mailcatcher depuis la version v2.3.0.
Il fait office de serveur SMTP (port 1025) pour tester l'envoi de mails depuis votre application,
et propose une interface web (port 8025) pour consulter les mails envoyés.
La variable d'environnement MAILER_DSN de votre fichier .env doit pointer vers ce service :
dbgate : le client de base de données
Le service dbgate remplace avantageusement un client SQL installé sur votre poste. Il propose deux connexions pré-configurées :
- MySql : serveur
database, utilisateurroot, mot de passestudoo(baseapp_db) - SQLite : fichier
var/logs/core_logs.sqlite(logs des requêtes, consultables également depuis le profiler)
Info
Pour accéder à PHPMyAdmin, vous pouvez utiliser les identifiants suivants :
- Utilisateur :
root - Mot de passe :
studoo - Base de données par défaut :
app_db
Vous pouvez également accéder à la base de données MariaDB via un client SQL comme DBeaver ou MySQL Workbench.
Installer les services sur votre machine¶
La deuxième solution est d'installer les services directement sur votre machine pour émuler les services. Pour faciliter l'installation et la configuration, vous pouvez utiliser des services comme MAMP, XAMPP...
Pour installer les services sur votre machine, vous pouvez installer les services suivants :
| Composants | OS compatible | URL | Recommandation |
|---|---|---|---|
| XAMPP | https://www.apachefriends.org/fr | ||
| MAMP | https://www.mamp.info | ||
| WAMP | https://wampserver.aviatechno.net | ||
| LAMP | https://doc.ubuntu-fr.org/lamp |
Cette liste n'est pas exhaustive et peut être amenée à évoluer.
Information importante
Nous vous recommandons d'utiliser Docker pour émuler les services.
Cela vous permettra de gagner du temps et de simplifier le processus de développement. Installer les services directement sur votre machine peut être plus complexe et plus long. Il fige également les versions des services installés. Ce qui peut poser des problèmes de compatibilité avec les versions utilisées par le framework.