Question à propos de composer

Le problème exposé dans ce sujet a été résolu.

Bonjour :)

J’ai une petite question, j’utilise composer pour pas mal de librairie, je l’ai placé dans le dossier :

/home/www/config/composer
/home/www/index.php

Mais des fois je vois certains l’utiliser dans :

/home/composer
/home/.nmp
/home/www/index.php

Je ne comprends pas trop la différence si c’est pour la sécurité ? la gestion (mettre tout au même endroit [composer|nmp|gem]) ?

Voilà, merci :)

+0 -0

Bonjour !

composer n’est qu’un exécutable PHP qu’on utilise pour gérer les dépendances — sa localisation dans l’arbre des fichiers n’importe que peu, tant qu’il ne se retrouve pas dans le dépôt de code s’il y en a un (et que composer est lisible et exécutable, bien sûr).

  • Certaines personnes préféreront le garder dans le dossier du projet car ça leur est plus pratique, tout en l’excluant du VCS le cas échéant (par exemple via un .gitignore ou équivalent ailleurs).
  • D’autres préfèrent le garder ailleurs afin de ne pas être gêné d’un fichier à exclure dans leur architecture et garder les outils hors du code — quitte à toujours l’appeler avec des ../ pour remonter vers l’exécutable.
  • D’autres (c’est personnellement ce que je préfère) aiment à le lier symboliquement dans /usr/bin afin qu’il soit disponible comme une commande globale depuis n’importe quel dossier.
  • Et enfin, dans des cas plus avancés, de systèmes qui auto-déploient leur version de Composer à l’installation par exemple, on préfère mettre composer dans le dossier du projet histoire que tout reste proprement encapsulé.

Mais dans aucune de ces raisons, la sécurité ne joue vraiment. Tant que composer et vendors/ restent hors du VCS, tout va bien :) . En dehors du dernier cas un peu particulier, c’est surtout une affaire de goût.

+1 -0

Car il s’agit de sources qui sont récupérées par Composer, qui sont donc dupliquées dans le VCS ; il n’y a aucun intérêt de les versionner étant donné que Composer peut les re-générer à la demande.

Ce qui fait foi, c’est le fichier composer.lock qui stocke les versions exactes des dépendances. À partir de ce verrou, Composer retélécharge et reforme le dossier vendors/ à l’identique. Il suffit donc, et il est vu comme une mauvaise pratique de versionner ce dossier — sauf cas particuliers l’imposant.

Ce fichier — composer.lock — doit, lui, être dans le VCS.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte