Créa-blog

Ressources pour développeur web

Composer, le tutoriel complet : Installation et utilisation

Accueil PHP 8 Composer, le tutoriel complet : Installation et utilisation

Composer est devenu l’un des outils essentiels pour le développement en PHP. Avec sa capacité à gérer efficacement les dépendances des projets, Composer simplifie grandement le processus de développement, en permettant aux développeurs d’intégrer facilement des bibliothèques tierces et des composants dans leurs applications.

Qu’est-ce que Composer ?

Composer est un gestionnaire de dépendances pour PHP. Il permet aux développeurs de spécifier les bibliothèques dont leur projet dépend et de les installer automatiquement, en s’occupant également de leurs dépendances respectives. Contrairement aux méthodes précédentes de gestion des dépendances en PHP, Composer utilise un fichier de configuration simple appelé composer.json pour déclarer les dépendances d’un projet.

Fonctionnalités Principales de Composer

Installation Simple : Composer s’installe rapidement via une ligne de commande ou via un gestionnaire de paquets. Une fois installé, il suffit d’exécuter composer install dans le répertoire du projet pour télécharger et installer toutes les dépendances spécifiées dans le fichier composer.json.

Gestion des Dépendances : Composer gère les versions des bibliothèques et des composants, garantissant ainsi la compatibilité entre les différentes versions des dépendances d’un projet.

Autoloading Automatique : Composer génère automatiquement un fichier d’autoloading, permettant aux développeurs d’accéder facilement aux classes des dépendances sans avoir à les inclure manuellement dans leur code.

Réseau Mondial de Paquets : Composer utilise Packagist, un référentiel en ligne qui répertorie des milliers de bibliothèques PHP. Les développeurs peuvent rechercher et intégrer des paquets provenant de cette source ou d’autres référentiels personnalisés.

Mises à Jour Simplifiées : Composer facilite la mise à jour des dépendances. En exécutant composer update, il vérifie automatiquement les mises à jour disponibles et met à jour les dépendances en conséquence, tout en respectant les contraintes de version spécifiées.

Installation de Composer

Composer s’installe sur ma machine ou sur mon serveur ?

Composer est installé sur votre machine, pas sur votre serveur. Il s’agit d’un outil de ligne de commande que vous utilisez localement pour gérer les dépendances de vos projets PHP. Une fois que vous avez installé Composer sur votre machine, vous pouvez l’utiliser pour créer et gérer des projets PHP sur n’importe quel serveur où vous développez ou déployez vos applications.

Lorsque vous exécutez des commandes Composer telles que composer install ou composer update, elles sont exécutées sur votre machine locale et non sur votre serveur. Composer télécharge les bibliothèques et les dépendances nécessaires à partir d’Internet et les installe dans le répertoire que vous nommerez /vendor de votre projet, qui est ensuite inclus dans votre code source.

Une fois que les dépendances sont installées sur votre machine locale, vous pouvez déployer votre application sur votre serveur en incluant le répertoire /vendor dans votre déploiement. Ainsi, votre application peut fonctionner sur le serveur sans avoir besoin d’installer Composer sur ce dernier.

Vérifier que PHP est bien installé sur votre machine

Pour vérifier si PHP est installé sur votre système, vous pouvez ouvrir le terminal (Mac) ou l’invite de commande (Windows) et exécuter la commande suivante :

php -v

Cela affichera la version de PHP installée sur votre système, ainsi que des informations sur la configuration PHP.

Si PHP n’est pas installé, la commande php ne sera pas reconnue et vous recevrez un message d’erreur indiquant que la commande n’a pas été trouvée. Il vous faudra alors commencer par installer php.

Installer Composer sur Windows

