Migrer un site d’un multisite vers une installation classique

Présentation du multisite WordPress.

La technique du Multisite permet de faire fonctionner plusieurs site WordPress ensemble au sein d’une seule et même installation.

Cette technique permet de mutualiser le Coeur de WordPress, les thèmes ainsi que les extensions.

En résulte un gain de temps non négligeable lors de la maintenance de vos sites puisque vous ne mettez à jour qu’une seule fois.

En savoir plus:

Le multisite dans WordPress : Pourquoi? Comment?

Dans ce tutoriel, je vais vous expliquer ce qu’est un multi-site WordPress, pourquoi le mettre en place et surtout comment! Le multi-site: qu’est ce que c’est? La plupart d’entre vous doivent connaître WordPress “classique”, WordPress “single” comme on lit aussi. C’est une installation de notre CMS qui va être utilisé pour propulser fièrement un site […]

Lire la suite

Extraire un site d’un multisite étape par étape.

Tout d’abord, ce tutoriel ne se veut pas LA méthode mais une méthode qui fonctionne et que j’ai mis en action aujourd’hui dans le cadre de mon poste de développeur WordPress.

Étape -1 – Sauvegarde

Saaaaauuuuuvvvvvveeeeegggggaaaaaarrrrrrdddddeeeeee

Sauvegardez vos fichiers (WP, extensions, thèmes, mu-plugins et base de données Mysql)

Étape 0 – Installation en local

Avoir le multisite en local, ce sera bien plus simple à gérer et en cas d’accident, ca ne génera que vous!

Étape 1 – Mises à jour

La première étape va consister a mettre votre multisite à jour:

  • WordPress
  • Thèmes
  • Extensions
  • Langues

Si cette étape n’est pas fondamentale, je me dis que:

  1. ça ne peut pas faire de mal
  2. ça peut éviter les conflits et les soucis par la suite quand vous importerez thèmes et extension dans votre site WordPress “Classique”.

Étape 2 – Installer WordPress

Installer un WordPress tout beau tout neuf… Pour cela je vous propose de le faire en 3 minutes grâce au script wp-cli que j’ai créé pour vous…

OK j’avoue, je l’ai créé pour moi… et je me suis dit que ça pourrait vous intéresser!

Étape 3 – Transférer les fichiers

Alors maintenant, va commencer un transfert de fichiers. Voilà pourquoi je vous ai demandé en étape 0 de travailler en local. e sera bien plus facile de déplacer des fichiers dans l’explorateur de votre machine qu’à distance via un sFTP ou autre.

Pensez à transférer:

  • Les thèmes (parent et enfants)
  • Les extensions
  • Les “mu-plugins”
  • le dossier “uploads”… mais lui je lui réserve l’étape 4!

Bien sur, sur le multisite peut être que toutes les extensions ou tous les thèmes n’étaient pas utiles pour le site que vous êtes en train d’extraire.

Ne transférez que ce dont vous avez besoin et n’activez rien

Étape 4 – le dossier “Uploads”

Le dossier Upload situé dans `wp-content` contient tous les médias téléversés sur votre site et disponible dans la médiathèque.

Avouez que ce serait ballot de ne pas les retrouver dans votre nouvelle installation.

Le dossier Upload est un peu différent à transférer puisque son architecture de dossiers et de sous-dossier est différent d’une installation classique.

Architecture du dossier Uploads en Multitisite
Architecture du dossier Uploads en Multitisite

Remarquez la différence avec une architecture classique. Dans “uploads”, nous avons un dossier “sites” qui n’existe pas dans une installation classique de WordPress.

A l’intérieur de ce dossier “sites” nous avons un dossier nommé par l’id du site dans l’infrastructure multisite.

Ensuite, nous retrouvons le classement classique des médias par WordPress avec un dossier année et un dossier mois.

Retrouvez l’ID du site a extraire du multisite

J’estime que si vous faites cette manipulation alors vous avez les privilèges de super-administrateur.

Cette étape est assez simple, il faut se rendre dans l’administration réseau de votre multisite puis dans le sous-menu “Sites” au bout de la ligne concernant le site à migrer vous trouverez l’ID de celui-ci.

Trouvez l'ID du site à migrer
Trouvez l’ID du site à migrer

