Laravel est un framework open source qui permet de créer des applications web PHP évolutives. Il est le préféré de nombreux développeurs en raison de ses modules faciles à utiliser pour l’authentification, la gestion des dépendances, le stockage des sessions et du cache, le routage, et bien plus encore.

Laravel Forge simplifie le déploiement et la configuration des applications Laravel en automatisant le provisionnement des serveurs, l’installation et la maintenance des logiciels, ainsi que le déploiement. Il dispose également de fonctions de sécurité avancées telles que les pare-feu et les authentifications Secure Socket Shell (SSH).

Cet article vous expliquera le fonctionnement de Laravel Forge, ses principales fonctionnalités et options de déploiement, ainsi que sa comparaison avec Kinsta.

Comment et pourquoi utiliser Laravel Forge ?

Laravel Forge agit comme votre gestionnaire de serveur, vous permettant d’installer PHP, les serveurs Nginx, les bases de données MySQL et toutes les autres dépendances sans les installer manuellement. Cela permet de livrer le code beaucoup plus rapidement en facilitant les changements de serveurs dans le cloud.

D’autres utilisations sont possibles :

  • Gestion des processus d’arrière-plan (daemon)
  • Exécution d’applications à l’aide de scripts bash
  • Installation de certificats SSL (Secure Socket Layer)
  • Programmation de tâches cron

Comment fonctionne Laravel Forge ?

Le nouveau design efficace de Laravel Forge privilégie la simplicité et la facilité d’utilisation. Il vous permet de choisir un fournisseur d’hébergement, tel que Digital Ocean, Linode ou Rackspace, qui vous fournit un serveur en quelques minutes.

Chaque serveur contient une pile complète des dernières versions de PHP, Nginx, MySQL, PostgreSQL et des bibliothèques de mise en cache comme Redis. Une fois créé, le serveur vous permet de relier votre application à vos outils de gestion des versions, tels que GitHub, GitLab ou Bitbucket.

Laravel Forge ajoute un script de déploiement à votre application qui peut être exécuté sur les serveurs en un seul clic. Cela offre une flexibilité et une efficacité accrues lors du déploiement d’applications PHP vanilla et Laravel. Laravel Forge peut également gérer des applications dans d’autres piles technologiques, telles que Node.js.

Pendant le déploiement, Laravel Forge utilise des clés SSH pour se connecter à vos serveurs, en exécutant et en installant toutes les dernières dépendances logicielles dont votre application a besoin. Il est ainsi plus facile de changer d’hébergeur à tout moment pour contrer l’extensibilité ou pour augmenter ou réduire le nombre de serveurs en fonction de la demande.

D’autres options de déploiement pour Laravel Forge incluent :

  • Scripts de déploiement – Ils sont utilisés pour exécuter les commandes du serveur. Cette option de déploiement peut être modifiée à l’aide de l’interface utilisateur de Forge.
  • Déploiement à partir d’un outil d’intégration continue (CI) – Les utilisateurs peuvent choisir entre Forge CLI et Deployment Trigger pour déployer leurs applications avec Forge.

Comment déployer avec Laravel Forge

Pour déployer une application à l’aide de Forge, créez un compte chez eux, puis choisissez l’un des nombreux fournisseurs de serveurs disponibles. Une fois que vous avez provisionné votre serveur avec le bon emplacement et le bon plan de droplet, créez un nom de domaine. Forge crée automatiquement toutes les dépendances et bibliothèques nécessaires en installant les dernières versions de PHP sur votre serveur.

Note : Vous aurez besoin d’une clé API pour vous connecter à un fournisseur de cloud qui n’est pas fourni dans Laravel Forge.

Ensuite, authentifiez-vous auprès du contrôle de version de votre choix. Cela facilite la migration de la base de code du dépôt vers Laravel Forge. Les développeurs peuvent alors contribuer de manière collaborative au référentiel et les modifications sont automatiquement déployées sur le serveur.

