WordPress : Site de test et site de production

Bonjour,

Pour un site marchand en création, j’envisage d’utiliser un site de test plutôt que le site en production, à chaque fois qu’il faudra mettre à jour des éléments importants (WooCommerce, par exemple).

Dans sa version gratuite l’extension WP Staging semble à première vue proposer ce dont j’ai besoin : copie de tous les fichiers dans un sous-dossier du domaine, copie des tables de la base de données, remplacement des URL.

Alternativement, je pourrais conserver le site de test actuel exemple.ouvaton.org une fois exemple.com en ligne. Mais ça demanderait de faire ces copies manuellement, et de m’assurer que j’ai bien configuré les deux domaines à l’identique.

Auriez-vous des retours d’expérience sur des manières de faire vivre un site en production avec un site de test « à côté » ? Des éléments importants à prendre en compte ?

Merci !

Bonjour,

En l’état je ne vois rien de spécial, l’important étant de sécuriser le site de test avec un htaccess pour éviter tout accès non autorisé que ce soit par un humain ou par un robot qui ferait de l’indexation.

Gurvan.

Merci de cette réponse.

Je compte utiliser le site de test sur un compte Ouvaton différent du site de production.
(Quelques considérations sur cet autre fil, que j’ai un peu fait dériver, désolé).

C’est finalement l’extension Duplicator qui me semble adaptée dans sa version gratuite à réaliser des copies d’une version du site à l’autre.

Cela dit, ça demande quand même de

  • copier une archive .zip par FTP,
  • supprimer toute la version actuelle du site,
  • installer cette archive via un installeur PHP,
  • corriger quelques omissions dues à l’URL différente entre site de test et site de production, notamment dans le fichier .htaccess.

Je me demande s’il ne sera pas aussi simple de

  • vérifier sur la version de test le bon fonctionnement du site lors des mises à jour de WordPress et de ses extensions, ou lors d’ajout de fonctionnalités,
  • passer le site de production en maintenance avec une page dédiée,
  • répercuter manuellement sur le site de production les tests effectués sur le site de test.

Bonjour,

Quelques années plus tard, le site mentionné dans ce sujet est en ligne. La version de test était hébergée sur un autre compte Ouvaton, désactivé depuis.
J’aimerais aujourd’hui recréer une version de test, pour tenter de résoudre des problèmes de temps de chargement, cette fois sur le même compte Ouvaton que celui qui héberge le site en production.
Est-il possible, et est-ce une bonne idée de :

  • créer un espace web type test.ouvaton.org sur le même compte que le site en production,
  • copier l’ensemble des fichiers du site de production vers ce nouvel espace web,
  • dupliquer les tables sur la même base de données que le site en production, en renommant seulement le préfixe des tables,
  • remplacer dans ces nouvelles tables toutes les occurrences de l’url du site de production par l’url du site de test,
  • remplacer dans ces nouvelles tables toutes les occurrences du préfixe des tables par le nouveau préfixe (je trouve des occurrences dans les tables <préfixe>_users et <préfixe>_usermeta)
  • modifier le préfixe des tables dans le fichier wp-config.php sur le site de test.

? :slight_smile:

Ai-je oublié des étapes ?
Si c’est viable, je souhaite ensuite désactiver toutes les extensions sur le site de test, et comparer les temps de chargement avec le site en production.
Y a-t-il des considérations à avoir pour que ces tests ne soient pas biaisés ? Je suppose que deux espaces web sur un même compte devraient bénéficier des mêmes performances de la part des serveurs Ouvaton ?

Est-ce que dupliquer les tables de la base de données peut faire ensuite ralentir les requêtes sur les tables du site de production ? (La base actuelle fait 115 Mo.)

Enfin, puis-je obtenir de l’aide pour réaliser cette copie, peut-être via un ticket d’assistance ? J’ai déjà créé l’espace web. De mémoire, la copie FTP est très longue depuis FileZilla. Je ne suis pas non plus très à l’aise avec phpMyAdmin pour les manipulations de base de données… :slight_smile:

Merci de vos lumières !

Bonjour !

A priori, en théorie, toutes les étapes sont bien respectées, il me semble.
S’il n’y a pas d’erreur dans la duplication (et surtout dans la mise en place du préfixe), il n’y a pas, à mon sens, de raison que ça ralentisse le site en production.
Toutefois, pratiquement, ça me semble « galère » à faire (?)