L’identifiant récupéré vous pouvez déplacer tout le contenu du dossier ayant l’id comme nom dans wp-content/uploads afin de retrouver l’arborescence classique d’un WP.

Étape 5 – exporter puis importer la base de données

C’est bien beau mais pour le moment, vous avez tout sauf votre contenu…. et dans un site, c’est bien le plus important la base de données.

Pour ce tutoriel, je vais estimer que vous avez le préfixe par défaut “wp_”.

A l’image des médias, WordPress multisite ajoute l’id du site sur certaines tables.

Il va donc falloir exporter toutes les tables ayant l’ID ainsi que les tables wp_user et wp_usermeta qui elles n’ont pas d’id car dans un multisite, les utilisateurs sont commun à tous les sites.

Personnellement je le fais avec PHPmyAdmin si les tables ne sont pas trop volumineuses… on sélectionne les tables voulues (exemple: celle du site “4” wp_4_ ainsi que les 2 tables d’utilisateurs).

Avant d’importer, supprimez les tables wp_user et `wp_usermeta` de l’installation classique afin d’éviter les conflits avec les tables que vous allez importer.

Pour l’import dans le WP classique, utilisez également l’outils dont vous avez l’habitude.

Vous allez vous retrouver avec des tables en doublons: Celles de votre installation classique et celle que vous venez d’importer qui ont le préfixe `wp_4_`. Supprimez les tables en doublons de l’installation classique.

Importez vos tables “multisites”

A cette étape, si vous regardez votre base de données dans PHPmyadmin ou autres, vous devez remarquer des tables en wp_ et d’autres en wp_4_

Dans PhpMyadmin, cochez toutes les tables en `wp_4_` puis en bas de la page dans le menu déroulant sélectionnez “Remplacez le préfixe de table”

Si vous décidez de modifier le préfixe de table, n’oubliez pas de corriger le `wp-config.php` en conséquence.

On y est presque!

Étape 6 – Remplacer les URLs des médias en Base de données.

Pour cela j’utilise le script SRDB d’Interconnectit. Vous trouverez un guide de ce script chez mon ami Grégoire Noyelle.

Ici nous allons modifier les urls vers les medias et donc faire un recherche et remplace qui ressemblerait à ça:

Search: https://example.com/wp-content/uploads/site/4/2019/02/mon-image.jpg

Replace: https://example.com/wp-content/uploads/2019/02/mon-image.jpg

Étape 7 – la base utilisateur

Lors de l’import de la base de données, nous avons importé tous les utilisateurs du multisite… or, il y en a qui n’ont aucun rapport avec le site que vous venez d’extraire.

Je n’ai malheureusement pas encore trouvé une requête sql qui va bien … si vous avez une idée, soumettez la moi en commentaire, c’est avec joie que j’améliorerais ce tutoriel.

Étape 8 – Vérifications

Normalement, votre site classique est une copie exacte de votre site lorsqu’il était dans le multisite.

Selon vos installations, il peut y avoir 2/3 choses à régulariser. Exemple, remplacer des urls vers des images écrites en dur dans des fichiers css créé parle constructeur de page Elementor…

Vous avez peut être transférer des extensions qui n’ont un intérêt que dans le cadre d’un multisite…

Étape 10 – Se reposer!

Ouais y’a pas d’étape 9 car ça fait bien de s’arrêter sur un chiffre rond! une dizaine tout ça!

Normalement vous venez d’extraire sans encombre un site d’un multisite vers un site classique WordPress… vous avez bien mérité une petite mousse, un café ou n’importe qu’elle autre chose qui vous fera plaisir!

Et sinon, il y a la méthode simple! (ajout du 20 avril 2019)

Si comme moi vous êtes adepte de WP-CLI alors ce script vous permettra d’extraire un site du multisite en quelques secondes…

trepmal/blog-extractor

WP-CLI command. Extract single blog from multisite – trepmal/blog-extractor

https://github.com/trepmal/blog-extractor

Présentation de WP GestSup Connector, l’extension qui lie votre site WordPress au helpdesk GestSup

GestSup, qu’est ce que c’est?

Site web de GestSup.

