• Formerly Platform.sh
  • Contact us
  • Documentation
  • Login
Watch a demoFree trial
Blog
Blog
BlogProduitÉtudes de casNouvellesPerspectives
Blog

Clone de production en 45 secondes avec données, fichiers, services, tout

flux de travail du développeurCI/CD
06 novembre 2025
Partager
Cette page a été rédigée en anglais par nos experts, puis traduite par une IA pour vous y donner accès rapidement! Pour la version originale, c’est par ici.

Regardez la démonstration en accéléré ci-dessous avant de poursuivre votre lecture. Il vous faudra moins d'une minute pour découvrir comment créer un environnement de production cloné en moins d'une minute... avec la base de données, les fichiers et les services inclus.

Et voici pourquoi cela change tout pour les développeurs.

Vous connaissez cette sensation. Une régression échappe à la mise en scène, les clients la ressentent en premier, et votre après-midi (ou votre fin de soirée) se transforme en salle de crise post-déploiement. Les développeurs déclarent passer la plupart de leur temps à des tâches réactives, telles que le débogage et les salles de crise, plutôt qu'à la création de nouveaux logiciels.¹ Pas étonnant que les lancements semblent plus difficiles qu'ils ne devraient l'être.

Ce guide explique comment le « clone de production » d'Upsun transforme n'importe quelle branche Git en un environnement de production parfait en moins d'une minute, avec des données, des fichiers et des services clonés à partir du parent. Vous pouvez reproduire les problèmes, valider les corrections et prouver les performances avant la fusion. Fini les exercices d'évacuation après le déploiement.

Le problème : dérive de l'environnement et tests fragiles

La mise en scène correspond rarement à la production. Les différentes versions des services, les données manquantes, les développeurs qui poussent différentes versions du code ou les ressources obsolètes créent une dérive de l'environnement qui masque les véritables bogues jusqu'à la mise en service. Les conseils DevOps d'AWS recommandent de définir des environnements de référence et de gérer en permanence la dérive.

Les environnements de test sont utiles, mais uniquement lorsqu'ils sont vraiment « identiques à la production ». Cela signifie :

  • Mêmes applications, même build, mêmes routes et mêmes paramètres d'infrastructure
  • Les mêmes services sont fournis de la même manière.
  • Des données et des fichiers récents.
  • Une observabilité qui signale les problèmes à un stade précoce, et non dans une salle de crise

Solution Upsun : clonage de production sur chaque branche

Avec Upsun, chaque branche Git peut devenir un environnement de production en direct avec des services et du code clonés. Vous conservez le processus Git familier que vous utilisez déjà, désormais soutenu par des aperçus instantanés et parfaits pour la production qui débloquent les révisions et le débogage.

  • Configuration YAML pilotée par Git. Définissez les applications, les services et les routes une fois dans l'.upsun/config.yaml, validez-les dans Git et conservez-les dans votre code (pour en savoir plus, consultez la structure YAML).
  • Aperçus automatiques par branche. La création de branches génère un environnement enfant qui hérite du code, des données et des ressources de son parent. Consultez le guide des modifications.
  • Clonage instantané des données que vous pouvez nettoyer. Clonez les données de production dans l'aperçu, puis nettoyez-les automatiquement via des hooks de déploiement, afin que les réviseurs n'aient jamais à manipuler d'informations personnelles identifiables. Consultez la section Nettoyer les bases de données.
  • Orchestration multiservices. Fournissez des bases de données gérées, des caches, des recherches et bien plus encore à partir du même fichier de configuration (voir Ajouter des services).
  • Observabilité et APM intégrés. Blackfire APM et le profilage vous aident à détecter les régressions de performances avant la mise en production (voir Blackfire pour PHP et Python ; fonctionnalités Upsun).

Comment fonctionne le clonage de production dans la pratique

1) Une seule pression crée un clone de production

Utilisez Git push sur une nouvelle branche, et Upsun peut activer un nouvel environnement, cloner les services parents et cloner les données des parents en une seule fois.

Cette seule poussée configure un environnement de branche avec des systèmes de fichiers et des services identiques à ceux de la production, ainsi qu'un ensemble de données cloné à partir de son parent. Voir gérer les environnements.

Vous avez besoin d'actualiser les données ultérieurement ? Synchronisez votre branche avec upsun env:sync data

2) Gardez la configuration simple et explicite

Toutes les applications, tous les services, toutes les routes et tous les hooks se trouvent dans .upsun/config.yaml. Voici un exemple minimal avec une application Node.js, MariaDB, Redis et un hook de déploiement qui exécute la désinfection dans les environnements hors production :

