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 ?
- Le développeur finissait son site en local et préparait les fichiers.
- Il ouvrait FileZilla, renseignait ses identifiants de connexion (hôte, utilisateur, mot de passe).
- Il naviguait dans les répertoires distants et glissait-déposait ses fichiers dans /public_html/ ou /www/.
- 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 :
- Le développeur créait un archive ZIP avec tous les fichiers.
- Il téléchargeait ce fichier via le gestionnaire de fichiers du CPanel.
- 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) 🚀
- Au lieu d’uploader des fichiers manuellement, on pousse le code sur un repository GitHub.
- Sur le serveur, on exécute simplement :
git pull origin main
- pour récupérer les modifications.
- 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 ? 🚀