GestSup est une solution de gestion de support auto-hébergée que j’utilise avec certains de mes clients pour prioriser les interventions et les développements réalisés par Thivinfo.

Jusque là j’avais, comme beaucoup, un formulaire de contact qui m’envoyait par mail le contenu saisi dans le formulaire en ligne. Ce mail, je le retranscrivais dans GestSup pour créer un ticket… faire et défaire c’est toujours travailler mais pendant ce temps là je n’étais pas productif pour développer les demandes de mes clients.

J’ai donc décidé de créer une extension WordPress qui génèrerait un formulaire via un code-court à placer sur le site et qui irait créer automatiquement un ticket dans GestSup. J’ai donc créé WP GestSup Connector qui fait exactement ce que je décris plus haut… sauf que…

Sauf que si la personne me contactant via le formulaire n’existe pas dans la base de données GestSup et bien le ticket n’est pas créé, je reçois la demande par mail, je la retranscris dans GestSup… hey mais… je l’ai déjà dit ça ! Ça ne pouvait plus durer et je me suis replongé dans le développement de l’extension.

Elle vérifie si l’adresse de la personne envoyant le formulaire existe dans la base de données GestSup. Si c’est le cas, le ticket est créé… si ce n’est pas le cas, un utilisateur est créé avant de créer le ticket.

Afin d’éviter le spam, WP GestSup Connector intègre Google Recaptcha. C’est optionnel, activable par une case à cocher dans les paramètres de l’extension.

WP GestSup Connector

WP GestSup Connector

Wp GestSup Connector vous permets de connecter votre Site WordPress au logiciel de ticket GestSup http://gestsup.fr

Sébastien Serre

WordPress 5.0 est sorti le 6 décembre 2018 et alors?

Si vous suivez l’actualité liée à WordPress, vous devez être au courant qu’un chantier énorme a été initié il y a plusieurs mois déjà.

Retour en arrière pour ceux qui n’ont pas suivi. Lors du WordCamp Europe 2017 qui s’est tenu  à Paris, Matt Mullenweg avait annoncé que le projet de nouvel éditeur nommé Gutenberg intégrerait le Coeur de WordPress si les 100000 activations étaient atteintes rapidement. Il n’aura fallu que quelques semaines.

Depuis, il y a eu plusieurs versions de WordPress et de Gutenberg en tant qu’extension et il est dorénavant temps de publier WordPress 5.0.

Dit comme ça, cela semble anodin mais le projet Gutenberg est – de la voix de Matt Mullenweg himself – le plus gros chantier entrepris par notre CMS préféré depuis 15 ans et il s’apprête a débouler sur 1/3 du Web, un tiers des sites internet dans le monde… ce n’est pas rien!

Gutenberg divise

WordPress bénéficiait d’une large communauté très soudée et le moins que l’on puisse dire… c’est qu’elle a pris un peu de plomb dans l’aile.

En effet, un tel changement ne peut pas satisfaire toute le monde et chacun voit l’avantage ou l’inconvénient qu’il va en tirer.

Gutenberg divise car bouscule les habitudes et l’humain est feignant, il aime pas être chamboulé… un fork de WordPress a même été créé

Le projet Gutenberg divise la communauté pour des raisons plus ou moins compréhensibles depuis plusieurs semaines toutefois il faut avancer et s’adapter.

WordPress 5.0 et Gutenberg c’est pour maintenant

On en a parlé pendant longtemps, on n’avait pas de date… mais ça c’était avant alors que devons-nous faire? Mettre à jour? tester? Ne rien faire? Partir en courant?

Ce que Thivinfo va faire

Pour mes clients, j’ai installé Classic Editor. Classic Editor est une extension WordPress permettant de désactiver le Nouvel Editeur (nom de Gutenberg dans le Coeur de WP).

Classic Editor

Classic Editor

Remplace l’éditeur à base de blocs par l’éditeur “classique”, remettant TinyMCE dans l’écran de rédaction, avec les blocs métas, etc. Fonctionne avec toutes les extensions qui visent…

WordPress Contributors

Avec Classic Editor, l’expérience utilisateur de mes clients ne va certes pas changer mais leur site sera toujours actif et disposera de WordPress 5.0.

