5.4Déploiement & CI/CD (GitHub Actions, cloud)
Dernière étape : mettre votre application en production et automatiser sa livraison. Le déploiement consiste à rendre l'app accessible en ligne (sur un service cloud) ; la CI/CD automatise les tests et la mise en ligne à chaque modification du code, pour livrer vite et sans erreur humaine.
Vous découvrez Git/GitHub comme socle, GitHub Actions pour orchestrer les pipelines (lancer les tests, construire l'image Docker, déployer) et les grandes options d'hébergement cloud. C'est l'aboutissement du parcours : du code sur votre machine à une application vivante, maintenue et fiable.
Vocabulaire de la section
- Déploiement
- Mise à disposition de l'application sur un serveur/cloud pour la rendre accessible aux utilisateurs.
- CI/CD
- Intégration continue (tester automatiquement chaque changement) / Déploiement continu (mettre en ligne automatiquement).
- Pipeline
- Suite d'étapes automatisées (tests, build, déploiement) déclenchée à chaque modification du code.
- GitHub Actions
- Service d'automatisation intégré à GitHub : décrit les pipelines dans un fichier YAML (.github/workflows).
- Cloud (PaaS)
- Hébergement en ligne. Les plateformes PaaS (Render, Railway, Fly.io, cloud managé) simplifient la mise en production.
Que fait un pipeline CI/CD (ex. GitHub Actions) ?
En pratique — Automatiser tests et déploiement
- Versionnez votre projet avec Git et poussez-le sur un dépôt GitHub (git init, add, commit, push).
- Créez un workflow GitHub Actions (.github/workflows/ci.yml) qui installe les dépendances et lance pytest à chaque push.
- Vérifiez dans l'onglet « Actions » que le pipeline s'exécute et passe au vert ; provoquez un échec de test pour voir l'alerte.
- Déployez l'application sur une plateforme cloud (Render/Railway) connectée au dépôt : chaque push met le site à jour automatiquement.
Points clés à retenir
- Le déploiement rend l'application accessible en ligne (cloud/PaaS).
- La CI/CD automatise tests et mise en ligne à chaque changement du code.
- GitHub Actions décrit les pipelines dans un fichier YAML versionné.
- Git/GitHub est le socle : versionnement, collaboration et déclencheur des pipelines.
Questions fréquentes
Qu'apporte la CI/CD par rapport à un déploiement manuel ?
Elle supprime les erreurs humaines et le temps perdu : à chaque modification, les tests s'exécutent automatiquement et, s'ils passent, l'application est mise en ligne sans intervention. On livre plus souvent, plus vite et plus sûrement — un standard des équipes modernes.
Où héberger une application Python à moindre coût ?
Des plateformes PaaS comme Render, Railway ou Fly.io offrent des paliers gratuits ou peu coûteux et se connectent directement à GitHub pour un déploiement automatique. Pour plus de contrôle, les grands clouds (AWS, GCP, Azure) sont plus puissants mais plus complexes : à réserver aux besoins qui le justifient.