PHP

Composer PHP : maîtriser le gestionnaire de dépendances (guide 2026)

Publié le 1 March 2026 — 2 min de lecture
En bref

Composer est le gestionnaire de dépendances incontournable de l'écosystème PHP. Ce guide complet couvre l'installation, composer.json, l'autoloading PSR-4, les scripts, les versions et les bonnes pratiques en équipe.

Composer a révolutionné le développement PHP depuis 2012. Aujourd’hui, aucun projet PHP sérieux ne peut s’en passer. Voici tout ce que vous devez savoir pour en tirer le maximum.

Installation et premiers pas

Installation globale sur Linux/Mac :

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Créer un nouveau projet : composer init (interactif) ou ajouter directement un package : composer require symfony/http-foundation.

Le fichier composer.json

C’est le manifeste de votre projet. Les sections les plus importantes :

{
    "name": "monentreprise/monprojet",
    "require": {
        "php": ">=8.2",
        "symfony/console": "^7.0",
        "guzzlehttp/guzzle": "^7.5"
    },
    "require-dev": {
        "phpunit/phpunit": "^11.0",
        "phpstan/phpstan": "^1.10"
    },
    "autoload": {
        "psr-4": {
            "App\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\Tests\": "tests/"
        }
    }
}

composer.lock : ne jamais l’ignorer

Le fichier composer.lock enregistre les versions exactes de toutes vos dépendances (directes et transitives). Il garantit que tous vos développeurs et vos serveurs installent exactement les mêmes versions. Committez toujours composer.lock dans votre git. Utilisez composer install (qui respecte le lock) et non composer update (qui met tout à jour) sur les déploiements en production.

Gestion des versions

La notation des contraintes de version :

  • ^7.0 — versions compatibles : 7.x.x mais pas 8.0.0 (par défaut pour les packages)
  • ~7.2 — 7.2.x uniquement, pas 7.3
  • >=7.0 <8.0 — fourchette explicite
  • 7.2.3 — version exacte (déconseillé, bloque les correctifs)

Utilisez ^ par défaut — il suit la sémantique versioning (semver) et vous donne les correctifs et mises à jour mineurs automatiquement.

Autoloading PSR-4

L’autoloading Composer mappe les namespaces PHP aux dossiers de votre projet. Avec la config PSR-4 ci-dessus, la classe AppServicesArticleService est automatiquement chargée depuis src/Services/ArticleService.php. Après avoir modifié la section autoload, lancez composer dump-autoload. En production, ajoutez l’optimisation : composer dump-autoload --optimize.

Scripts Composer

Définissez des commandes réutilisables dans la section scripts :

"scripts": {
    "test": "phpunit --testdox",
    "analyse": "phpstan analyse src --level=8",
    "cs": "php-cs-fixer fix --diff",
    "ci": ["@cs", "@analyse", "@test"],
    "post-install-cmd": ["php artisan migrate --force"]
}

Lancez avec composer test, composer ci, etc. Le hook post-install-cmd s’exécute automatiquement après composer install.

Packages privés avec Satis

Pour des packages internes à votre entreprise, Satis crée un dépôt Composer privé. Configurez-le sur un serveur interne ou utilisez un service comme Private Packagist. Dans composer.json, référencez votre repository privé :

"repositories": [
    {"type": "composer", "url": "https://packages.votre-entreprise.fr"}
],

Audit de sécurité

composer audit compare vos dépendances installées contre la base de données SADb (Security Advisories Database). Si une vulnérabilité est trouvée, Composer indique le CVE et la version corrigée. Intégrez cette commande dans votre pipeline CI/CD pour bloquer les déploiements vulnérables.

W
Rédigé par
WebEngine
Développeur web freelance à Paris spécialisé WordPress, WooCommerce et SEO technique depuis 2010. 13 avis vérifiés · Note 5/5. Chaque site livré atteint un score PageSpeed mobile supérieur à 90.

Un projet en tête ?

Devis gratuit sous 48h, sans engagement.

Demander un devis gratuit