La deuxième étape, pour les clients en maintenance sera de tester sur une instance autre que le serveur de Production le même site sans Classic Editor et voir au cas par cas ce qui fonctionne et ce qui est à corriger, si c’est corrigible etc.

Il y a quelques mois, l’agence Whodunit avait écris un article concernant le passage à WordPress 50 et les différentes possibilités qui s’offre à nous:

Passer de WordPress 5.0 et à Gutenberg – en prenant soin de proposer un accompagnement au changement pour les personnes chargées de l’administration des sites.
Passer de WordPress 5.0 en conservant l’éditeur classique tout en communicant sur la sortie de Gutenberg.
Rester sur la branche 4.9 car le site ne permet pas une mise à jour maîtrisée. Ce cas est à éviter par tous les moyens (on en parlera plus loin), mais dans tous les cas, une communication est faite au client en toute transparence.


Je suis bien sûr à votre disposition si vous avez un site internet sous WordPress et ne savez pas réellement ce que le passage à WP5.0 va impliquer.

En conclusion

Je reste persuadé que le projet Gutenberg (qui va bien plus loin que le simple éditeur) est un formidable projet pour WordPress même s’il a divisé la communauté qui se remettra peut être difficilement de ce passage.

Je reste également persuadé que la communication autour de ce projet  a été mal ou peu pensé. L’erreur la plus grosse selon moi a été… Gutenberg sera intégré dans WP 5.0… 

euh… ok mais pourquoi pas décider de l’intégrer quand il sera prêt plutôt.

Aujourd’hui, en tant que professionnel du web et de WordPress, j’ai un choix a faire et pour le moment… il est fait.. Je vais continuer à proposer à mes clients la solution qui propulse  plus du tiers du web… quitte, selon les projets a faire des adaptations.

ThinkWP, la vidéo est sortie!

Il y a quelques mois, je vous présentais dans ces colonnes le teaser de la video ThinkWP présentant WordPress, son écosystème ainsi que sa commuanuté.

Présenter WordPress à un public ne connaissant pas ou minifiant sa puissance est une des choses qui me tient à cœur et Thivinfo a tenu à sponsoriser la réalisation de cette vidéo. 

Aujourd’hui, Déborah Donnier et Émilie Lebrun, les deux personnes à l’origine de ce projet nous font l’immense plaisir de dévoiler cette vidéo dans un format 32 minutes.

Les chanceux qui étaient au WordCamp Paris 2018 avaient eu la chance d’en voir une version qui a été améliorée lors du dernier WPtech de Lyon

Et si on regardait la vidéo ?

WeThinkWP… 30 minutes pour découvrir WordPress

 Vous désirez en savoir plus? Voici le lien vers le site WeThinkWP

Comment je suis passé à Lando pour développer en utilisant Docker !

Il y a quelques mois j’avais testé Docker pour gérer mes environnements de développement. L’avantage majeur de Docker est de pouvoir développer en local sur les meme bases techniques  du serveur. Avouez que c’est tentant quand on a des sites hébergés chez des prestataires différents ( Même si la plupart pour mon cas sont chez O2Switch ) avec des versions logicielle des PHP, Mysql, Mariadb différentes. L’inconvénient majeur de Docker, a mon humble avis, réside dans la complexité de configuration! Je n’avais jamais réussi a faire fonctionner plusieurs vhost  en meme temps!

Avec Lando, c’est simple!

En discutant avec un collègue sur le Slack WordPress francophone, j’ai découvert Lando. Pour utiliser Lando, il vous faut tout d’abord installer Docker, puis Lando  vient en surcouche. Il va vous faciliter grandement la configuration des différentes images Docker à utiliser pour faire tourner votre environnement.

Des Recettes WordPress!

Lando propose des “Recipe”, littéralement des recettes pour les principaux CMS et Frameworks du marché dont bien sur WordPress. Avec la recette WordPress, Lando va créer un envirronement comprenant PHP, et Mariadb pour faire tourner votre site mais également wp-cli ! Bref, en quelques secondes de lancement, vous voilà pret a développer sur votre CMS préféré.

Une configuration simplifiée pour Docker!

Voici un exemple du fichier de configuration .lando.yml que vous devrez avoir a la racine de votre projet pour lancer votre instance Lando!
name: test
recipe: wordpress
config:
  webroot: .
  php: '7.0'
  xdebug: true
  database: mariadb