Téléchargez et installez Composer : Vous pouvez télécharger l’installateur Composer pour Windows à partir du site officiel de Composer (https://getcomposer.org/download/). Choisissez l’option « Windows Installer » et suivez les instructions d’installation.

Exécutez l’installateur Composer : Une fois le fichier d’installation téléchargé, double-cliquez dessus pour lancer l’installateur. Suivez les étapes d’installation en choisissant les options appropriées.

Vérifiez l’installation : Après avoir installé Composer, ouvrez une nouvelle fenêtre d’invite de commandes (CMD) et exécutez la commande suivante pour vérifier que Composer est correctement installé :

composer --version

Installer Composer sur Mac

Ouvrez le terminal et utilisez la commande suivante pour télécharger l’installateur Composer :

curl -sS https://getcomposer.org/installer | php

Déplacez l’installateur Composer dans un emplacement accessible à tous les utilisateurs en utilisant la commande suivante. Commencez par créer le répertoire /usr/local/bin :

sudo mkdir -p /usr/local/bin

Une fois le répertoire créé, vous pourrez déplacer le fichier composer.phar dedans en utilisant la commande mv :

sudo mv composer.phar /usr/local/bin/composer

Les commandes que vous avez fournies sont utilisées pour installer Composer sur votre système. Si vous avez déjà installé Composer, vous n’aurez pas besoin d’exécuter ces lignes de commandes à chaque fois que vous utiliserez Composer dans un projet.

Vous pouvez vérifier que Composer est correctement installé en exécutant la commande suivante dans votre terminal :

composer --version

Pour trouver le chemin /usr/local/bin/ dans le Finder sur un Mac, vous pouvez suivre ces étapes : Ouvrez une nouvelle fenêtre du Finder, dans la barre de menu en haut de l’écran, cliquez sur « Aller » puis sélectionnez « Aller au dossier… ». Entrez le chemin /usr/local/bin/ dans la zone de texte et appuyez sur « Aller ». Vous devriez maintenant voir les fichiers et répertoires contenus dans ce dossier… dont Composer.

Utiliser Composer dans un projet

Nous allons prendre un exemple concret pour comprendre comment utiliser Composer dans un projet. Nous allons utiliser la bibliothèque Parsedown qui est un analyseur Markdown en PHP.

La création du fichier JSON

La première chose que nous allons faire est de créer un fichier JSON à la racine du dossier de notre projet. Ce fichier JSON sera nommé composer.json. Ensuite, nous spécifions dans composer.json la clé require qui contiendra un objet. Celui-ci indiquera à Composer quel est le package dont dépend notre projet.

{
    "require": {
        "erusev/parsedown": "^1.7"
    }
}

erusev/parsedown est le nom du package dont notre projet a besoin. ^1.7 est une spécification de version. Ici, cela signifie que Composer recherchera une version de Parsedown égale ou supérieure à 1.7 mais inférieure à 2.0, car les chiffres après le caret ^ définissent la plage des versions compatibles.

Pour connaître le nom du package et sa version, vous pouvez rechercher le nom du package sur des plateformes comme Packagist (https://packagist.org/). Une fois trouvé, vous pourrez consulter le nom et les versions disponibles.

Packagist est un référentiel de packages PHP. Le nom du package se compose du nom du fournisseur et du nom du projet. Cela permet à deux personnes différentes de créer une bibliothèque nommée json. L’un peut s’appeler igorw/json tandis que l’autre peut s’appeler seldaek/json.

Installation des dépendances

Pour installer initialement les dépendances définies pour votre projet, vous devez exécuter la commande update.

Commencez par placer le curseur du terminal sur le dossier de votre projet : Soit depuis le terminal en utilisant la commande cd et en indiquant le chemin du dossier de votre projet :

cd /chemin/projet/mon_projet_markdown

Soit, si vous n’êtes pas trop à l’aise avec le terminal, vous pouvez ouvrir directement le terminal au chemin du dossier depuis un Mac en faisant un clic droit sur ce dossier et en choisissant Nouveau terminal au dossier.

Idem depuis Windows en suivant la procédure de PC Astuces.

Un fois le curseur du terminal placer sur le dossier, utilisez la commande suivante :

composer update
  • Cela résout toutes les dépendances répertoriées dans votre fichier composer.json et écrit tous les packages et leurs versions exactes dans le fichier composer.lock, verrouillant ainsi le projet sur ces versions spécifiques. Vous devez valider le fichier composer.lock dans le dépôt de votre projet afin que toutes les personnes travaillant sur le projet soient verrouillées sur les mêmes versions de dépendances (plus d’informations ci-dessous). C’est le rôle principal de la commande update.
  • Il exécute ensuite implicitement la commande composer install. Cela téléchargera les fichiers des dépendances dans le répertoire vendor. (Le répertoire vendor est l’emplacement conventionnel pour tout le code tiers d’un projet).

Packagist.org est le référentiel principal de Composer. Un référentiel Composer est essentiellement une source de packages : un endroit à partir duquel vous pouvez obtenir des packages. Packagist vise à être le référentiel central que tout le monde utilise. Cela signifie que vous pouvez automatiquement exiger n’importe quel package qui y est disponible, sans préciser davantage où Composer doit rechercher le package. Si vous allez sur le site Web Packagist.org, vous pouvez parcourir et rechercher des forfaits.

Utilisation des dépendances

Dans le dossier de votre projet, créez la page index.php et ajoutez lui le code suivant :

<?php

// Inclure l'autoloader de Composer
require 'vendor/autoload.php';

// Créer une instance de la classe Parsedown
$parser = new Parsedown();

// Texte Markdown à convertir en HTML
$markdownText = "
# Titre principal

Ceci est un paragraphe en **gras** et _italique_.

- Liste élément 1
- Liste élément 2

[Un lien](https://example.com)
";

// Convertir le texte Markdown en HTML
$html = $parser->text($markdownText);

// Afficher le résultat HTML
echo $html;
  • require ‘vendor/autoload.php’; : Inclut l’autoloader de Composer. Cela permet de charger automatiquement les classes des packages installés via Composer, ici erusev/parsedown.
  • $parser = new Parsedown(); : Crée une instance de la classe Parsedown, fournie par le package erusev/parsedown. Cette classe contient les méthodes nécessaires pour convertir du texte Markdown en HTML.
  • $markdownText =  » … « ; : Définit une chaîne de texte Markdown à convertir en HTML. Cette chaîne contient un exemple de texte Markdown avec des titres, des styles de texte (gras, italique), une liste à puces et un lien.
  • $html = $parser->text($markdownText); : Utilise la méthode text() de l’instance de Parsedown pour convertir le texte Markdown en HTML. Le résultat est stocké dans la variable $html.
  • echo $html; : Affiche le résultat HTML obtenu après la conversion du Markdown.

Composer, un outil essentiel pour le développement web

Composer offre une vaste bibliothèque de packages pour le développement web. Voici une liste de quelques packages populaires souvent utilisés dans le développement web, couvrant divers domaines tels que les frameworks PHP, les bibliothèques d’authentification, les outils de gestion de base de données, les bibliothèques frontend…

Nom Source Description
Symfony Framework symfony/framework-bundle Framework PHP populaire pour le développement d’applications web.
Laravel Framework laravel/laravel Autre framework PHP populaire, connu pour sa simplicité et son élégance.
Zend Framework zendframework/zendframework Framework PHP robuste et extensible.
jQuery JavaScript Library components/jquery Bibliothèque JavaScript pour la manipulation du DOM et les interactions côté client.
Bootstrap CSS Framework twbs/bootstrap Une bibliothèque frontend CSS pour le développement web.
PHPMailer phpmailer/phpmailer Bibliothèque de messagerie PHP puissante et facile à utiliser.
PHP Markdown cebe/markdown Un parseur Markdown en PHP.
Respect Validation Library respect/validation Bibliothèque PHP pour la validation des données.
Phinx Database Migrations phinx/phinx Outil de migration de base de données pour PHP.
HTML Purifier ezyang/htmlpurifier Bibliothèque PHP pour nettoyer et filtrer le HTML.
PHPExcel phpoffice/phpspreadsheet Bibliothèque PHP pour la manipulation de fichiers Excel.
TCPDF PDF Library tecnickcom/tcpdf Bibliothèque PHP pour la création de fichiers PDF.

Et bien d’autres encore …

Composer a révolutionné la gestion des dépendances en PHP, simplifiant considérablement le processus de développement et améliorant la qualité des projets. En permettant aux développeurs d’intégrer facilement des bibliothèques tierces, Composer favorise la réutilisabilité du code et accélère le développement des applications PHP. Grâce à sa facilité d’utilisation et à sa vaste communauté de développeurs, Composer reste l’outil de choix pour la gestion des dépendances en PHP.