Retour au blogTutoriels — Blog Les Sables Web

CI/CD : automatiser le deploiement de votre site en toute confiance

6 décembre 20259 min de lecture
Les Sables Web

Les Sables Web

Fondateur, Les Sables Web

Introduction

Le CI/CD (Continuous Integration / Continuous Deployment) est un ensemble de pratiques qui automatisent le processus de test et de deploiement du code. Au lieu de deployer manuellement — avec le stress et les erreurs que cela implique — un pipeline CI/CD prend en charge chaque etape automatiquement.

Selon le rapport DORA (DevOps Research and Assessment) de Google de 2023, les equipes pratiquant le deploiement continu deployent 46 fois plus frequemment que celles qui ne le pratiquent pas, avec un taux d'echec 7 fois inferieur.

Les concepts

Continuous Integration (CI)

La CI consiste a fusionner frequemment les modifications de code dans une branche commune (generalement main), avec des tests automatises qui s'executent a chaque fusion.

Le principe : chaque push declenche un pipeline qui :

  1. Compile le code (ou verifie les types pour TypeScript)
  2. Execute les tests unitaires et d'integration
  3. Verifie le linting et le formatage
  4. Signale immediatement si quelque chose echoue

Continuous Deployment (CD)

Le CD va plus loin : si tous les tests passent, le code est automatiquement deploye en production. Aucune intervention manuelle.

Variante plus prudente : le Continuous Delivery deploie automatiquement en staging, mais requiert une validation manuelle pour la production.

Un pipeline concret avec GitHub Actions

# .github/workflows/deploy.yml
name: Deploy to production

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm run lint
      - run: npm run type-check
      - run: npm run test

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm run build
      - name: Deploy to Cloudflare Pages
        uses: cloudflare/pages-action@v1
        with:
          apiToken: ${{ secrets.CF_API_TOKEN }}
          accountId: ${{ secrets.CF_ACCOUNT_ID }}
          projectName: mon-projet
          directory: dist

Ce pipeline :

  1. Se declenche a chaque push sur main
  2. Execute le linting, la verification TypeScript et les tests
  3. Si tout passe, build et deploie sur Cloudflare Pages

Les plateformes CI/CD

GitHub Actions

Integre nativement a GitHub, genereux en minutes gratuites (2 000/mois pour les depots publics). Notre recommandation pour les projets heberges sur GitHub.

GitLab CI/CD

Integre a GitLab, tres complet. 400 minutes gratuites/mois.

Vercel / Netlify / Cloudflare Pages

Ces plateformes incluent leur propre CI/CD : chaque push declenche automatiquement un build et un deploiement. Zero configuration pour les cas simples.

Les bonnes pratiques

Les preview deployments

Chaque Pull Request genere un deploiement de preview avec sa propre URL. L'equipe peut tester les changements avant de merger. Vercel, Netlify et Cloudflare Pages offrent cette fonctionnalite nativement.

Les rollbacks

Si un deploiement cause un probleme, vous devez pouvoir revenir a la version precedente en quelques secondes. Les plateformes modernes conservent un historique des deploiements et permettent un rollback instantane.

Les secrets

Ne stockez jamais de cles API ou de mots de passe dans le code. Utilisez les secrets de votre plateforme CI/CD (GitHub Secrets, variables d'environnement GitLab, etc.).

Les notifications

Configurez des notifications (Slack, email) pour etre alerte en cas d'echec du pipeline. Un pipeline qui echoue silencieusement est pire qu'un deploiement manuel.

Conclusion

Le CI/CD est un investissement initial qui se rentabilise des le premier mois : moins de stress, moins d'erreurs, deploiements plus frequents. Commencez avec un pipeline simple (lint + tests + deploy) et enrichissez-le progressivement.

Partager :
Contact

Parlons de votre projet

Decrivez votre besoin en quelques lignes. Je vous reponds sous 24h avec une premiere analyse et un devis gratuit, sans engagement.

En soumettant ce formulaire, vous acceptez que vos donnees soient utilisees pour repondre a votre demande. Aucune donnee n'est partagee avec des tiers. Politique de confidentialite. Ce site est protege par reCAPTCHA et les Regles de confidentialite et Conditions d'utilisation de Google s'appliquent.