services:
  pma:
    type: phpmyadmin
    hosts:
      - database
      - old-test
  mailhog:
    type: mailhog
    hogfrom:
    - appserver
  old-test:
    type: mariadb
    portforward: true
    creds:
      user: wordpress
      password: wordpress
      database: old-test
tooling:
  composer:
    service: appserver
Il s’agit d’un simple fichier texte au format .yml qui sera lu par Lando pour qu’il puisse créer votre environnement. Noter un “name”, celui ci sera utilisé pour créer vos url locales de développement! ainsi que les services que vous désirez créer et dans quelle version! Ici j’ai choisi un PHP en version 7.0, Mariadb dans sa version stable courante, Phpmyadmin, Mailhog pour “attraper les mails” sortant sans avoir de serveur mail à configurer. On trouve aussi la configuration d’un second serveur de base de données ‘old-test’, l’activation de Xdebug et de Composer! Lando sur Github

WordCamp Nice 2018: ma première participation en tant qu’orateur!

Le 19 octobre 2018 aura lieu un évènement très important sur la cote d’azur… le prochain rendez-vous important pour la communauté WordPress aura lieu à Nice!

Lors de ce Nice WordCamp 2018  aura lieu ma première conférence !

Qu’est ce qu’un WordCamp?

Je ne dévoilerais bien sur pas le contenu de cette conférence de 20 minutes avant mais le programme étant dévoilé et la billetterie ouverte, il est grand temps que vous en connaissiez le titre et le sujet au moins 😉

D’esclavagiste à Développeur WordPress: itinéraire d’une reconversion réussie!

  • Vous exercez une activité et avez envie d’en changer ?
  • Vous n’osez pas sauter le pas ?
  • Vous vous demandez si devenir un professionnel de WordPress est réellement ce que vous voulez?

On se retrouve le 19/10 à Nice pour que je vous raconte ma vie mon expérience ?

Sébastien SERRE Speaker du WordCamp Nice 2018

Les grands aussi utilisent WordPress

Bonjour,

Souvent lorsque je parle de WordPress à mes prospects, ils me rétorquent qu’il s’agit d’une plate-forme de blog et qu’eux veulent un vrai site. La dessus, j’ai beau dire que de grandes compagnies travaillent sur cette plate-forme, sans exemple ce n’est pas convaincant!

C’est alors que ce matin devant mon café, je suis tombé sur cet article de WPBeginner (en)! le titre pourrait être traduit de la façon suivante:

40 Grands noms utilisant WordPress.

Sans lister les 40, on peut noter:

  • BBC America
bbcamerica
  • Sony Music
sonymusic
  • Bata
bata
  • Fortune
fortune
  • New-York Times
nytimes
  • The Rolling Stones
rolling-stones
  • La Maison Blanche

Si ces grands noms, soucieux de leur image utilisent WordPress, pourquoi pas vous? Rencontrons nous!

Comment Contribuer facilement à WordPress

Si vous me lisez, certainement que vous  utilisez régulièrement mon CMS préféré à savoir WordPress. WordPress est un logiciel libre ou Open-Source en anglais. C’est à dire que le code du logiciel est disponible et que vous pouvez le modifier et l’améliorer comme bon vous semble… Il y a quelques limitations tout de même… vous devez entre autre repartager vos améliorations.

Pourquoi contribuer?

Je pense qu’il y a autant de raison de contribuer au projet WordPress qu’il existe de contributeurs… La raison qui revient très souvent lorsqu’on en parle avec d’autres contributeur c’est :
Je contribue à WordPress pour apporter ma pierre à l’édifice et rendre la pareille au CMS et à sa communauté.
Vous aurez probablement votre propre raison, mais faire parti de cette aventure aura une place dans ce choix.

Les différentes façon de  contribuer au projet WordPress.