# .upsun/config.yaml
applications:
  web:
    type: "nodejs:22"
    relationships:
      mariadb: "mariadb"
      cache: "redis"
    hooks:
      deploy: |
        if [ "$PLATFORM_ENVIRONMENT_TYPE" != "production" ]; then
          ./scripts/sanitize_db.sh
        fi
services:
  mariadb:
    type: "mariadb:11.8"
  redis:
    type: "redis:7.2"  # persistent or ephemeral supported
routes:
  https://{default}/:
    type: upstream
    upstream: "web:http"

3) Tests CI/CD correspondant à la production

Comme les branches sont parfaitement adaptées à la production, votre pipeline CI peut s'exécuter sur la même topologie, les mêmes versions et le même profil de données que ceux que vous déployerez finalement en production. Cela réduit considérablement les tests instables causés par la dérive de l'environnement. Voir la présentation de la compilation et du déploiement.

Vous pouvez également ajouter la fonctionnalité de build Blackfire à votre pipeline pour détecter automatiquement les problèmes de performances et fournir des recommandations exploitables pour PHP et Python (fonctionnalités Upsun ; Blackfire sur Upsun).

4) Débogage d'applications plus sûr avec des données réelles

Les bogues obscurs et dépendants des données se reproduisent instantanément lorsque votre aperçu contient des données et des ressources réelles. Les guides de nettoyage d'Upsun vous montrent comment supprimer en toute sécurité les informations personnelles identifiables dans les combinaisons de stacks courantes, telles que PostgreSQL et Django, Symfony et PostgreSQL, ou MariaDB et Drupal (voir « Nettoyer PostgreSQL et Django », « Nettoyer Symfony et PostgreSQL » et « Nettoyer MariaDB et Drupal »).

Préférez-vous travailler localement en utilisant des données de clone de production ? Reliez votre environnement local aux services distants pour une itération rapide (développement local connecté).

Pourquoi cela améliore la productivité des développeurs

  • Éliminez les dérives d'environnement. Chaque branche est clonée à partir de sa branche parente, de sorte que la parité est la norme plutôt qu'une réflexion après coup.³ 
  • Réduisez les boucles de rétroaction. Reproduisez, instrumentez et corrigez au même endroit où vous avez validé votre solution.
  • Réduisez les retouches et les réunions. Moins de surprises en production signifie moins de salles de crise et plus de temps pour construire.¹ ²
  • Restez cohérent entre les équipes. Le YAML basé sur Git et les services gérés standardisent la livraison tout en préservant la flexibilité (page d'accueil de la documentation Upsun).

Intégrez-le à votre processus

  1. Créez une branche. L'environnement s'active et clone les données à partir du parent.
  2. Votre code de nettoyage s'exécute automatiquement lors du déploiement dans des environnements hors production.
  3. Votre CI s'exécute de bout en bout et vérifie les performances par rapport au clone de production.
  4. Les réviseurs testent le produit réel et le valident rapidement.
  5. Fusionnez en toute confiance, puis surveillez avec Blackfire après la publication.

Pour approfondir vos connaissances sur les modèles YAML ou les configurations multiservices, consultez les tutoriels pour développeurs.

À qui s'adresse ce service ? Aux développeurs qui souhaitent passer plus de temps à coder et moins à résoudre des problèmes. C'est le but recherché : Upsun fournit à chaque branche un environnement réel de niveau production, vous permettant de tester, d'itérer et de réviser sans craindre que « cela ne casse tout ».

Clonage de production et dérive de l'environnement

Utilisez le clonage de production pour éliminer la dérive de l'environnement. Lorsque les environnements sont identiques par défaut et contiennent des données sûres et récentes, les tests CI/CD et le débogage des applications redeviennent fiables.

Essayez-le vous-même

Voir un clone de production apparaître en 45 secondes, c'est cool. Mais l'expérimenter avec votre propre code, c'est ce qui change vraiment la donne.

Lancez un essai gratuit, connectez votre dépôt Git et regardez chaque branche prendre vie sous la forme d'un environnement de production avec des données, des fichiers et des services inclus.

Sources

¹ Cisco Newsroom. « Les développeurs passent plus de temps à résoudre des problèmes qu'à innover. »
² Stack Overflow Developer Survey 2024. « Temps quotidien consacré à la recherche de réponses/solutions.»
³ AWS Well-Architected DevOps Guidance. « [AG.DEP.2] Évaluez en permanence les environnements pour gérer les dérives. » 

Restez informé

Abonnez-vous à notre newsletter mensuelle pour les dernières mises à jour et nouvelles.

Votre meilleur travail
est à l'horizon

Essai gratuit
UpsunFormerly Platform.sh

Join our monthly newsletter

Compliant and validated

ISO/IEC 27001SOC 2 Type 2PCI L1HIPAATX-RAMP
© 2026 Upsun. All rights reserved.