Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 1 livre papier acheté 
= la version en ligne automatiquement offerte. Cliquez ici

Les outils de gestion de dépendances

Introduction

Il n’y a pas si longtemps, lorsque nous souhaitions installer une librairie, il suffisait de cliquer sur le fichier zip à enregistrer, puis de le dézipper dans un dossier et le tour était joué. Aujourd’hui, ce n’est plus la même chose.

Pourquoi ?

Parce que la majorité des librairies ne se suffisent plus à elles-mêmes pour fonctionner. Elles ont besoin d’une multitude d’autres librairies indépendantes auxquelles elle sont raccordées et qu’il faut également charger. C’est ce qu’on appelle les dépendances.

Il est donc nécessaire d’avoir un outil qui s’occupe de télécharger tout ce qu’il faut pour que la librairie fonctionne. Cet outil s’appelle un gestionnaire de dépendances. 

Il existe une multitude de gestionnaires de dépendances. Nous allons voir les deux plus utilisés : Composer et plus récent Scoop (utilisable uniquement sous Windows).

Le gestionnaire de dépendances Composer

C’est un programme PHP que vous trouverez sur ce lien : https://getcomposer.org

images/7RI1.png

 Cliquez sur le bouton Download :

images/7RI2.png

Vous pouvez cliquer sur le lien Composer-Setup.exe pour installer Composer sur votre PC.

Même si vous avez choisi la solution ci-dessus, nous vous engageons à suivre la suite, notamment tout ce qui concerne l’installation de l’exécutable php dans les variables d’environnement. Vous en aurez besoin par la suite.

Vous pouvez aussi, c’est la solution que nous allons prendre, exécuter Composer en ligne de commande.

Les instructions de la ligne de commande commencent toutes par php. En effet, Composer n’est rien d’autre qu’un programme PHP. Pour exécuter une instruction PHP en ligne de commande, il faut que votre système sache où se trouve l’exécutable de PHP.

Il serait fastidieux d’indiquer le chemin de l’exécutable à chaque fois qu’on veut exécuter du PHP. Heureusement, nous pouvons définir, par défaut, un ensemble de chemins connus du système, grâce aux variables d’environnement.

Variables d’environnement

Ces variables définissent les configurations par défaut de chaque programme qu’il est possible d’utiliser en ligne de commande.

Où trouver les variables d’environnement ?

En ce qui concerne Windows, il y a plusieurs façons de les trouver, dont voici la plus classique.

 Dans le menu Démarrer de Windows, cliquez sur Panneau de configuration (sous Windows 10, tapez panneau de configuration dans la barre de recherche, vous tomberez dessus).

 Cliquez ensuite sur Système et sécurité, puis sur Système. Enfin, à droite de l’écran, vous trouverez l’option Paramètres avancés du système. Scrollez la fenêtre vers le bas pour trouver l’option.

images/07RI01N.PNG

 Vous pouvez maintenant cliquer sur Variables d’environnement :

images/7RI4.png

 Dans la fenêtre Variables système, scrollez jusqu’à la variable Path et double cliquez dessus. Vous allez pouvoir ajouter à tous les chemins déjà présents, le chemin vers votre exécutable PHP.

Mais où se trouve l’exécutable PHP ?

Nous avons auparavant installé WAMP (ou XAMPP ou MAMP) qui nous offre un serveur PHP. C’est dans les dossiers de WAMP que se trouve l’exécutable.

Dans le dossier c:/wamp64/bin/php se trouvent les dossiers de chaque version disponible du serveur...

Installation de Composer

PHP étant disponible, il est maintenant possible d’installer Composer.

 Revenez sur le site de Composer, cliquez sur Download sur le menu du haut et visualisez les lignes suivantes :

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 
 
php -r "if (hash_file('sha384', 'composer-setup.php') ===  
'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d1
7af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else  
{ echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" 
 
php composer-setup.php 
 
php -r "unlink('composer-setup.php');" 

En fait, seules les lignes suivantes sont utiles :

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 
php composer-setup.php 

 Dans le terminal de commande (voir ci-dessus), sélectionnez un dossier (le mieux est de sélectionner le dossier c:/wamp64/www pour tout regrouper) avec la commande :

cd c:/wamp64/www 

puis exécutez les lignes suivantes dans le terminal (faites [Entrée]) :

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 
php composer-setup.php 

Il se peut que Windows renvoie le message suivant :...

Utilisation de Composer

Nous aurons l’occasion dans Symfony d’utiliser Composer pour charger des librairies. Néanmoins, voici une petite introduction à Composer.

Composer fonctionne avec un fichier qui se nomme composer.json.

Ce fichier est au format JSON. Il contiendra la liste de toutes les librairies que vous aurez chargées, avec leur numéro de version (ce qui vous permettra de faire des mises à jour).

Il est possible de créer un fichier composer.json à partir de rien avec la commande suivante (dans le dossier : c:/wamp64/www) :

composer init 

Si vous n’avez pas installé l’exécutable de composer, mais juste le fichier PHP de composer, vous devrez faire :

php composer.phar init 

Un système de questions/réponses permet de renseigner le contenu du fichier composer.json.

images/7RI8.png

Il n’est pas obligatoire de répondre à toutes les questions (appuyez sur [Entrée] pour valider).

Seul le nom de l’auteur est obligatoire, sous la forme : Yves Rocamora <yrocamora@example.com>

Aux questions :

Would you like to define your dependencies (require) interactively [yes]? 
no 
Would you like to define your dev dependencies (require-dev)  
interactively[yes]? no 

Pour ce qui nous concerne, il faut répondre : no.

Une fois terminé, vous trouverez dans le dossier c:/wamp64/www un fichier composer.json.

Il est possible de l’ouvrir avec VSCode (pensez à vous positionner sur le dossier wamp/www et non SymfApp, en cliquant sur File - Open Folder) :

images/07RI05N.PNG

Les librairies disponibles via Composer sont accessibles sur le site de Composer en cliquant sur l’onglet Browse Package.

Il nous emmène sur la page de packagist.org :

images/7RI10.png

Prenons un exemple : nous allons installer une librairie nommée markdown.

Cette librairie permet de générer des Markdowns.

Markdown est un langage de balisage HTML avec une syntaxe facile à lire....

Le gestionnaire de dépendances Scoop

C’est un gestionnaire de packages assez efficace qui vient d’apparaître. Attention : ce gestionnaire ne fonctionne que sous Windows.

Nous allons faire un tour sur le site : https://scoop.sh

 Ouvrez un terminal de commande (comme vu précédemment) ou utilisez le terminal de Visual Studio Code et exécutez successivement les commandes suivantes :

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 

irm get.scoop.sh | iex 

C’est tout. Vous pouvez installer les packages que vous souhaitez. Pour rechercher un package, vous pouvez utiliser la commande Scoop search suivie d’un mot-clé.

Par exemple, pour installer le package MarkDown ci-dessus, vous pouvez taper :

scoop search MarkDown 

Scoop trouve le package markdown-monster mais vous signale qu’il s’agit d’un package extra. Pour l’installer, il suffirait de taper :

scoop install markdown-monster 

Mais, comme il s’agit d’un package extra (extérieur), il faut au préalable l’activer. Vous n’aurez à effectuer cette opération qu’une seule fois. Le principe est le même pour chaque bucket.

Pour activer la source « extras » permettant d’installer les paquets provenant de git, exécutez ces deux commandes :

scoop install git 

scoop bucket add extras 

Maintenant, nous pouvons installer...