Lorsqu’on parle de contribution la majeur partie des personnes pensent au code: Contribuer en apportant des améliorations au CMS via du code. Seulement, tout le monde n’est pas développeur et pourtant, nous pouvons tous contribuer! Il existe (pour le moment) 18 pôles de contribution. Vous pouvez les rejoindre  en visitant cette page: https://make.wordpress.org/ qui est le portail central de la contribution WordPress.
les poles de contributions à WordPress
Ces 18 pôles seraient les façons de contribuer officiellement à WordPress mais il existe bien d’autres manière d’apporter sa pierre à l’édifice. JB Audras a commencé une série d’article sur le thème de la contribution au Coeur de WordPress.

Contribuer en publiant

Vous vous sentez l’âme littéraire? Écrire des articles sur votre site internet à propos de WordPress. Que ce soit pour expliquer techniquement une action menée lors d’un développement ou bien expliquer comment vous utilisez telle ou telle extension… c’est Contribuer à WordPress.

Contribuer en organisant ou en participant à des évènements autour de WordPress

Vous vous rendez à un Meetup WordPress? à un WordCamp c’est un début de contribution car vous faites une démarche pour le CMS WordPress. Vous allez en parler, y retourner. Bref vous allez faire vivre la communauté. Bien sur l’étape suivant la participation à un évènement est bien souvent sa particpation en tant qu’organisateur ou bénévole lors de WordCamp. Sachez qu’a chaque WordCamp il y a un appel à bénévoles. Les Bénévoles lors de WordCamp sont les petites mains qui font en sorte que l’évènement soit réussi. Pour le moment en France, il existe 4 WordCamp: Si vous vous sentez l’âme voyageuse, il en existe dans le monde entier! voici les prochains en Europe  et dans le monde Chacun de ses évènements feront des appels et je vous invite à suivre les comptes Twitter de chacun d’entre eux pour rester informé. Vous n’habitez pas près de l’un de ces 4/5 WordCamp? Vous ne vous voyez pas traverser la France pour nous rencontrer ? On est bien triste mais il y a des évènements autour de WordPress un peu partout (à suivre sur l’agenda de WPFR) J’espère que ces quelques lignes qui sont bien loin de relater toutes les formes de contributions possible vous donnerons envie de creuser le sujet 😉 Si la contribution à WordPress vous intéresse mais que vous ne savez pas comment commencer, n’hésitez pas à me laisser  un commentaire, j’essaierais de vous aider au mieux.

Exporter des biens immobiliers de Péricles 5 vers WordPress

— Mise à jour du 28 février 2019 —

La solution décrite ci-dessous fonctionne mais l’empilement d’ACF, de WPCasa et de WP-All-Import peut introduire des conflits résultant a un import parfois partiel des images…

C’est pour cela que je viens d’écrire directement une extension WordPress adaptée aux besoin de mon client important les biens immobiliers de Péricles 5 dans WordPress.

Si vous rencontrez des difficultés ou êtes intéressé par une adaptation de mon extension pour votre agence immobilière ou celle de votre client. N’hésitez pas à me contacter

Merci

WP Pericles Import – Importer vos biens de Péricles vers WordPress

Agent immobilier qui utilisez quotidiennement Péricles 5 pour gérer vos bien immobiliers , mettez à jour votre site vitrine WordPress automatiquement et facilement.

https://thivinfo.com/boutique/wp-pericles-import

— Article Original —

J’ai récemment eu besoin pour un projet client d’exporter des biens du logiciel propriétaire de gestion de biens immobilier Péricles 5 vers le site internet de l’agence immobilière réalisé sur mon CMS préféré: WordPress

Etats des lieux

Péricles 5 propose des solutions d’export intégrées vers les sites spécialisés mais pas de possibilité de transférer les biens immobilier de l’agence vers son site internet.

Péricles 5 propose tout de même une solution un peu archaïque à mon gout en 2018 qui consiste a générer un fichier XML contenant le détail de tous les biens dans une archive zip.

Objectif

L’objectif principal de mon client était  de ne pas avoir a ressaisir dans son interface WordPress ce qu’il venait d’enregistrer dans son Péricles.

Solution apportée

La solution mise en place consiste :

  • a générer le fichier XML, dans une archive zip avec les photos des biens immobilier,
  • d’envoyer le tout par FTP sur le serveur d’hébergement du site web,
  • à importer chaque bien dans les types de contenu WordPress prévu ou de mettre à jour les biens existant avec les nouvelles informations contenu dans le fichier XML.
  • à enlever du site les biens qui n’ont pas été vendu par l’agence immobilière.