Ne serait-il pas plus simple d’installer un wp « neuf » de la même version que celui en place, avec les même plugins éventuels, puis d’y placer les données du site en production, et en la base de données ?
Au niveau de la mise en place des tables sur la base de données, ça me semble plus sûr et plus simple.
Mais je me trompe peut-être.

Le plus simple serait évidemment de créer une nouvelle base de données (ça coûte, mais pas très cher). Et à priori, il n’y a pas de raison pour que cette base de données réagisse autrement que celle du site en production, du fait que nous n’avons qu’une instance sur un seul serveur mutualisé.

Pour ce qui est de l’aide via un ticket d’assistance, je ne sais pas, car je ne me rends pas vraiment compte du temps de travail nécessaire pour faire ces manips et des disponibilités… Mais je suppose que vous aurez une réponse en posant la question via un ticket :slight_smile:

Coopérativement,
Phil Cherp

Bonjour,

Merci pour la suggestion d’une seconde base de données. Effectivement le coût est faible, et ça permettrait de ne pas avoir à modifier le préfixe des tables et les occurrences de ce préfixe dans les données de la base. Il suffirait de modifier wp-config.php pour qu’il pointe sur cette nouvelle base.

Par contre je ne vois pas l’avantage de passer par une installation WordPress « neuve ». Ça demande de réinstaller tous les plugins, le thème, et dans mon cas de récupérer le thème enfant personnalisé via CSS et PHP. À l’inverse, la copie complète des fichiers c’est, je suppose, une opération simple.

Pour les remplacements dans la base de données, je me suis souvenu de ce script :

Une fois le dossier uploadé à la racine du site, on peut faire des rechercher/remplacer sur la base de données, notamment pour remplacer les URL absolues stockées par WordPress.

Je résume:

  1. nouvel espace web, créé
  2. copie des fichiers d’un espace web à l’autre (en fait j’ai aussi pu le faire, grâce à ce script)
  3. création d’une nouvelle base de données et copie des tables de la base initiale vers cette nouvelle base
  4. remplacement des URL dans la base de données grâce au script ci-dessus
  5. remplacement des URL dans les fichiers wp-config.php, .htaccess, etc.
  6. modification de wp-config.php pour pointer sur la nouvelle base
  7. (pense-bête pour moi-même) paramétrage de WordPress pour éviter que les moteurs de recherche indexent le site de test (et désactivation de l’extension de référencement)

Une fois mon autre souci résolu, j’ouvrirai effectivement un ticket pour voir si l’étape 3 peut être faite par la légendaire assistance d’Ouvaton :wink: .

Merci !

1 « J'aime »

Ayant réalisé que la création d’une base était disponible sur Ouvadmin, je me suis lancé.

Pour dupliquer, phpMyAdmin c’est bien pratique : un export complet permet de télécharger un fichier texte .sql. J’ai pu y modifier les occurrences d’URL et le nom de la base de données dans laquelle insérer les données. Un import dans phpMyAdmin connecté à la nouvelle base, et hop.

Même chose pour les fichiers FTP. J’ai décompressé en local l’archive que j’avais téléchargée grâce au script « unzipper » (cf lien dans post précédent), et une recherche de contenu m’a permis de repérer les quelques occurrences d’URL à remplacer. J’ai utilisé cette ligne de commande pour trouver les fichiers :
find . -type f -exec grep -lir "mondomaine.com" {} \;
Une fois les occurrences remplacées dans quelques fichiers (.htaccess, wp-config.php, .user.ini, …), j’ai recompressé et uploadée le tout, puis demandé au « unzipper » de décompresser le tout en ligne.

J’étais cependant coincé hors de l’administration WordPress avec cette erreur :

Désolé, vous n’avez pas l’autorisation d’accéder à cette page.

Ce lien m’a permis de résoudre le problème, apparemment les droits d’utilisateur qu’il fallait réinitialiser dans la base :

J’ai enfin désactivé toutes les extensions, et coché la case Demander aux moteurs de recherche de ne pas indexer ce site dans Réglages → Lecture.

C’est bon, mon site de test est actif. :slight_smile:

3 « J'aime »