# Utiliser la version intermédiaire : pousser vers la production et récupérer depuis la production

Source: https://support.kapsulehost.com/fr-fr/wordpress-staging-workflow

Staging s'utilise pour les sites WordPress et WooCommerce. Une fois qu'une copie de staging existe, deux opérations la rendent utile : envoyer vos modifications testées vers le site en ligne, et réinitialiser le staging pour repartir d'une copie fraîche de la production. Ce guide détaille les deux sens, les confirmations qui protègent votre site en ligne, et les cas où l'envoi d'une base de données détruirait des données.

Si vous n'avez pas encore créé d'environnement de staging, commencez par [Utiliser les environnements de staging](https://support.kapsulehost.com/fr-fr/staging-environments). Cet article reprend à partir du moment où le staging existe déjà.

## Les deux sens

| Opération | Ce qu'elle écrase | Quand l'utiliser |
|---|---|---|
| **Envoyer à la production** | Votre site en ligne | Les modifications sur le staging sont testées et prêtes à être mises en ligne |
| **Réinitialiser à partir de la production** | Votre site de staging | Vous voulez une copie propre du site en ligne actuel pour travailler dessus |

Les deux se trouvent sur le même écran : **Sites web**, puis votre site, puis **Environnement**, puis **Préproduction**.

![La page Staging d'un site dans KPanel, montrant le domaine de staging, son statut et la date de dernière synchronisation](https://support.kapsulehost.com/help/screenshots/wordpress-staging-workflow.8f62c65f.webp)

La fiche en haut de cet écran affiche votre domaine de staging, son statut, depuis combien de temps il a été synchronisé pour la dernière fois à partir de la production, et quand il a été envoyé pour la dernière fois. **WP Admin** vous connecte directement au tableau de bord du site de staging, et **Visiter le site** ouvre la partie visible du staging.

> **Tip:** Une copie de staging qui n'a pas été synchronisée depuis une semaine ou plus est signalée en ambre sur cette fiche. Un staging ancien est pire que l'absence de staging : vous finissez par tester sur un site qui ne ressemble plus au site en ligne. Réinitialisez avant de commencer un nouveau travail, pas après.

## Envoyer le staging vers la production

Cela remplace tout ou partie de votre site en ligne par ce qui se trouve sur le staging.

1. Ouvrez **Environnement**, puis **Préproduction**.
2. Faites défiler jusqu'à **Envoyer l'environnement de test vers la production**.
3. Choisissez quoi envoyer avec les cases à cocher : **Fichiers**, **Base de données**, ou les deux.
4. Si vous avez coché **Base de données**, laissez **Réécrire les URL** coché. Cette option exécute une recherche et un remplacement sur toutes les tables afin que le nom d'hôte du staging soit remplacé par celui de la production au moment de l'envoi.
5. Cochez **Je comprends que ceci modifiera mon site de production en ligne.**
6. Saisissez votre domaine de production dans la case de confirmation, exactement comme indiqué.
7. Cliquez sur **Envoyer à la production**.

Le bouton reste désactivé tant que la case n'est pas cochée et que le domaine ne correspond pas, afin qu'un clic malencontreux ne puisse pas déclencher un envoi.

> **Warning:** Un envoi écrase, il ne fusionne pas. Tout ce qui a changé sur la production depuis votre dernière réinitialisation est remplacé par ce qui se trouve sur le staging. Cela inclut les nouveaux articles, les nouveaux comptes clients, les nouvelles entrées de formulaire et les nouvelles commandes.

Une sauvegarde complète de la production est effectuée automatiquement avant toute écriture, et si l'envoi échoue en cours de route, la production est restaurée à partir de cette sauvegarde. Les petits sites terminent généralement en bien moins d'une minute ; une grande base de données ou une bibliothèque de médias de plusieurs gigaoctets prend plus de temps.

### Choisir Fichiers, Base de données, ou les deux

C'est la décision la plus importante, et la réponse n'est généralement pas « les deux ».

**Fichiers uniquement.** L'option par défaut sûre pour un site qui collecte quoi que ce soit de la part des visiteurs. Les modifications de thème, les mises à jour de plugins, les changements de modèles et le code personnalisé se trouvent tous dans des fichiers. Envoyer uniquement les fichiers laisse intacts tous les articles, commentaires, commandes et utilisateurs sur la production.

**Base de données uniquement.** Pour des changements de contenu ou de réglages effectués sur le staging, sur un site où personne ne modifie directement la production. Rare en pratique.

**Les deux.** Correct pour une refonte ou une reconstruction où le staging est le nouveau site et où la production est remplacée intégralement. Annoncez-le, faites-le en dehors des heures ouvrées, et vérifiez d'abord que vous disposez d'une sauvegarde à jour.

> **Important:** Envoyer la base de données vers une boutique en ligne supprime les commandes. WooCommerce conserve les commandes, les clients, les abonnements, les coupons et les niveaux de stock dans la base de données, donc chaque commande passée depuis votre dernière réinitialisation à partir de la production disparaît dès que l'envoi se termine. Il n'existe aucune récupération partielle. Sur une boutique, envoyez uniquement les fichiers, et effectuez les changements au niveau de la base de données directement sur la production. Voir [Configurer WooCommerce](https://support.kapsulehost.com/fr-fr/wordpress-woocommerce).

Le même piège s'applique, de façon moins spectaculaire, à tout site comportant des commentaires, des soumissions de formulaires, des inscriptions d'adhésion ou une liste de diffusion stockées dans WordPress.

## Réinitialiser le staging à partir de la production

C'est le sens sûr : cela écrase le staging avec le site en ligne actuel et ne touche jamais à la production.

1. Ouvrez **Environnement**, puis **Préproduction**.
2. Repérez **Réinitialiser à partir de la production**.
3. Cochez **Fichiers**, **Base de données**, ou les deux.
4. Cliquez sur **Réinitialiser à partir de la production**.

Faites cela chaque fois que :

- La production a évolué, avec de nouveaux articles, de nouvelles commandes ou des modifications de contenu.
- Vous commencez un nouveau travail et souhaitez une base réaliste.
- Le staging a dérivé au point qu'un résultat de test ne signifie plus rien.

Tout ce qui se trouve sur le staging et n'a pas été envoyé est perdu. S'il y a un travail sur le staging que vous souhaitez conserver, envoyez-le d'abord, ou extrayez les fichiers modifiés via **Paramètres**, puis **Gestionnaire de fichiers** avant de réinitialiser.

## Comment fonctionne la réécriture des URL

WordPress stocke sa propre adresse dans la base de données, dans les lignes `siteurl` et `home` de la table des options, et des URL absolues se retrouvent également dans le contenu des articles, les valeurs de métadonnées, les réglages de widgets et les options de thème.

Votre site de staging fonctionne à l'adresse `staging.` suivie de votre domaine, de sorte que chacune de ces valeurs pointe vers le nom d'hôte du staging pendant que vous y travaillez. **Réécrire les URL**, lors de l'envoi, exécute une véritable recherche et un remplacement sur toutes les tables, en gérant correctement les réglages de plugins sérialisés, et remplace le nom d'hôte du staging par celui de la production.

Laissez cette option cochée sauf si vous avez une raison précise de ne pas le faire. Si vous n'envoyez que les fichiers, ou si une URL de staging subsiste, corrigez-la avec [Exécuter une recherche et un remplacement](https://support.kapsulehost.com/fr-fr/wordpress-search-replace).

## Un flux de travail qui tient la route

1. **Réinitialisez à partir de la production** afin que le staging corresponde au site en ligne.
2. **Faites une sauvegarde de la production** avant de commencer, afin de disposer d'un point de restauration indépendant de l'envoi : [Effectuer une sauvegarde](https://support.kapsulehost.com/fr-fr/taking-a-backup).
3. **Effectuez le travail sur le staging.** Mises à jour de plugins et de thèmes, nouveau code, changements de mise en page.
4. **Testez sur le domaine de staging.** Chargez les pages que vous avez modifiées, et celles que vous n'avez pas modifiées. Sur une boutique, exécutez une commande test de bout en bout.
5. **Envoyez uniquement les fichiers**, sauf si vous avez délibérément décidé que la base de données doit également être envoyée.
6. **Vérifiez immédiatement la production.** Page d'accueil, une page profonde, le paiement, et le tableau de bord d'administration.
7. **Réinitialisez à nouveau le staging à partir de la production** une fois satisfait, afin que le prochain cycle commence proprement.

> **Note:** Le staging est entièrement géré depuis votre site de production. Il n'apparaît pas comme une entrée distincte dans la liste **Sites web**, donc tous ses contrôles, y compris sa suppression, se trouvent sur cet unique onglet.

## Supprimer le staging

La fiche **Supprimer le staging** en bas du même écran supprime la copie de staging. La production n'est pas affectée. Supprimez-la lorsqu'un projet est terminé : le staging compte dans le stockage de votre offre, et une copie obsolète est un passif plutôt qu'un atout.

## Dépannage

**Le bouton Envoyer à la production ne s'active pas.** Les deux conditions doivent être réunies : la case de confirmation cochée, et le domaine de production saisi exactement, sans `https://` et sans barre oblique finale.

**L'envoi s'est terminé mais le site affiche encore l'ancien contenu.** C'est une question de cache. Videz-le depuis **WordPress**, puis **Actions rapides**, puis **Vider le cache**, purgez le CDN depuis **Performances**, puis **Kapsule CDN**, et rechargez dans une fenêtre de navigation privée.

**Des URL de staging apparaissent sur le site en ligne après un envoi.** La base de données a été transférée sans que **Réécrire les URL** soit coché. Exécutez une recherche et un remplacement du nom d'hôte de staging vers votre domaine de production : [Exécuter une recherche et un remplacement](https://support.kapsulehost.com/fr-fr/wordpress-search-replace).

**J'ai envoyé la base de données et j'ai perdu des commandes.** Restaurez immédiatement la sauvegarde automatique antérieure à l'envoi, avant que d'autres commandes n'arrivent sur la base de données écrasée : [Restaurer à partir d'une sauvegarde](https://support.kapsulehost.com/fr-fr/restoring-from-backup).

**Le staging affiche une erreur après une réinitialisation.** Un plugin qui code en dur le domaine de production en est généralement la cause. Connectez-vous avec **WP Admin** depuis la fiche de staging et désactivez-y les plugins jusqu'à ce que l'erreur disparaisse, puis corrigez ou remplacez le plugin fautif sur la production.