Mise en place de la solution

Cette solution artisanale  pourra et/ou devra être adaptée selon votre projet, mais vous fournira une idée du travail à réaliser.

Au commencement, l’export des données des biens immobilier.

Dans Péricles, vous allez trouver le sous-menu “Transfert FTP” dans le menu “Communication”.

Dans la fenêtre qui apparaît, Il vous faudra créer un nouveau “transfert”.

Sur la capture suivante, nous allons paramétrer l’export et transférer les  biens sur le serveur hébergeant le site internet via FTP. Un accès FTP est donc ici nécessaire. Péricles laissant en clair le nom d’utilisateur et le mot de passe, je vous conseille de créer un utilisateur FTP dédié à cette tache.

  1. Donnez un nom à votre script
  2. Donnez un nom au fichier xml ainsi qu’au ZIP qui sera créé
  3. Renseignez les informations de connexions FTP
  4. Choisissez les paramètres de tri des annonces
  5. Enregistrer votre script et fermez cette fenêtre.

Revenu cette fenêtre cliquez sur les 3 points pour déplier le menu et choisissez “transférer”.

Si l’étape de paramétrage du script de transfert FTP est correct, le transfert des biens devrait commencer. Cette étape peut être plus ou moins longue selon le nombre de biens et de  photos à transférer.

Le transfert de Péricles vers l’hébergeur a fonctionné, comment intégrer les biens dans WordPress?

Voici l’étape la plus longue et la plus fastidieuse: faire correspondre les nœuds XML avec nos champs WordPress et là chaque cas sera particulier.

Sur le projet que j’ai développé, les biens immobiliers sur le site WordPress étaient géré par l’extension WPCasa mais le principe sera le même avec une autre extension WordPress ou si vous avez créé votre propre type de contenu.

Le but de cette étape est donc de lire le fichier XML et de répartir les informations y figurant dans les différents  champs de votre CPT “Biens Immobilier”. Pour ce faire j’ai utilisé l’excellente extension WP All Import qui, en version gratuite peut très bien suffire ( selon votre façon d’intégrer les biens immo).

Importer ses biens immobiliers avec WP All Import

Une fois WPAI installé et activé, rendez-vous dans le menu WP All Import > New Import. Ici nous avons 3 choix:

  1. Upload a file,
  2. Download from URL
  3. Use existing file

La première solution est écartée d’office puisqu’elle nous force a téléverser manuellement un fichier or, nous voulons que tout soit automatisé avec le moins d’interaction humaine possible. La seconde solution permet de télécharger le fichier depuis une adresse de site internet avant de l’importer enfin la troisième solution permet de traiter un fichier déjà présent. Le seconde et troisième solution sont donc envisageable mais nous allons retenir la seconde car celle ci pourra être lancée via une tache Cron et donc notre import sera totalement automatisé.

Lors de la création de votre utilisateur FTP, vous lui avez créé un chemin vers un dossier sur lequel il a le droit d’agir… Comme nous allons  devoir télécharger le fichier, il serait bien que l’utilisateur FTP soit paramétré pour que son dossier de travail soit:

 wp-content/uploads/wpallimport/files

Ceci pour que nous ayons les même référence dans ce tutoriel et que nous soyons sur que le fichier est accessible sur une URL fonctionnelle. Pour le besoin de ce tutoriel, l’URL sera https://example.com/wp-content/uploads/wpallimport/files/export.ZIP

ATTENTION, WPAI est sensible à la casse et Péricles nous fait l’honneur de transférer un fichier avec une extension en majuscule… respectez bien la casse de l’extension de fichier .ZIP

