WordPress_transfer

Comment récupérer un site WordPress en local : le guide étape par étape

Tu as un site WordPress, ou si dois travailler sur celui d’un de tes clients et tu sais pas trop comment t’y prendre ? Allez, viens dans cet article, je vais t’expliquer comment récupérer un site WordPress en local, étape par étape.

On va travailler simplement avec un AMP ( oui, je sais après mon article sur WSL & Docker, j’aurai pu t’expliquer comment faire avec, mais ça fera l’objet d’un prochain article ? )

La première étape pour récupérer ton site WordPress en local, tu l’auras compris, c’est d’avoir un environnement de développement en local. Ici, on va utiliser MAMP, mais utilise celui que tu veux. Une fois installé sauf si c’est déjà fait, démarre les services Apache et MySQL.

Les fichiers du site

Il existe deux méthodes pour récupérer les fichiers du site : soit à partir d’une sauvegarde, soit en utilisant un client FTP pour accéder aux fichiers du site sur le serveur.

Si tu as accès à une sauvegarde du site, tu peux extraire les fichiers sur ton ordinateur. Si tu n’as pas de sauvegarde, tu peux utiliser un client FTP pour accéder aux fichiers du site sur le serveur.

Pour cela, tu peux utiliser des logiciels tels que FileZilla ou Cyberduck pour accéder au compte d’hébergement et télécharger les fichiers du site sur ton ordinateur.

Une fois les fichiers récupérés, il te suffit de les mettre dans le dossier htdocs de ton AMP.

C:\MAMP\htdocs\TonProjet

Après, pour faire tourner le site WordPress en local, tu devras modifier certains fichiers pour qu’ils correspondent à ton environnement de développement local.

  • wp-config.php : Ce fichier contient les informations de connexion à la base de données. Pour faire fonctionner le site WordPress en local, tu dois modifier les informations de connexion pour qu’elles correspondent à ton environnement de développement local. Les informations que tu dois modifier sont : le nom de la base de données, le nom d’utilisateur de la base de données, le mot de passe de la base de données et l’hôte de la base de données.
  • .htaccess : Ce fichier contient les règles de redirection pour le site WordPress. Dans ton environnement de développement local, tu n’auras pas besoin de ces règles de redirection. Tu peux soit supprimer le fichier .htaccess, soit le renommer en ajoutant un préfixe, par exemple htaccess-backup.

Et c’est tout!

La base de données

Pour récupérer la base de données du site, tu peux utiliser un outil qui te permet de gérer la base de données MySQL tout dépend de ce que ton client utilise, mais on va partir sur phpMyAdmin.

Tu cliques sur le bouton Export,

Si tu n’as pas besoin de changer la méthode d’exportation, tu clique, sur go et c’est parti, le téléchargement est lancé.

Après deux méthodes, soit tout se passe bien et tu peux directement l’importer depuis le bouton Import de ton phpMyAdmin local, soit comme un problème auquel j’ai été confronté, ça ne fonctionne pas et faut faire ça autrement.

  1. Méthode phpMyAdmin :
    • Tu ouvres ton phpMyAdmin local : http://localhost/phpMyAdmin (si ça ne marche pas assure toi d’avoir bien lancé ton serveur MySql, et verifie les ports qu’il utilise. Ici, on utilise le port par défaut 3306 pour MySQL et 80 pour Apache)
    • Tu crées ta base de données (garde le même nom que celle que tu as récupéré)
    • Et tu cliques sur le bouton Import, tu sélectionnes ton fichier sql et tu attends que ça se termine.
    • Et si tu as un message d’erreur, voir Méthode tout ne s’est pas passé comme prévu.
  2. Méthode tout ne s’est pas passé comme prévu :

    Il est possible que les données que tu récupères soient trop volumineuses et que tu obtiennes une erreur. Pour ça, on va utiliser l’invite de commande, ça utilisera d’autres ressources accélérera le processus et évitera les bugs.
    • Ouvre ton invite de commande et dirige toi dans C:\MAMP\bin\mysql\bin.
    • Tape la commande mysql -u username -p (Remplace « username » par le nom d’utilisateur de ta base de données MySQL normalement, c’est root. Cette commande te demanderas ensuite votre mot de passe et normalement, c’est root aussi.).
    • Ensuite avec USE nom_de_la_base_de_donnees tu vas sélectionner la base de données à laquelle tu veux importer le fichier SQL que tu auras préalablement créé et vidé si tu as utilisé la première méthode avant (Remplace « nom_de_la_base_de_donnees » par le nom de la base de données à laquelle tu veux importer le fichier SQL).
    • Entrez la commande suivante : source /chemin/vers/ton/fichier.sql (Remplacez « /chemin/vers/ton/fichier.sql » par le chemin absolu vers ton fichier SQL).
    • Et pis c’est tout.

      En image, ça donne ça :

J’ai volontairement raccourci les logs parce que sinon, c’est trop long en capture d’écran, mais tu as le plus important des informations.
Cette procédure peut aussi s’écrire de la façon suivante : mysql.exe -u username -p nom_de_la_base_de_donnees < /chemin/vers/ton/fichier.sql toujours en modifiant les informations comme expliqué plus haut. Voila, tu as ta base de données opérationnelle en local, mais tu as tout de même quelques modifications à effectuer.

Les URL : Dans ta base de données, il est possible que certaines URL pointent vers des liens absolus, par exemple vers le site en ligne. Pour que ces liens fonctionnent en local, tu dois modifier les liens absolus dans ta base de données pour qu’ils pointent vers ton environnement de développement local.

Par exemple dans la table pre_option il y a siteurl et home à modifier qui sont les paramètres nécessaires pour faire fonctionner ton site.

Le premier correspond donc au nom de domaine en ligne, tandis qu’après modifications il correspond au localhost/le_nom_du_dossier_du_site qui se trouve dans ton htdocs. Ici dans mon htdocs j’ai donc htdocs/developpeur-freelance.

En parlant d’URL, il se peut que les images ne se chargent pas correctement pour la bonne et simple raison, c’est que dans la base de données, les images dans les posts ont une URL absolu. Donc il faudra les modifier aussi et il y a un plugin pour ça : Better Search Replace.

Rapide utilisation de Better Search Replace :

  • Dans la section « Search for » (Rechercher), entre l’URL absolue que tu veux remplacer, par exemple « http://votresite.com« .
  • Dans la section « Replace with » (Remplacer par), entre l’URL absolue de ton site en local, par exemple « http://localhost/nomdevotresite« .
  • Sélectionne les tables de la base de données dans lesquelles tu veux effectuer la recherche et le remplacement.
  • Clique sur le bouton « Run Search/Replace » (Exécuter la recherche/le remplacement) pour lancer le processus de recherche et de remplacement.

Le plugin indiquera le nombre de remplacements effectués.

Et puis voilà, tu as ton site WordPress disponible et fonctionnel en local.

Good dev.

chevron_left
chevron_right

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Commentaire
Nom
E-mail
Site