Tutoriels

Du local à la production : ce que remplace Mettre en ligne

Mettre en ligne → Tout remplace la base de données et les fichiers du site en ligne par votre copie locale. Les articles, pages, réglages, utilisateurs, commentaires et commandes WooCommerce en ligne sont remplacés par le contenu de votre base locale. Rien n’est fusionné. Fichiers seulement envoie votre thème, vos extensions et vos médias, et laisse la base en ligne intacte. Ce tutoriel suit chaque étape et montre comment protéger une boutique qui a de vraies commandes.

Par Oberon Lai. Je fais ShipPress (Codotx, LLC) : c’est donc notre propre produit.

La vidéo est en anglais. Elle ne se charge depuis YouTube (youtube-nocookie.com) qu’après un clic sur lecture. Voir sur YouTube
  1. Ce qui se passe quand vous cliquez sur Mettre en ligne

    ShipPress fait tourner WordPress sur votre Mac avec une base SQLite : un hébergeur ne peut donc pas simplement recevoir une copie de fichiers. Quand vous cliquez sur Mettre en ligne :

    1. Il prépare un paquet. Toute votre base locale est exportée en dump MySQL, l’adresse locale devient l’adresse en ligne (y compris dans les données sérialisées), et wp-content est empaqueté.
    2. Il laisse de côté ce qui est propre au local. L’extension SQLite, l’aide à la connexion locale, les aides d’édition de ShipPress, les dossiers d’agent et wp-config.php ne sont jamais envoyés. Votre hébergeur garde ses propres identifiants de base de données.
    3. Il enregistre d’abord une copie de la base en ligne (hébergeurs InstaWP et SSH) dans .aiwp/snapshots/remote/, à l’intérieur de votre site local, et garde les cinq plus récentes. Si cet export échoue ou revient vide, la mise en ligne s’arrête et rien n’est modifié.
    4. Il envoie les fichiers et la base à l’hébergeur, adapte le préfixe des tables à celui du site en ligne, remplace les adresses et vide les caches.
    5. Si l’import de la base échoue en SSH, la copie enregistrée est réimportée automatiquement. Sur InstaWP, ShipPress vous dit où se trouve la copie.

    Mettre en ligne attend aussi qu’un Worker IA ait fini de modifier le site, ou qu’une tâche planifiée (sauvegarde, mises à jour) soit terminée : une modification à moitié faite ne part jamais en ligne.

  2. Ce qui est remplacé, ce qui reste

    Sous Plus d’options, dans la fenêtre Mettre en ligne, vous choisissez ce qui part. En mode avancé, vous pouvez aussi limiter les fichiers aux thèmes, aux extensions ou aux médias.

    ChoixBase de données en ligneFichiers en ligne (wp-content)
    Tout (par défaut)Remplacée par votre base localeLes fichiers locaux sont copiés par-dessus
    Fichiers seulementIntacte : articles, pages, réglages, utilisateurs et commandes restentThème, extensions et médias sont envoyés
    Base de données seulementRemplacéeIntacts

    Pour les données en ligne, cela veut dire :

    Données en ligneToutFichiers seulementBase de données seulement
    Commandes et clients WooCommerceRemplacésConservésRemplacés
    Utilisateurs et mots de passeRemplacésConservésRemplacés
    CommentairesRemplacésConservésRemplacés
    Articles, pages, réglages, menusRemplacésConservésRemplacés
    • ShipPress ne filtre pas les tables et ne fusionne pas les lignes. Une commande WooCommerce qui n’existe que sur le site en ligne n’est pas dans votre dump local : après un envoi « Tout », elle n’est plus dans la base en ligne. La copie de la base en ligne enregistrée avant l’envoi la contient toujours.
    • Sur les hébergeurs SSH, les fichiers sont copiés par-dessus le wp-content en ligne sans supprimer ceux qui n’existent qu’en ligne. Avec « Fichiers seulement », un fichier en ligne n’est écrasé que si un fichier local porte le même nom.
  3. Récupérer le site en ligne sur votre Mac

    Applications → Tous les sites → Récupérer depuis l’hébergeur (mode avancé) télécharge un site en ligne. Vous choisissez un nouveau site sur votre Mac, qui ne touche pas au site ouvert, ou remplacer le site ouvert, ce qui demande de cocher une case confirmant que votre site local sera remplacé.

    ShipPress lit la base en ligne et wp-content, puis les importe en local. Seules des instructions de tables et de lignes sont exécutées, les fichiers sont extraits en toute sécurité (pas de chemins piégés, pas de wp-config.php, aucune aide locale de ShipPress), et l’adresse en ligne devient votre adresse locale. Si la base récupérée n’a pas d’administrateur, un utilisateur local admin est créé pour que vous puissiez vous connecter. Comme pour Mettre en ligne, on peut se limiter aux fichiers ou à la base.

    Avant de remplacer un site ouvert, ShipPress enregistre un point de restauration nommé pre-pull et le remet automatiquement si l’import échoue. Vous pouvez récupérer depuis InstaWP et depuis tout hébergeur joignable en SSH. Chez Hostinger, la récupération demande SSH, disponible à partir des offres Business.

    • Confidentialité. Une récupération complète amène des données clients (commandes, e-mails, adresses) sur votre portable. Récupérez « Fichiers seulement » si vous n’en avez pas besoin.
    • Une récupération est un instantané. Ce qui arrive ensuite sur le site en ligne n’est pas dans votre copie, et sera remplacé si vous envoyez « Tout » plus tard.
  4. Revenir en arrière : points de restauration et copie de la base en ligne

    ShipPress enregistre un point de restauration sur votre ordinateur après chaque modification de l’IA, avant chaque récupération, avant chaque restauration et quand vous en enregistrez un à la main. Par défaut, il garde les 30 plus récents par site (au moins 5). Un point de restauration contient votre base locale, vos thèmes personnalisés et le dossier des médias. Il ne contient pas les extensions ni les thèmes fournis avec WordPress, et ne touche jamais au site en ligne. Restaurer enregistre d’abord un autre point de restauration : une restauration peut donc elle-même être annulée.

    Pour le site en ligne, vous avez deux filets de sécurité :

    • La copie enregistrée de la base en ligne (InstaWP et SSH) : un simple fichier .sql dans .aiwp/snapshots/remote/, à l’intérieur de votre site local. Restaurez-la avec wp db import en SSH ou avec l’outil de base de données de votre hébergeur. C’est une copie de la base uniquement, pas des fichiers.
    • Les sauvegardes de votre hébergeur. Chez Hostinger, ShipPress ne peut pas sauvegarder la base par son API ; il ouvre donc la page Sauvegardes de hPanel. Faites-y une sauvegarde avant un envoi « Tout ».
  5. Une méthode sûre pour un site qui a de vraies données

    Un tout nouveau site, sans vraies commandes ni utilisateurs : « Tout » est le bon choix. Vérifiez l’adresse dans la fenêtre, cliquez sur Mettre en ligne, puis ouvrez le site en ligne et passez une commande de test.

    Un site qui a déjà de vraies données :

    1. Essayez d’abord sur un site de préproduction. Créez une copie de test chez votre hébergeur, ou un site InstaWP jetable, mettez-le en ligne là, et vérifiez une commande, un utilisateur et un commentaire avant de toucher au vrai site.
    2. Repérez ce qui a changé. Le thème, le design et le code sont dans les fichiers. Les pages, articles, produits, réglages et menus sont dans la base.
    3. Si seuls le design ou le code ont changé, utilisez Mettre en ligne → Plus d’options → Fichiers seulement. Les commandes, utilisateurs, commentaires et contenus en ligne restent exactement tels quels. Si seul le thème a changé, cochez uniquement Thèmes (mode avancé) pour que les fichiers d’extensions comme WooCommerce ne soient pas remplacés par vos versions locales.
    4. Si vous avez changé du contenu dans la base, faites ce changement dans wp-admin sur le site en ligne. Servez-vous de la copie sur votre Mac pour l’essayer d’abord. N’envoyez pas « Tout » sur une boutique qui reçoit des commandes.
    5. Si vous devez vraiment envoyer la base à une boutique en ligne, considérez cela comme une courte fenêtre de maintenance. Faites d’abord une sauvegarde dans le panneau de votre hébergeur. Récupérez « Tout » juste avant de commencer à modifier, pour que votre copie ait les commandes et utilisateurs du moment. Modifiez vite : une commande passée après votre récupération manque après l’envoi, et n’existe plus que dans la copie enregistrée de la base en ligne. Après la mise en ligne, vérifiez une commande, un utilisateur et un commentaire récent.
    6. Vérifiez le résultat. Le message qui suit la mise en ligne dit où l’ancienne base en ligne a été enregistrée. Gardez ce fichier jusqu’à ce que vous ayez vérifié le site.
    7. Pour continuer à modifier, récupérez à nouveau plutôt que de travailler sur une copie périmée.
  6. Ce que ShipPress ne fait pas encore

    Je préfère que vous l’appreniez de ma part :

    • Pas de fusion ni de filtre de tables. Il n’y a pas d’interrupteur « garder les commandes et utilisateurs en ligne ». « Tout » et « Base de données seulement » remplacent toutes les tables.
    • L’avertissement est général. La fenêtre dit que tout est écrasé. Elle ne cite ni commandes, ni utilisateurs, ni commentaires.
    • Pas de restauration en un clic de la base en ligne enregistrée, et seules les cinq copies les plus récentes sont gardées.
    • Pas de site de préproduction ni de comparaison local/en ligne dans l’app.
    • Les commandes passées pendant un envoi peuvent être perdues, car la base en ligne est copiée d’abord puis remplacée ensuite.

    La voie adresse gratuite est autre chose : elle publie de simples fichiers et n’est pas faite pour les boutiques WooCommerce, donc rien de tout cela ne s’y applique.

  7. Pour aller plus loin

    Nouveau ici ? Installez ShipPress (gratuit, Mac), puis suivez Mettre en ligne et Télécharger un site depuis votre hébergeur.

    Si vous tenez une boutique avec ShipPress et que ces limites vous inquiètent, dites-moi ce que vous voudriez : un filtre de tables, un bouton de restauration, un avertissement qui compte les commandes en ligne ? Écrivez-moi via Nous contacter. J’aimerais construire ce dont les gens ont vraiment besoin.

    — Oberon Lai, créateur de ShipPress