Utilisation

Flexipow, c’est quoi ?

Techniquement, Flexipow est un thème WordPress basé sur l’utilisation de blocks Gutenberg construits via ACFpro. C’est une solution hybride entre constructeur de pages et framework WordPress : les néophytes pourront facilement construire ou éditer leur site, les utilisateurs plus avancés pourront aller jusqu’au bout de leur imagination.

Mais sous le capot, se cachent un écosystème riche donnant un aspect couteau suisse à l’ensemble :

  • full site editing via les options du thème, presque un an avant l’apparition de cette fonctionnalité dans le core de WordPress, mais par des chemins différents
  • bibliothèque de blocks riche et pensée en terme de fonctionnalités, exploitant toute la richesse de WordPress
  • édition de styles avancée, utilisable sur l’ensemble de votre site : boutons, règles css, effets sur les images
  • souplesse d’utilisation : le piège est de coincer les développeurs ou intégrateurs dans un système fermé. Ici, vous pourrez jouer avec un grand nombre de paramètre, importer vos templates et scripts, etc.
  • définir tout un tas d’autres outils (réseaux sociaux, bouton « scroll-to-top », pages 404, etc), afin d’éviter au maximum la dépendance envers des plugins tiers
  • … et de nombreuses autres choses

Prérequis

Flexipow nécessite WordPress >5.0 à minima, mais de toute façon, la dernière version disponible sera toujours la version recommandée.

De part son caractère faiblement intrusif, il n’y a pas de grandes incompatibilités avec d’autres plugins.

Si le débutant peut tout à fait construire son site sans connaissance en code ou développement, les solutions choisies pour élaborer Flexipow ne ferment pas la porte aux développeurs plus expérimentés.

Il est simple d’y intégrer son code particulier, et c’est une réelle volonté de ne pas fermer le système afin de laisser toujours cette marge de manoeuvre pour des besoins très spécifiques.

Au niveau de l’apparence, une connaissance, même partielle, de Bootstrap est très utile, car la logique de construction du site est basée sur ce framework. L’apposition de classes Bootstrap peut se révéler très utile et efficace dans les champs de spécification de classes css.

Architecture

Flexipow est construit avec d’autres outils issus pour la plupart du monde open source :

  • PHP
  • JQuery pour la grande partie du javascript embarqué
  • le framework css/js Bootstrap 4 pour ce qui concerne la stylisation des templates, la gestion du responsive…
  • … et bien entendu notre très cher WordPress et son éditeur de contenu Gutenberg

Quelques extensions nécessaires au fonctionnement de l’ensemble :

  • ACF (Advanced Custom Fields) : l’extension chérie de tout bon développeur WordPress.  Elle permet de définir et de gérer tout un panel de champs personnalisés, de créer des blocks Gutenberg à la volée, et donc de pousser très loin les possibilités de notre CMS préféré. ACF est accompagné d’un certain nombre d’extension dépendantes : ACF extended, Unique ID field for ACF, Table fields for ACF, ACF Component field, etc… Toutes sont requises pour le bon fonctionnement de Flexipow.
  • Control Blocks Patterns : extension permettant de créer des modèles d’assembles de blocks utilisables à l’infini partout sur le site.

Flexipow est parfaitement compatible avec le plugin de gestion multilingue avancé WPML.

Le répertoire localfiles/

Ce répertoire, situé à la raciné du thème Flexipow, permet d’y stocker et d’utiliser tout ce qui n’est spécifique qu’à votre site, permettant la conservation de l’intégrité de Flexipow et facilitant sa duplication ou sa migration.

A sa racine se trouvent :

  • les fichiers js et css autogénérés par Flexipow lors de l’édition des options générales du thème,
  • des fichiers vides mais éditables avec vos propres fonctions php (custom_functions.php), règles css (custom.css) et scripts js (custom.js)

On y trouve des sous-répertoires :

  • acf-json : c’est là que ont stockés les données json des groupes de champs ACF spécifiques à votre site. Ces derniers devront appartenir à la catégorie ACF « local ». Cela permet de bien les séparer des groupes ACF constitutifs de Flexipow,
  • libs : vos bibliothèques js ou autres
  • pages_css : contient les fichiers css auto-générés lors de l’édition des blocks. Chaque page et post possède son propre fichier css, de la forme page_{ID}.css ou post_{ID}.css
  • subtemplates : c’est ici qu’il faut placer vos templates php lorsque, par exemple, vous utilisez un block « Inner template », choisissez un template spécifique pour le header, etc.