Après avoir lié votre dépôt, cliquez sur Déployer maintenant pour permettre au logiciel Forge d’exécuter le script de déploiement et de configurer l’application.

Une façon de déployer votre application à l’aide de Laravel Forge est d’utiliser un outil CI. Une fois que Forge CLI est installé, vous pouvez utiliser la commande deploy dans votre environnement CI. Vous aurez besoin du jeton API Forge pour vous authentifier auprès de Forge CLI.

L’exemple ci-dessous illustre comment faire cela en quelques étapes simples en utilisant GitHub. Dans votre répertoire de projet, créez un répertoire your-project/.github/workflows. Dans ce répertoire, créez un fichier forge.yml avec le contenu ci-dessous :

name: Deploy

on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      checkout@v2
      - name: Setup SSH
        uses: webfactory/[email protected]
        with:
          ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.0
          tools: composer:v2
          coverage: none
      - name: Require Forge CLI
        run: composer global require laravel/forge-cli
      - name: Deploy Site
        run: |
          forge server:switch your-server-name
          forge deploy your-site-name.com
        env:
          FORGE_API_TOKEN: ${{ secrets.FORGE_API_TOKEN }}

Note : Vous pouvez consulter l’exemple de code ici. Vous pouvez ensuite pousser les modifications vers votre branche principale et laisser les Actions GitHub exécuter les scripts de déploiement.

Les variables d’environnement telles que les mots de passe de base de données et les clés secrètes peuvent être difficiles à conserver dans un environnement de production. Pour sécuriser les fichiers de votre projet, configurez les variables d’environnement de la base de données et de l’application dans chacun des fichiers d’environnement (.env) de votre projet.

Avantages de Laravel Forge

Les avantages de Laravel Forge pour les utilisateurs sont les suivants :

  • Ne pas restreindre les utilisateurs à une seule plateforme d’hébergement. Cela facilite le déploiement de nombreux projets sur des fournisseurs d’hébergement disparates, en fonction de leurs besoins.
  • L’utilisation du script de déploiement pour exécuter automatiquement les exigences de votre application avec les dernières bibliothèques sans les installer manuellement.
  • Cohérence des paramètres de configuration et des autorisations, ce qui réduit les coûts de déploiement et les erreurs. Les développeurs peuvent ainsi se concentrer davantage sur le développement de l’application que sur la maintenance des scripts et des processus de déploiement.
  • Sécurité avancée et innée du serveur de votre application grâce à un pare-feu, des clés SSH et l’isolation des données pour éviter les fuites.

Laravel Forge et Kinsta

Alors que Laravel Forge est responsable de la gestion des serveurs d’application, Kinsta est une plateforme de gestion de l’hébergement qui vous permet d’aller plus loin dans l’hébergement de vos applications et de vos bases de données. Si vous avez un site WordPress géré par le logiciel Forge, il est facile de migrer vers Kinsta gratuitement.

Kinsta offre plusieurs avantages à ses utilisateurs, tels que de meilleurs outils d’optimisation des tâches d’administration, un support DevOps pour l’hébergement d’applications et des fonctionnalités Cloudflare pour l’hébergement de WordPress.

Kinsta fournit tout cela avec des outils d’entreprise et des fonctionnalités premium sans coût caché ou supplémentaire pour chaque plan.

Résumé

Le déploiement peut être un défi pour les organisations, petites ou grandes. Chaque application a ses propres défis, tels que les problèmes d’évolutivité, les dépendances redondantes et la complexité des processus.

Laravel Forge rend l’hébergement d’applications efficace et sans problème en agissant comme un courtier entre les développeurs et les serveurs. Grâce à diverses options de déploiement, les développeurs peuvent choisir des scripts de déploiement ou l’outil CI pour gérer leurs sites et leurs serveurs.

Comme avec Laravel Forge, le déploiement d’applications web avec Kinsta est un jeu d’enfant, mais vous bénéficiez également d’une plus grande flexibilité, de fonctionnalités et de plans tarifaires. Commencez votre essai gratuit dès aujourd’hui !