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é…

GestSup: le logiciel de support made in France

Il y a quelque temps, je cherchais pour mon activité de développeur Freelance WordPress un gestionnaire de ticket simple et efficace. J’en ai essayé plusieurs: des solutions externes, des extensions WordPress, rien ne me convenait complètement. En discutant avec une amie également Freelance, j’ai découvert GestSup.

GestSup pour Gestion de Support

Avec GestSup comme avec beaucoup d’autres système de ce genre, le support va se faire via un système de ticket. Chaque ticket peut être catégorisé et sous-catégorisé.

Vos clients peuvent ouvrir des tickets, les attribuer à un technicien manuellement ou automatiquement, leur attribuer un degrès d’urgence, de criticité.

L’avantage de ce genre d’outils est que toutes vos demandes de support sont  centralisée au même endroit. Vous avez un historique de chaque problème et surtout leur solution. La solution d’un jour peut resservir dans le futur.

Je pourrais bien entendu vous faire un tour complet de GestSup mais il existe un espace Demo qui vous permettra bien plus facilement de vous rendre compte du potentiel de la solution.

Intégrer GestSup avec votre site WordPress

Mes clients avaient l’habitude de me contacter en utilisant le formulaire disponible sur ma page contact, je l’ai remplacé par une page support qui leur permets d’ouvrir un ticket directement depuis mon site web.

Pour réaliser cette page, j’ai développé l’extension WordPress qui est désormais disponible sur le dépôt officiel WordPress.

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

Intégrer une Google Map sans extension dans WordPress

Il existe beaucoup de solutions pour intégrer une carte Google dans vos contenus WordPress. Aujourd’hui nous allons voir une solution basée sur un champs Gmap d’Advanced Custom Field (ACF). Cet article est une traduction du tutoriel d’Alicia Ramirez.

Ce tutoriel est basé sur l’utilisation de l’excellentissime extension Advanced Custom Field car elle est utilisée sur la totalité de mes développement et très simple à mettre en oeuvre.

Étape 0: Obtenir une clé API Google Map.

Avant de pouvoir utiliser Google Maps, il va falloir obtenir une clé API Google Map. Vous pouvez  utiliser l’API Standard qui autorise 25000 affichage de carte par jour) ou si vous avez beaucoup de trafic, vous devrez opter pour un plan Premium.

Étape 1: Ajouter du CSS

Coller ce code dans votre feuille de style (style.css) ou ailleurs si vous le pensez plus approprié.

CSS
style.css

Étape 2: Création d’un script Javascript initialisant la carte.

Copiez / collez ce code dans un fichier gmap.js que vous pourrez stocker dans un dossier de votre thème. Pour l’exemple nous prendrons library/js.

JS
gmap.js

Étape 3: Chargement des scripts par WordPress

Maintenant, il vous faut charger les scripts précédemment créé lors du chargement de WordPress. Vous pourriez coller les liens dans le header.php de votre thème… mais ce n’est vraiment pas une bonne pratique WordPress. Nous allons utiliser la fonction dédiée de WordPress : wp_enqueue_script()

Dans votre functions.php de votre thème, ajoutez le code suivant:

PHP
functions.php

Aux lignes 2 et 10, remplacez “XXXX” par votre clé API Google Map.

À la ligne 3, assurez vous d’avoir saisi le chemin vers le script JS  créé à l’étape 2.

Étape 3 – Bonus

Si vous ne voulez charger votre carte que sur certaines page, par exemple la page “Contact”, vous pouvez modifier le code comme ceci:

PHP
functions.php

Étape 4: Affichage de la carte

Dans votre template de page, là ou vous désirez voir la carte, insérez ce code dans la Boucle:

PHP

Assurez vous de bien modifier le nom du champs ACF Google Map. Ici on a utilisé “location” dans get_field('location');.

Conclusion:

Vous venez d’ajouter une carte Gmap dans votre thème WordPress sans utiliser aucune extension. Notez que vous pouvez vous passer d’ACF si vous désirez saisir “en dur” les coordonnées GPS d’un lieu. Il vous suffira d’adapter les valeurs de data-lat et data-lng

Pré-remplir un formulaire Gravity Form avec des paramètres d’URL

Gravity Form est une extension WordPress Premium (entendre payante) offrant la possibilité de construire des formulaires de toutes sortes assez poussés.

Sur un projet, j’ai récemment eu besoin d’alimenter de façon automatique des champs d’un formulaire et je me suis dis que j’e pouvais aussi vous en faire profiter…

Récupérer des informations via les paramètres d’une URL

Si vous êtes développeur, ceci ne devrait pas éveiller de questions, si ce n’est pas le cas vous vous demandez sûrement ce que sont ces paramètres d’URL… vous en avez pourtant déjà tous croisé!

Imaginons une URL du type: https://thivinfo.com/blog/tutoriels/pre-remplir-un-formulaire-gravity-form-avec-des-parametres-durl/ … rien de transcendant hein … maintenant en ajoutant les paramètres:

?checkbox=1&texte=mon%20test

on va se retrouver se retrouver avec cette URL https://thivinfo.com/formulaire-pour-tutoriel-gf-et-parametre/?checkbox=1&texte=mon%20test

Et là avouez que le résultat est sympa et que dans bien des cas, ca pourrait être très pratique!

Comment faire ?

Tout d’abord, il va vous falloir acheter Gravity Form puis créer un formulaire.

Pour un champs simple type “texte”

Prenons exemple de mon champ texte, en back-office vous devrez obtenir ceci:

Dans l’onglet “Avancé”, cochez “Remplir dynamiquement les champs”. Ceci fera apparaître un champs ou vous pourrez nommez votre paramètre. Ici dans un élan d’inspiration je l’ai nommé “Texte” ce qui me permettra d’avoir le paramètre

texte=

Pour un champs avancés de type “checkbox”

Pour ce type de champs, c’est un peu plus compliqué car il ne s’agit pas de simplement remplir un champs de type Input, il faut définir quelle choix cocher…

Pour ce faire, nous allons dans l’onglet “Général” cocher la case “afficher les valeurs” ce qui aura pour effet d’ajouter un champs par choix afin de pouvoir sélectionner facilement l’une ou l’autre des possibilités du champs “Checkbox”.

Il faut bien entendu définir un paramètre “checkbox” dans l’onglet avancé de la boite de Dialogue Gravity Form pour réaliser l’exemple d’URL cité en début d’article.

Précision pour les non-développeu⋅r⋅se⋅s

Il n’y a pas d’ordre à respecter dans les paramètres à mettre dans l’URL. Le 1er paramètre est toujours un ? et les suivants sont séparés par des esperluettes (&).

Et sinon?

Et sinon… vous n’êtes pas obligé de passer les paramètres dans un lien… vous pouvez aussi les placer dans le code-court (shortcode) de Gravity Form à la manière de


                

Précision pour les développeu⋅r⋅se⋅s

Cette technique est très pratique si vous la couplez à la fonction WordPress add_query_arg() qui vous permettra de construire dynamiquement des URL contenant des paramètres. Si vous désirez en savoir plus sur cette fonction, je vous invite à lire l’article très complet de Maxime Culea