Composer (bundles)
Ce guide explique comment installer un bundle Symfony via Composer, de façon générique.
Cas 1 : dépôt Git (VCS)
Utiliser un dépôt VCS quand le bundle n'est pas publié sur Packagist.
Étapes :
- Ajouter le dépôt VCS au
composer.json:
"repositories": [ { "type": "vcs", "url": "<GIT_URL_DU_BUNDLE>" } ]
- Ajouter la dépendance :
composer require <vendor>/<bundle>:^<version>
Notes :
- En dev : vous pouvez utiliser
dev-developsi nécessaire. - En prod : utiliser un tag de release (
vX.Y.Z) via une contrainte stable.
Cas 2 : dépôt local (path)
Utiliser un dépôt path pour un override local.
Étapes :
- Ajouter le dépôt
path:
"repositories": [ { "type": "path", "url": "../<bundle-local>" } ]
- Ajouter la dépendance :
composer require <vendor>/<bundle>:dev-develop
Déploiement
En déploiement, on ne fait pas de composer require.
On clone le tag de l'application, puis composer install.
Exemple (telaria-doc)
À venir — non encore publié. Le paquet
codexia/doc-bundlen'existe pas encore : cette section décrit l'installation prévue pour la future fonctionnalité/docs(cf.specs/docs-web.md, statut conceptuel).
- Repo GitHub :
https://github.com/<owner>/telaria-doc - Dépendance :
codexia/doc-bundle:^0.1.11
Modifications d'installation (codexia-code)
Source : C:\\src\\codexia (CHANGELOG.md + README.md).
0.1.1
- ajout du dépôt VCS
telaria-docdanscomposer.json - ajout de la dépendance
codexia/doc-bundle - activation du bundle
CodexiaDocBundledansconfig/bundles.php - suppression du dossier local de documentation (remplacé par le bundle)
- README mis à jour avec la procédure d'installation du bundle
Unreleased
- synchronisation de la documentation depuis le bundle après
composer install/composer update - redirection 308 de
/docsvers/toc.md+ accès direct aux fichiers via le chemin racine - paramètres
DOCS_PUBLICetDOCS_CACHE_SECONDSpour contrôle d'accès et cache - headers HTTP de cache (ETag + Last-Modified) sur les fichiers de documentation
- routes
/docsfournies par le bundlecodexia/doc-bundle
Documentation en dur Ă la racine (codexia)
Par défaut, les docs du bundle sont dans vendor/codexia/doc-bundle/.
Si tu veux la documentation Ă la racine du projet (lecture directe comme public/), copie le contenu du bundle Ă chaque install/update.
Étapes recommandées :
- Ajouter un script de synchronisation dans le projet (ex:
bin/sync-docs.php). - Brancher le script sur Composer :
"scripts": { "post-install-cmd": [ "@php bin/sync-docs.php" ], "post-update-cmd": [ "@php bin/sync-docs.php" ] }
Le script doit :
- supprimer la documentation Ă la racine du projet
- recopier
vendor/codexia/doc-bundle/vers la racine
Accès navigateur :
- une règle de ré-écriture sur fichiers existants avec un redirect 30X suffit.