conseil

L'Évolution du Déploiement Web : De FileZilla au CI/CD avec GitHub

Publié il y a 1 mois

L'Évolution du Déploiement Web : De FileZilla au CI/CD avec GitHub 🚀

Mettre un site en ligne a toujours été une étape clé pour les développeurs. Si aujourd’hui le déploiement est rapide et automatisé grâce aux pipelines CI/CD et aux plateformes comme GitHub Actions, il n’en a pas toujours été ainsi. Retour sur l’histoire du déploiement web, depuis l’époque des transferts manuels via FTP jusqu’à l’ère moderne du déploiement automatisé.

1. L’Âge des Premiers Déploiements : L’ère du FTP et de FileZilla 📂

Dans les années 2000, la mise en ligne d’un site web était une tâche laborieuse. Pas de Git, pas de pipelines, pas d’automatisation. Juste un simple client FTP comme FileZilla et une connexion à un hébergement mutualisé.

Comment ça fonctionnait ?

  1. Le développeur finissait son site en local et préparait les fichiers.
  2. Il ouvrait FileZilla, renseignait ses identifiants de connexion (hôte, utilisateur, mot de passe).
  3. Il naviguait dans les répertoires distants et glissait-déposait ses fichiers dans /public_html/ ou /www/.
  4. Il croisait les doigts pour que tout fonctionne après l’upload !

👉 Problèmes :

  • Les transferts pouvaient être lents.
  • Aucune gestion des versions : si un fichier était écrasé par erreur, il était perdu.
  • Déployer une mise à jour signifiait répéter tout le processus manuellement.

2. L’Arrivée du ZIP : Une Solution Intermédiaire 🎁

Pour accélérer le processus, certains hébergeurs ont proposé des solutions comme l’upload d’un fichier ZIP contenant tout le site.

Processus avec le ZIP :

  1. Le développeur créait un archive ZIP avec tous les fichiers.
  2. Il téléchargeait ce fichier via le gestionnaire de fichiers du CPanel.
  3. Il l’extrayait directement sur le serveur pour éviter un upload trop long.

Avantages : Plus rapide qu’un transfert FTP fichier par fichier.
Inconvénients : Toujours manuel et sans suivi des modifications.

3. L’Ère Git & GitHub : L’Optimisation du Déploiement 🏗️

L’arrivée de Git et des plateformes comme GitHub a révolutionné le développement web. Le contrôle des versions, le travail collaboratif et surtout l’automatisation des mises en ligne sont devenus la norme.

Premier changement : Déploiement via Git (Git Pull) 🚀

  1. Au lieu d’uploader des fichiers manuellement, on pousse le code sur un repository GitHub.
  2. Sur le serveur, on exécute simplement :
  3. git pull origin main
  4. pour récupérer les modifications.
  5. Plus besoin de glisser-déposer, tout est géré par Git.

Avantages : Plus rapide, versionné, sécurisé.
Inconvénients : Toujours une intervention manuelle via SSH.

4. L’Ère du CI/CD : Automatiser pour Plus d’Efficacité 🤖

Le véritable game changer ? L’intégration et le déploiement continus (CI/CD). Avec des outils comme GitHub Actions, GitLab CI/CD ou CircleCI, il est possible d’automatiser tout le processus de mise en ligne.

Déploiement Automatisé avec GitHub Actions 🚀

Avec GitHub Actions, un simple push déclenche un script qui déploie automatiquement le site.

Exemple de workflow pour un projet Laravel :

📌 .github/workflows/deploy.yml

name: Deploy Laravel App

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Cloner le repo
        uses: actions/checkout@v3

      - name: Installer les dépendances
        run: composer install --no-dev --optimize-autoloader

      - name: Exécuter les migrations
        run: php artisan migrate --force

      - name: Redémarrer le serveur
        run: sudo systemctl restart nginx

Avantages du CI/CD

Zéro intervention manuelle : dès qu’un push est fait sur main, le site est mis à jour.
Rollback facile : Si une mise à jour casse le site, il suffit de revenir à la version précédente.
Tests automatisés : Avant le déploiement, on peut tester le code pour éviter des bugs.

5. La Beauté du Déploiement Moderne ✨

Aujourd’hui, grâce à GitHub et aux pipelines CI/CD, un développeur peut déployer en quelques secondes un projet complet, avec sécurité et rapidité.

📌 Comparaison des méthodes

tableau de comparaison

Conclusion : L’Automatisation, la Clé de l’Efficacité 🔑

Nous sommes passés d’un monde où déployer un site signifiait glisser-déposer des fichiers dans FileZilla à une ère où un simple push déclenche tout un pipeline automatisé.

