Un installateur pour simuler l'infrastructure du fablab de St Gély (Dolibarr / OpenLdap / Symfony)
Basée sur l'environnement d'exécution officiel basés sur Docker pour le framework web Symfony, avec FrankenPHP et Caddy à l'intérieur !
Basé sur https://github.com/dunglas/symfony-docker
NodeJS pour les assets: https://nodejs.org/fr
Si vous voulez un coup de main de l'IA testez Cursor, c'est Visual Studio Code avec de l'IA intégré : https://www.cursor.com/
Extensions VS Code:
- MySQL : cweijan.vscode-mysql-client2
- LDAP Explorer : fengtan.ldap-explorer
- PHP Debug : xdebug.php-debug
Pour ldap j'utilise aussi ça : https://github.com/uroesch/LdapAdminPortable/releases/tag/v1.8.3-uroesch
Si ce n'est pas déjà fait, installez Docker Desktop
Lancer le script deploy.bat pour installer le serveur Pour ne pas avoir à reset complètement le cache soft_restart.bat
- Exécutez
docker compose build --no-cache
pour construire des images fraîches - Exécutez
docker compose up --pull always -d --wait
pour configurer et démarrer l'infrastructure - Ouvrez
https://localhost
dans votre navigateur web préféré et acceptez le certificat TLS auto-généré - Exécutez
docker compose down --remove-orphans
pour arrêter les conteneurs Docker.
Installation de mkcert sur Windows
winget install FiloSottile.mkcert
Validation local du certificat de test
docker compose cp php:/data/caddy/pki/authorities/local/root.crt %TEMP%/root.crt && certutil -addstore -f "ROOT" %TEMP%/root.crt
Ce projet utilise Docker pour créer un environnement de développement cohérent et isolé. Voici un aperçu rapide de la structure décrit dans compose.yaml / compose.override.yaml
- php Un conteneur pour FrankenPHP (serveur web optimisé pour PHP)
- database Un conteneur pour la base de données (mariadb )
- dolibarr / dolibarr_database Un conteneur dolibarr et mariadb
- openldap Un conteneur openldap
npm install
npm run dev
Pour créer la base de données de l'application, suivez ces étapes :
-
Exécutez la commande Symfony pour créer la base de données :
php bin/console doctrine:database:create
-
Ensuite, créer les tables nécessaires à partir du schéma présent dans src/Entity/:
php bin/console doctrine:schema:create