03-comment-je-travaille/guides/composer.md

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 :

  1. Ajouter le dépôt VCS au composer.json :
"repositories": [
  { "type": "vcs", "url": "<GIT_URL_DU_BUNDLE>" }
]
  1. Ajouter la dépendance :
composer require <vendor>/<bundle>:^<version>

Notes :

  • En dev : vous pouvez utiliser dev-develop si 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 :

  1. Ajouter le dépôt path :
"repositories": [
  { "type": "path", "url": "../<bundle-local>" }
]
  1. 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-bundle n'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-doc dans composer.json
  • ajout de la dĂ©pendance codexia/doc-bundle
  • activation du bundle CodexiaDocBundle dans config/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 /docs vers /toc.md + accès direct aux fichiers via le chemin racine
  • paramètres DOCS_PUBLIC et DOCS_CACHE_SECONDS pour contrĂ´le d'accès et cache
  • headers HTTP de cache (ETag + Last-Modified) sur les fichiers de documentation
  • routes /docs fournies par le bundle codexia/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 :

  1. Ajouter un script de synchronisation dans le projet (ex: bin/sync-docs.php).
  2. 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.

Assistant documentaire

Posez une question sur la documentation. Les réponses citent leurs sources — un clic ouvre le document à gauche.

Loading…
Loading the web debug toolbar…
Attempt #