L’histoire du déploiement web montre comment la technologie simplifie notre quotidien. Aujourd’hui, avec GitHub, les pipelines CI/CD et l’automatisation, les développeurs peuvent se concentrer sur l’essentiel : créer.

💡 Moralité : Si vous déployez encore vos sites avec FileZilla… il est peut-être temps d’évoluer vers GitHub Actions ! 😉

Et vous, quelle méthode utilisez-vous pour vos déploiements ? 🚀


Salem Nkwey

Salem Nkwey

Développeur Web et mobile, je suis ouvert à toutes nouvelles expériences, je m'adapte facilement aux situations présentes et si vous me faites confiance je rembourserai cela par un travail bien accompli. Vous avez une idée d'une application en tête ? Dites le moi et je vous le concrétise dans le temps.

Github

Laravel et les Slugs : Pourquoi Choisir un Slug plutôt qu'un ID dans l'URL ? 🌐✨

Lorsque vous développez une application web avec Laravel, l'une des pratiques courantes est de rendre les URLs de vos pages plus conviviales et accessibles. Une manière courante d’y parvenir est d’utiliser des slugs plutôt que des identifiants (ID) dans les URLs. Mais pourquoi choisir un slug au lieu d’un ID ? Et quelles sont les différences entre ces deux méthodes ? Cet article explore ces deux concepts en utilisant des exemples simples avec Laravel.

Salem Nkwey

Salem Nkwey

168

|

il y a 1 mois

Hébergement

Héberger une application Laravel sur Vercel

Etant que développeur ou étudiant il est crucial d'avoir une solution solution fiable, performante et gratuite pour tester le fonctionnement des applications en ligne pour se faire dans cet article nous allons voir comment héberger une application laravel sur Vercel

Salem Nkwey

Salem Nkwey

420

|

il y a 4 mois

Les priorités concurrentielles : un levier pour se démarquer et croître !

Dans un marché ultra-concurrentiel, se démarquer est essentiel. Et si vous faisiez des priorités concurrentielles votre atout stratégique ?

Chadrack Kanza

Chadrack Kanza

507

|

il y a 4 mois

Filament

Formation Complète en Filament PHP : Créez des Interfaces d’Administration Performantes et Personnalisables

Dans le monde du développement, savoir créer des interfaces d’administration modernes et intuitives est un atout clé. C’est précisément l’objectif de notre formation complète en Filament PHP : former les développeurs à construire des dashboards performants et personnalisés, tout en optimisant leur temps et leur productivité.

Chadrack Kanza

Chadrack Kanza

608

|

il y a 4 mois

Github

Mettre votre code sur GitHub : Guide étape par étape pour votre premier commit

Dans cette deuxième partie, nous allons voir comment mettre votre code sur GitHub en faisant votre premier commit. Nous détaillerons les étapes depuis la création d'un compte GitHub jusqu'à l'utilisation des commandes essentielles de Git : git add, git commit et git push.

Salem Nkwey

Salem Nkwey

964

|

il y a 5 mois

gestion de projet

Projet, programme ou portfolio : quelle est la différence ?

Lorsqu'on parle de gestion de projet, on entend souvent les termes "projet", "programme" et "portfolio". Bien qu'ils soient liés, ces trois concepts se distinguent les uns des autres. Comprenons mieux leurs différences.

Chadrack Kanza

Chadrack Kanza

659

|

il y a 8 mois

gestion de projet

Les compétences interpersonnelles, clés du succès en management de projet

En tant que gestionnaire de projet, vos compétences techniques et votre expertise sont essentielles. Mais ce qui fait vraiment la différence, ce sont vos compétences interpersonnelles. Elles vous permettent de bâtir des relations solides avec votre équipe et les parties prenantes, menant ainsi à la réussite de vos projets.

Chadrack Kanza

Chadrack Kanza

906

|

il y a 8 mois

gestion de projet

Lancez-vous dans la gestion de projet : un parcours passionnant

Vous êtes sur le point de démarrer votre cheminement vers un poste très demandé : celui de chef de projet. L'un des plus grands avantages du domaine de la gestion de projet est qu'il englobe une large variété de positions dans de nombreux secteurs.

Chadrack Kanza

Chadrack Kanza

704

|

il y a 8 mois

gestion de projet

Que fait un chef de projet ?

Dans cet article, nous allons explorer le rôle du chef de projet dans la gestion d'un projet. Le chef de projet joue un rôle essentiel dans la planification, l'organisation et la coordination de toutes les activités nécessaires à la réalisation d'un projet avec succès.

Chadrack Kanza

Chadrack Kanza

497

|

il y a 8 mois