Nous allons créer de nouveaux biens soit de New Items (désolé pour les anglicismes mais WPAI n’est pas encore traduit… si cela vous interesse: https://translate.wordpress.org/locale/fr/default/wp-plugins/wp-all-import ).

Dans le menu déroulant “Create New”, nous allons choisir le nom du type de contenu concernant nos biens immobiliers.

Si tout se passe bien, vous devriez avoir un écran ressemblant à ceci:

Si c’est bien le cas, cliquons sur le bouton “Continue to step 2” et vous allez trouver quelque chose de ressemblant a ceci:

Bien sur le nombre de biens dépendra du nombre de biens géré sous Péricles 5. Le but ici est de trouver le noeuds “Bien” dans la colonne de gauche. Attention au piège, il existe “Biens” également

Nous avons ici tous les champs exportés de Péricles 5 disponible dans WordPress, il ne reste plus qu’a les traiter: Yapluka, Yfokon

Passons a la 3eme et plus pointilleuse étapes: faire correspondre les noeuds de l’export XML Péricles avec les champs de votre CPT. Sachez que si vous avez créé des champs ACF pour gérer les caractéristiques de vos biens immobiliers, il existe un add-ons WP ALL Import permettant d’importer des noeuds XML dans vos champs personnalisé ACF.

Ici le fonctionnement a lieu en glissé/déposé, une fois que vous avez terminé, je vous conseille de créer un “template”. Si vous avez des modifications a faire, vous n’aurez pas a tout reparamétrer. Vous pouvez parfaitement combiner plusieurs noeuds pour parvenir a ce que vous voulez avec par exemple:

{CATEGORIE[1]} à {VILLE_OFFRE[1]}:  {PRIX[1]}€

ce qui pourrait donner un titre de biens immobilier ressemblant à:

Maison à Paris: 50000€

Méfiez vous si vous voyez une annonce de ce type … 😉

Importer les photos présente dans Péricles

Péricles format le nom des images de la facon suivante:

{CODE_SOCIETE[1]}-{CODE_SITE[1]}-{NO_ASP[1]}-a.jpg

La lettre -a dépendant du nombre de photos que vous envoyez dans le zip.

Import des images Avec WP All Import

Le fonctionnement de l’import d’image avec WP ALL Import dans un CPT WPCasa n’est pas très intuitif selon moi. En effet, WP All Import s’attend à ce que les photos soient disponible dans le dossier ou se trouve  le fichier xml… or si WPAI extrait le fichier XML contenu dans le zip… il n’extrait pas automatiquement les photos :-/

Heureusement WP ALL Import propose plusieurs Hooks.

Nous allons donc pouvoir créer une fonction PHP qui va extraire les photo dans le bon dossier avant que  l’import ne commence. On en profitera pour sauvegarder le .zip d’origine, toujours utile en cas de soucis ou de besoin pour déboguer.

PHP

Que fait cette fonction?

Tout d’abord, elle détermine le chemin vers le fichier .ZIP puis si le dossier “export” n’existe pas, elle le crée. Ensuite elle copie le fichier zip dans le dossier export que l’on vient de créer en le renommant avec la date du jour (notre sauvegarde est faites). Enfin le .zip est décompressé.  Les images sont prêtes à être importées.

Une fois tout le mapping de champs effectué, rendez vous sur l’étape 4 ou WPAI vous demande un “unique identifier” que l’on va traduire par “identifiant unique”. Dans notre cas d’agence immobilière, le meilleur champ unique dont nous disposons est le numéro de mandat de vente immobilière qui est disponible dans Péricles et donc dans notre fichier XML sous la référence de noeud: {NO_MANDAT[1]} .

Choix du mandat immobilier comme identifiant unique.

En cliquant sur continuer, l’import va débuter, assurer vous d’avoir bien initié un transfert FTP depuis Péricles pour avoir un fichier export.ZIP dans votre installation WordPress

Automatisation de l’import des biens

La seule tache que mon client a à faire est de mettre a jour ses biens sur Péricles et d’initier un transfert FTP. A partir de ce moment, tout doit être automatique et transparent pour lui.

Heureusement, WP ALL Import peut etre déclencher par une tache Cron. Si vous ne savez pas ce que c’est, allez voir l’article de mon confrère Cyrille Sanson expliquant ce qu’est un Cron.

Dans le menu All Import > Manage Imports, vous allez retrouver la totalité des imports WPAI paramétré dont le notre bien sur. En bout de ligne, vous avez un lien “Cron Scheduling”

menu cron de WP All Import

En suivant le lien, vous trouverez 2 URLs. Ces 2 URLS sont a utiliser pour paramétrer votre CRON. Elles simuleront une intervention humaine et déclencheront  l’import.

Une Extension dédiée est en cours de développement…. restez connecté…