Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste :

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
fr:tutoriels:utiliser-composer [2015/03/09 09:07] – [Développer une application et des modules séparément] laurentfr:tutoriels:utiliser-composer [2015/03/09 14:17] laurent
Ligne 14: Ligne 14:
 Une application développée avec Composer ne comporte normalement pas les bibliothèques tierces. C'est à dire que le code source de l'application, dans un dépôt git, subversion ou mercurial, ne contient pas le code source de ces bibliothèques tierces. Elles sont installées par Composer lors du déploiement de l'application (que ce soit en local pour développer ou sur un serveur de déploiement pour la mise en production). Une application développée avec Composer ne comporte normalement pas les bibliothèques tierces. C'est à dire que le code source de l'application, dans un dépôt git, subversion ou mercurial, ne contient pas le code source de ces bibliothèques tierces. Elles sont installées par Composer lors du déploiement de l'application (que ce soit en local pour développer ou sur un serveur de déploiement pour la mise en production).
  
-Ainsi, une application utilisant le framework Jelix 1.7+ avec Composer, ne devrait pas inclure Jelix dans son code source, et indiquer plutôt le paquet Jelix dans le fichier composer.json de l'application. Composer installera alors les fichiers de Jelix (et autres bibliothèques) dans un dossier @@vendor/@@ (que vous ne devez donc pas inclure dans votre dépôt git/svn/hg).+Ainsi, une application utilisant le framework Jelix 1.7+ avec Composer, ne devrait pas inclure Jelix dans son code source, et indiquer plutôt le paquet Jelix dans le fichier composer.json de l'application. Composer installera alors les fichiers de Jelix (et autres bibliothèques) dans un dossier @@vendor/@@ (que [[https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md|vous ne devez donc pas inclure dans votre dépôt]] git/svn/hg).
  
 Pour créer un nouveau projet, deux choix. Pour créer un nouveau projet, deux choix.
Ligne 159: Ligne 159:
 ===== Développer une application et des modules séparément ===== ===== Développer une application et des modules séparément =====
  
-Il arrive que l'on développe une application qui utilise des modules externes (utilisés par d'autres projets) que l'on a soit-même développé ou auxquels on contribue. Et que l'on veuille dans le même temps améliorer le code de ces modules externes. Cependant, les installer avec Composer impose que l'on commit les modifications dans leurs dépôts respectifs. Cela veut dire qu'il va certainement falloir commiter à de nombreuses reprises lors du debuggage et la mise au point. De quoi "pourrir" l'historique du dépôt des modules. Et de nombreux "Composer update" en ligne de commande...+Il arrive que l'on développe une application qui utilise des modules externes (utilisés par d'autres projets) que l'on a soit-même développé ou auxquels on contribue. Et que l'on veuille dans le même temps améliorer le code de ces modules externes.  
 + 
 +On aurait donc une application dans un dépôt gitet les autres modules dans d'autres dépôt git. L'application aurait son composer.json référençant les paquets de ces modules, et donc au final un répertoire @@vendor/@@ contenant les fichiers de ces modules. 
 + 
 +Cependant, installer ces modules avec Composer impose que l'on commit les modifications dans leurs dépôts respectifs. Cela veut dire qu'il va certainement falloir commiter à de nombreuses reprises lors du debuggage et la mise au point. De quoi "pourrir" l'historique du dépôt des modules. Et de nombreux "Composer update" en ligne de commande...
  
 On peut bien sûr limiter ces commits en écrivant des tests unitaires dans les dépôts des modules, mais cela n'est pas toujours suffisant : on ne peut pas tester l'intégration du module dans une application... sans application. On peut bien sûr limiter ces commits en écrivant des tests unitaires dans les dépôts des modules, mais cela n'est pas toujours suffisant : on ne peut pas tester l'intégration du module dans une application... sans application.
Ligne 174: Ligne 178:
  
  
- 
-TODO: verifier le comportement de composer avec des changements dans le dépôt local de vendor/monmodule/: 
- 
-   * changement dans la branche tracké via "composer" 
-     * modif puis composer update/install. Résultat : ? 
-     * modif puis commiter puis  composer update/install. Résultat : ? 
-     * modif puis commiter puis pusher puis composer update/install. Résultat : ? 
-   * changement dans la branche tracké via "origin" 
-     * modif puis composer update/install. Résultat : ? 
-     * modif puis commiter puis  composer update/install. Résultat : ? 
-     * modif puis commiter puis pusher puis composer update/install. Résultat : ? 
-   * passage à une version stable dans le composer.json, sans modification des sources du module. Résultat : ? 
-   * passage à une version stable dans le composer.json, avec modification des sources du module non commitées. Résultat : ? 
-   * passage d'une version stable à instable. Résultat : ? 
  

fr/tutoriels/utiliser-composer.txt · Dernière modification : 2015/03/09 16:04 de laurent

Fils rss des changements récents dans le wiki Creative Commons License