[3/5] CREER SON SITE DOMOTIQUE AVEC ZIBASE, NAS SYNOLOGY, MYSQL ET WORDPRESS

INTÉGRATION DE PAGES PHP DANS WORDPRESS


Comme évoqué dans le précédent article, ce troisième opus à pour but de vous présenter une solution simple d'intégration de pages PHP dans WORDPRESS.

Pourquoi ce choix d'utilisation de WORDPRESS ?

  • il est quasi intégré (juste une installation) sur mon NAS SYNOLOGY et DSM 4.2,
  • ce CMS (si vous considérer que WORDPRESS en est un) est très connu sur le marché, très documenté et possède de nombreuses extensions,
  • il est simple à mettre en œuvre et permet d'avoir les "bases" d'un site sans écrire une ligne de code HTML, de CSS surtout pour des gens comme moi pas très doué dans ce domaine,
  • il intègre déjà de nombreuses fonctionnalités en natif (menu, commentaire, pages d'accueils, header, footer, widgets...)
  • il dispose de nombreux modèles de sites pour que vous puissiez trouver votre bonheur au niveau de la présentation.
Bien évidemment, vous pouvez préférer d'autres CMS tout aussi riche tels que JOOMLA, DRUPAL, SPIP...

Cet article vous décrit uniquement l'intégration de code PHP dans WORDPRESS via l'extension Shortcode Exec PHP. Si vous ne connaissez pas WORDPRESS, je vous laisse le découvrir à travers toute la documentation disponible sur internet.

Pourquoi choisir une extension pour exécuter du PHP dans des pages WORDPRESS ?

  • ce type d'extension permet de ne pas à avoir à modifier les pages de WORDPRESS dont l'architecture est parfois complexe et touffu,
  • pouvoir effectuer des développements PHP complètement indépendant de WORDPRESS et réutilisable dans d'autres contextes y compris indépendemment de WORDPRESS (comme le code PHP présenté dans le précédent article),
  • pouvoir réutiliser le même code PHP dans d'autres pages de WORDPRESS sans avoir à dupliquer le code (permet notamment une maintenance ou des corrections de bugs plus aisées).
Après cette présentation générale, passons à du concret.

 Intégration de pages PHP dans des pages WORDPRESS

Tout d'abord, j'ai choisi d'utiliser le thème "standard" de WORDPRESS : Twenty Eleven. Le site domotique étant uniquement développé pour notre usage, je n'ai pas voulu chercher parmi les multiples thèmes disponibles mais je ne doute pas qu'il y ait des thèmes plus accrocheurs.

Shortcode Exec PHP permet d’exécuter du code PHP dans les pages, les articles, les commentaires, les widgets et même les flux RSS en utilisant uniquement des "raccourcis" (shortcode) renvoyant à du code PHP. J'ai choisi systématiquement de faire appel à des include de pages PHP afin de garder une totale indépendances et pouvoir editer le code PHP de manière un peu plus pratique que ne le permet la version gratuite de cette extension.

Pour installer Shortcode Exec PHP, rien de plus simple, il suffit d'aller dans la partie admin de votre site WORDPRESS et d'aller dans les extensions et d'ajouter l'extension Shortcode Exec PHP.

Cette installation ajoute dans le menu OUTILS de WORDPRESS un nouveau menu : Shortcode Exec PHP. La page de l'extension se présente sous la forme suivante :


Vous pouvez allez voir la documentation de Shortcode Exec PHP qui vous expliquera simplement ces éléments d'administration qui parlent d'eux-mêmes.

Sur cette même page, vous pouvez ensuite ajouter des "ShortCodes" en les nommant et en leur associant du code PHP correspondant. Ensuite, ces ShortCodes ont juste besoin d'être ajouté à l'endroit souhaité dans votre site WORDPRESS (pour ma part, je n'utilise que des pages dans mon site domotique).

Pour reprendre l'exemple de rendu évoqué dans l'article précédent, voici ce que ça donne :

Ainsi mon ShortCodes nommé AFFICHAGE_SONDES exécute le code le la page PHP sondes_direct.php et il peut être inséré n'importe où dans WORDPRESS .

J'ai inséré ce ShortCodes dans ma page d'accueil de la façon suivante à partir de l'interface d’administration WORPDRESS dans la section Pages :


Et l'affichage de la page donne ainsi le rendu suivant à l'intérieur de votre site WORDPRESS :


La page hérite ainsi de tout les CSS du site selon votre thème choisi et permet d'avoir un rendu acceptable sans rien faire. J'ai fait exactement la même utilisation de ces ShortCodes sur toutes mes pages WORDPRESS en m'appuyant sur un menu et des sous-menus WORDPRESS visibles ci-dessus (Accueil, Graphiques, Evenements, Ajout/modif sondes).

J'espère que cet article vous convaincra de l'utilisation de WORDPRESS et de ce type d'extensions qui permettent une intégration rapide et la création d'un site visuellement sympathique au prix d'aucun effort.

Le prochain article devrait être dispo d'ici dimanche 30 juin 2013 en fonction de mes dispos. Il traitera de la partie rendu graphique et l'utilisation de l'excellente API highcharts et son générateur de codes.

A très vite et comme à l’habitude, n'hésitez pas à commenter et à y apporter vos propres modifications en partageant votre expérience avec les autres !

Aller à l'article précédent sur le même thème




 


11 commentaires:

  1. Encore une fois très intéressant.... Pour l'instant je n'ai pas de nas, je garde cette série d'articles sous le coude.....
    Merci

    RépondreSupprimer
  2. Bon bah c'est ce que je veux faire... y'a plus qu'a investir dans un Synology et une Zibase.
    Très intéressant ces articles, vivement la suite.

    RépondreSupprimer
  3. Merci à tous de vos commentaires.

    RépondreSupprimer
  4. Bonjour,

    Merci pour ce super tuto !

    quand je fais php -f sondes_direct.php
    J'ai un problème avec la fonction "format" que je n'arrive pas à supprimer.

    Fatal error: Call to a member function format() on a non-object in /volume1/web/zibase/sondes_live/sondes_direct.php on line 35

    Sur la zibase je déclare l'url
    http://xxx.xxx.xxx.xxx/zibase/push/enrprocess.php?type=CHAUFFAGE&etat=0

    est-ce bien déclaré ?

    je vois bien les données se remplir dans ma base SQL mais rien ne s'affiche dans mon WordPress :(

    RépondreSupprimer
    Réponses
    1. Bonjour,

      Merci de tes compliments. Désolé je suis en congés avec seulement mobiles/tablettes donc difficile de reprendre le code précisément.

      Néanmoins, si ta base se remplie c que l'appel à la zibase est bon pour l'enregistrement du chauffage.

      Par contre, tu as un formatage de donnees ligne 35 dans ton script sondes_direct.php sur quelques choses qui n'est pas un objet (problemes sur une date je pense ?).

      Désole de ne pouvoir être plus précis.... Mais pas d'accès d'ici.

      J'espère que tu vas y arriver. Tiens nous au courant.

      Supprimer
    2. Merci pour ton retour, et surtout pendant tes vacances :)
      Bon pour l'instant j'ai tout supprimé. Quand j'aurais un moment je reprends ton tuto depuis le début :)
      Je m'y connais pas trop en appel http sur la zibase...
      mais déjà j'ai fait une erreur j'appelais type=chauffage alors que j'ai une sonde température humidité :).
      enfin plein de chose à revoir!

      Supprimer
  5. Tout simplement superbe!!
    je débute aussi bien dans la programmation, dans les "charts", le php,..... et même si mon matos n'est pas du tout identique que le tien (Rasperry pi + sondes achetées sur la baie) le projet est sensiblement identique... grâce à ton tuto, j'ai pu intégrer des courbes sur mon "site" météo.... Un grand merci à toi (et à Falaf sur falaf.net pour les courbes highcharts), ça m'a bien aidé.... MERCI!!!!!!

    RépondreSupprimer
  6. Merci c'est gentil. Cela fait toujours plaisir de voir que l'on a pu aider d'autres fans....pour les courbes highchart il faudrait que j'optimise car j'ai beaucoup de données et ca rame maintenant:)

    Domotiquement.

    RépondreSupprimer
  7. oups, tu me fais peu là... j'espère qu'à terme ça ne va pas trop ramer sur mon petit pi... pasque déjà là c'est limite pour afficher les pages wordpress... la difficulté que j'ai actuellement est d'afficher les dernières valeurs...(genre la température est....., la pression est....) je vais essayer de fouiner dans ton code pour tenter de comprendre comment tu as fait.
    merci encore

    RépondreSupprimer
  8. Bien matinal pour un samedi :). C'est le plus simple de récupérer les dernières valeurs. Sur que tu vas y arriver. Un PI est un peu juste à terme je pense mais tant que ça tourne.

    A+

    RépondreSupprimer
  9. Toujours matinal, pas que le samedi... mais je vois que je ne suis pas le seul :-p. Rien n'est simple pour moi.... il y a encore un an, je ne savais même pas ce qu'était la ligne de commande... c'est pour dire :-)... Maintenant, je suis certain d'y arriver... ce n'est qu'une question de temps.
    Effectivement, le PI me semble bien léger, mais pour démarrer, c'est quand même bien... très plastique en terme de projet....et pas cher. Ça permet d’éviter de sortir l'artillerie lourde au cas ou je me lasserai ou bien que je n'y arrive pas.. il sera toujours temps de recycler un vieux PC voir qui sait, remplacer un jour mon vieux NAS par du synology...
    merci en tout cas de tes tutos et de tes encouragements.

    RépondreSupprimer