Aller au contenu

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 :

docker compose up -d --build

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 :

docker compose up -d database mailer dbgate phpmyadmin

Pour arrêter les services, vous pouvez suivre les instructions suivantes :

docker compose down

Pour installation et démarrer des services, vous pouvez suivre les instructions suivantes :

docker compose up -d

Pour arrêter les services, vous pouvez suivre les instructions suivantes :

docker compose down

Pour utiliser Docker pour émuler les services, vous pouvez suivre les instructions suivantes :

composer edu:init

Puis taper la commande suivante pour démarrer les services :

composer edu:docker:db-service:start mysql

Pour arrêter les services, vous pouvez suivre les instructions suivantes :

composer edu:docker:db-service:stop mysql

La commande de démarrage des services peut varier en fonction de la version de docker, voici un exemple :

Screen Start Docker CLI

Une fois les services démarrés, vous pouvez accéder au service via docker desktop ou via le terminal. Voici un exemple :

Screen Start Docker Docker

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 :

MAILER_DSN="smtp://localhost:1025"

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, utilisateur root, mot de passe studoo (base app_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.