Composer est le gestionnaire de packages standard pour PHP et indispensable pour tout projet Laravel. Via SSH, vous pouvez exécuter des commandes Composer directement sur votre hébergement pour installer, mettre à jour et gérer des packages. Dans ce guide, vous apprendrez tout sur l'utilisation efficace de Composer via SSH pour vos applications Laravel.

Qu'est-ce que Composer et pourquoi en avez-vous besoin ?

Composer est un gestionnaire de dépendances qui gère automatiquement toutes les bibliothèques PHP nécessaires pour votre projet. Il garde une trace des packages dont vous avez besoin et les installe dans les bonnes versions. Laravel lui-même est également installé et mis à jour via Composer. Cela fait de Composer un outil essentiel pour tout développeur Laravel.

Les principaux avantages de Composer :

  • Gestion automatique de toutes vos dépendances de projet, ce qui signifie que vous n'avez pas à vous soucier de suivre manuellement les versions.
  • Contrôle de version pour que les packages restent compatibles, rendant votre projet plus stable et fiable.
  • Mise à jour facile des bibliothèques avec une commande, ce qui vous fait gagner du temps et des efforts.
  • Autoloading des classes PHP sans inclusions manuelles, rendant votre code plus propre et plus facile à maintenir.
  • Accès à des milliers de packages via Packagist.org, vous permettant d'ajouter rapidement des fonctionnalités à votre projet.

Activer l'accès SSH pour votre hébergement

Avant de pouvoir utiliser Composer, vous avez besoin d'un accès SSH. Chez Theory7, vous pouvez l'activer facilement via DirectAdmin sous les options SSH. Une fois activé, connectez-vous avec un client SSH. C'est une étape cruciale, car SSH vous permet d'exécuter des commandes de manière sécurisée et efficace sur votre serveur.

Sur Windows, utilisez PuTTY, sur Mac ou Linux, le Terminal intégré :

ssh nom_utilisateur@votredomaine.nl

N'oubliez pas d'adapter votre nom d'utilisateur et votre nom de domaine. Une fois connecté, vous avez accès à la ligne de commande de votre serveur, où vous pouvez utiliser Composer.

Vérifier la disponibilité de Composer

Sur l'hébergement Theory7, Composer est généralement déjà installé. Vérifiez cela avec :

composer --version

Vous verrez alors la version installée. Si Composer n'est pas disponible, installez-le localement dans votre répertoire personnel. Cela peut généralement être fait en exécutant quelques commandes simples, selon la configuration de votre serveur.

Commandes essentielles de Composer pour Laravel

Installer des dépendances

Après avoir cloné un projet Laravel, installez tous les packages :

composer install

Pour les environnements de production, utilisez des flags supplémentaires pour de meilleures performances :

composer install --no-dev --optimize-autoloader

L'utilisation du flag --no-dev garantit que seules les packages nécessaires pour la production sont installés, ce qui peut améliorer le temps de chargement de votre application.

Ajouter de nouveaux packages

Ajoutez un package à votre projet :

composer require vendeur/nom-du-package

Par exemple, si vous souhaitez ajouter laravel/sanctum pour l'authentification API, utilisez :

composer require laravel/sanctum

Mettre à jour des packages

Mettez à jour tous les packages vers les dernières versions compatibles :

composer update

Cette commande est utile pour s'assurer que vous avez toujours les dernières mises à jour de sécurité et fonctionnalités. Cependant, gardez à l'esprit que cela peut également entraîner des problèmes de compatibilité, donc testez toujours votre application après une mise à jour.

Régénérer l'autoloader

Après des modifications manuelles dans votre classmap :

composer dump-autoload

Ceci est particulièrement utile si vous avez ajouté de nouvelles classes ou déplacé des classes existantes.

Packages Laravel populaires

Voici quelques packages couramment utilisés que vous installez via Composer :

  • laravel/sanctum - Tokens d'authentification API, idéal pour les SPA et les applications mobiles.
  • spatie/laravel-permission - Système de rôles et de permissions, qui vous aide à gérer efficacement les droits des utilisateurs.
  • intervention/image - Édition et redimensionnement d'images, un must-have pour toute application travaillant avec des médias.
  • barryvdh/laravel-debugbar - Informations de débogage pendant le développement, vous aidant à identifier rapidement les problèmes.
  • laravel/horizon - Tableau de bord de surveillance des files d'attente, idéal pour gérer vos tâches en arrière-plan.

Résoudre les problèmes courants

Erreurs de limite de mémoire

Pour les grands projets, Composer peut rencontrer des limites de mémoire. Augmentez temporairement la limite :

COMPOSER_MEMORY_LIMIT=-1 composer install

Cette commande définit la limite de mémoire sur illimitée, ce qui peut être utile pour de grandes installations ou mises à jour.

Délai d'attente pour de grands packages

Augmentez le délai d'attente pour les téléchargements lents :

composer config --global process-timeout 600

Cela peut aider si vous travaillez avec une connexion Internet lente ou si le serveur répond lentement.

Problèmes de cache

Videz le cache de Composer en cas d'erreurs étranges :

composer clear-cache

Cela peut aider à résoudre des problèmes causés par des fichiers de cache obsolètes ou corrompus.

Meilleures pratiques pour Composer

  • Engagez toujours composer.lock dans votre dépôt Git. Cela garantit que tout le monde dans votre équipe utilise les mêmes versions, ce qui évite les problèmes de compatibilité.
  • Utilisez install en production, jamais update. Cela évite les ruptures inattendues dues à de nouvelles versions.
  • Vérifiez régulièrement les mises à jour avec composer outdated. Cela vous aide à garder votre projet à jour.
  • Spécifiez les contraintes de version dans composer.json. Cela garantit que vous ne mettez pas accidentellement à niveau vers une version incompatible.
  • Utilisez le flag --no-dev sur les serveurs de production. Cela réduit la charge et augmente la sécurité.

Composer.json contre composer.lock

La différence entre ces deux fichiers est importante :

  • composer.json - Définit quels packages vous souhaitez et quelles plages de versions sont acceptables. Ce fichier est la base de la configuration de votre projet.
  • composer.lock - Contient les versions exactes qui ont été installées. Ce fichier garantit que votre projet reste cohérent, peu importe où il est installé.

En engageant composer.lock, vous vous assurez que tout le monde dans votre équipe utilise les mêmes versions, ce qui est crucial pour la collaboration et la cohérence du projet.

Avec ces connaissances, vous gérez efficacement tous les packages pour vos projets Laravel via SSH. Besoin d'aide pour votre hébergement Laravel ? L'équipe de Theory7 est prête à vous soutenir dans toutes vos questions et défis.