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
Cliquez sur le bouton Download :
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.
Vous pouvez maintenant cliquer sur Variables d’environnement :
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.
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) :
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 :
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...