01 Fév 2018

Champs Personnalisés de Joomla, état des lieux Spécial

Les champs personnalisés (Custom fields en anglais) sont disponibles depuis Joomla! 3.7

Cette nouveauté est encore assez méconnue. Pourtant elle promet de nombreuses personnalisations et adéquations sur nos projets Web autour de Joomla!

Pour mener à bien leur intégration, il est toutefois nécessaire de comprendre ce que l’on peut faire avec, et comment procéder !

Sondage auprès de la communauté Francophone

Début janvier, nous avons interrogé les membres du groupe Facebook JoomlaFR au sujet des champs personnalisés. Ce sondage avait pour objectifs de comprendre :

  • Où en étions nous de l’utilisation des Champs Personnalisés ?
  • Quelles sont vos attentes sur l’utilisation des Champs Personnalisés ?

Concernant la situation des participants face aux Champs Personnalisés :

  • 37% des participants ont précisé connaitre peu ou pas du tout les Champs Personnalisés
  • 42% précisent avoir compris à quoi ils servent
  • 21% annoncent avoir déjà une bonne maitrise de ce sujet

Champes eprsonnalisés - Sondage

Sur la question “Avez vous déjà créé des Custom Fields sur un site Joomla ?” :

  • 42% des participants au sondage ont précisé avoir déjà créé un Champ Personnalisé.
  • 53% ont précisé qu’ils n’en avaient jamais créés mais que le sujet les intéressait
  • 5% ont signalé qu’ils n’en avait jamais créés mais qu’ils devaient le faire pour un prochain projet
  • Aucun participant (0%) n’a choisi la réponse “Non, je ne vois pas d’intérêt pour mes besoins”

Champes eprsonnalisés - Sondage

Parmi les avantages qui ont été notés sur les Champs Personnalisés, les participants ont relevé :

  • leur utilité très appréciée,
  • la facilité de mise en place,
  • la flexibilité et la souplesse d'utilisation que cela apporte,
  • le fait de ne pas avoir à déployer un CCK* pour des sites simples.

*CCK : Content Construction Kit, Solution de création de types de contenu sur-mesure

Parmi les améliorations souhaitées pour l'utilisation des Champs Personnalisés, les participants ont remonté les éléments suivants :

  • les limitations fonctionnelles sur ce qu’il est possible de faire (pas de multivaleurs, pas d'affichage conditionnel, pas de champs 'File', pas de tri possible en se basant sur les Champs Personnalisés ...),
  • le manque de documentation et d'exemples simples,
  • limitation sur la recherche et l'absence de filtres multi-critères.

Tous ces retours ont été noté par des personnes ayant mis en place les Champs Personnalisés sur leurs projets.

Pour ce qui est des projets concernés par le sujet des Champs Personnalisés, les constats et suggestions sont nombreuses et potentiellement illimitées :

  • mise en ligne de catalogues produit avec des champs spécifiques au métier,
  • affichage de fiches de films,
  • gestion et rendu de fiches de randonnées (distance, difficultés, ...),
  • création d'un annuaire de personnes,
  • développement d'un nouveau Champs Personnalisés pour intégrer des coordonnées géographiques dans un article,
  • filtrer en fonction de caractéristiques pour gros catalogue,
  • champs spécifiques pour les adhérents d'une association,

Sachez qu'il existe actuellement 15 Champs Personnalisés dans Joomla 3.8.3. La liste est consultable dans la gestion des Plugins en filtrant par le type "fields" :

Cette liste va s'allonger dans le futur puisqu'un Champ Personnalisé est un plugin que l'on peut installer dans Joomla en quelques clics, selon ses besoins.

 

Dans le Top classement des Champs Personnalisés, nos participants ont notamment cités l’ordre d’importance suivant :

  1. le champ Texte (un champ de saisie de texte)
  2. le champ Calendar (permet d'afficher un mini-calendrier pour saisir une date en 2 clics)
  3. le champ Liste (permet de sélectionner une valeur dans une liste déroulante)
  4. le champ URL (permet de saisir un lien web pour afficher un lien cliquable)
  5. le champ User (permet de sélectionner un compte utilisateur du site)
  6. le champ Article (selection d'un article, créé par l'éditeur Regular Labs)
  7. le champ GMaps (affichage d'une carte Google Maps avec les coordonnées d'un lieu, plugin de champ créé par un développeur non-précisé)

Il a aussi été noté par quelques participants que la variété des champs est déjà actuellement bien fournie et satisfaisante ... et pourtant ce n'est qu'un début. La liste des Champs Personnalisés va s'agrandir prochainement !

Le dernier point du sondage concernait les actions à mener au sein de la communauté francophone pour vulgariser les Champs Personnalisés.
Parmi les retours notés, un des sujets surpasse tous les autres (94% de réponses) :

  1. "Les possibilités offertes par les Champs Personnalisés"
  2. On constate que la communauté est fortement intéressée par ce qu'il est possible de faire avec les Champs Personnalisés. Il semble donc intéressant de vous faire un retour sur les possibilités que les Champs Personnalisés peuvent apporter sur vos sites Joomla ... à suivre.

    Viennent ensuite un groupe de réponses correspondant à un nombre de vote situé entre 50% et 30% des réponses, avec dans l'ordre du plus important au moins important :

  3. "La compréhension de l'utilité des Champs Personnalisés"
  4. "Les questions de sécurité sur l'utilisation des Champs Personnalisés"
  5. "Les actions de configuration d'un Champ Personnalisé"
  6. "Les paramétrages avancés sur les Champs Personnalisés"
  7. Le sujet des performances termine le classement et ne se retrouve que dans 26% des retours :

  8. "Les questions de performance sur l'utilisation des Champs Personnalisés"

Pour finir, seul 8% des réponses concernent d'autres sujets comme :

  • l'intégration des Champs Personnalisés dans d'autres composants (hors article, contact, utilisateur)
  • comment créer de nouveaux types de Champs Personnalisés
  • créer/gérer des niveaux d'accès (ACL) spécifiques pour les Champs Personnalisés
  • faire une surcharge de template en utilisant les Champs Personnalisés
  • un avis précise que les Champs Personnalisés semblent trop intégrés dans le Core de Joomla. Cela devrait être un composant activable à la demande si l'utilisateur en a vraiment besoin, et qu'il n'ait pas choisi un autre CCK !

 

Astuce: En complément du dernier avis ci-dessus, sachez que dans le paramétrage des utilisateurs, il est possible de désactiver l’intégration des Champs Personnalisés dans les comptes utilisateurs : Menu Utilisateurs > Utilisateurs > Bouton “Paramètres” > Onglet “Intégration”

Ce paramétrage est aussi réglable pour les articles et les fiches de contact.
Les éditeurs de composants qui souhaitent intégrer les Champs Personnalisés dans leur extension devront penser à intégrer ce paramétrage.

 

Forum Ouvert du JUG Marseille

En parallèle de ce sondage, le JUG de Marseille a organisé un “Forum Ouvert”* lors de son JApéro du 9 janvier pour traiter les questions de ses membres sur le sujet des Champs Personnalisés.

Forum ouvert: Principe de Forum “Live” fonctionnant en plusieurs étapes. Les participants sont invités à présenter leur questions et attentes. Puis pour chaque question levée, on effectue un vote pour définir les questions les plus intéressantes et on affecte, pour chaque question retenue, un animateur “sachant” capable d’animer une discussion et d’apporter des réponses.

 

Parmi les questions levées ce soir la, nous avons retenus et classés, selon les votes des participants, les questions suivantes :

  • C ‘est quoi les Champs Personnalisés ?
  • A quoi ca sert ?
  • Comment personnaliser le rendu dans le template ?
  • Quels sont les exemples d’utilisation ?
  • Comment proposer la recherche sur les Champs Personnalisés dans le frontend ?
  • Sont-ils natifs dans Joomla ?
  • Sont-ils applicables sur toutes les données (extensions) joomla ?

Nous n’étions pas assez nombreux pour faire plusieurs groupes de réponses pour chaque thème, comme on le ferait dans un Forum ouvert. Du coup, nous avons parcouru et échanger tous ensemble sur chacune des questions.

Nos retours ne sont pas tous complets et certains posent plus de questions que de réponses. D’autres mériteront une analyse plus approfondie !

  1. C ‘est quoi les Champs Personnalisés ?
  2. Pour résumer, nous avons répondu que ce sont des champs supplémentaires que l’on peut ajouter dans les contenus de 3 extensions (actuellement) de Joomla 3.7 :

    • dans les articles,
    • dans les fiches de contact,
    • dans le comptes des utilisateurs.
  3. A quoi ca sert ?
  4. Les Champs Personnalisés servent à proposer des contenus avec des données spécifiques :

    • articles de recettes de cuisine,
    • fiche utilisateur plus complètes (date de naissance, ...), annuaire de contacts,
    • fiche de contact (formulaire d’envoi) : photo du contact, spécialité, ID Skype, ...

    Par exemple, dans les articles, on peut uniquement saisir des contenus dans le titre et la description, c’est tout ! Si on souhaite faire un site de recettes de cuisine et que l’on a besoin de champs de saisie pour le temps de cuisson, les ingrédients,... etc , on peut désormais ajouter des champs pour cela.
    Ainsi il sera possible d’avoir des fiches de saisies structurées en administration et de proposer un rendu uniformisé de la fiche recette sur le site.

  5. Comment personnaliser le rendu dans le template ?
  6. Cette question a été partiellement traitée et méritera d’être détaillée dans un prochain article.
    Un premier point concerne les “groupes” qui permettent de regrouper des champs dans un onglet en administration et sur le site.
    Un second point concerne l’affichage libre d’un Champ Personnalisé dans le template. Pour cela un complément d’info a été donné par GreenDog sur le groupe Facebook :

    Chaque Champ Personnalisé a son propre ID. Cet ID peut être utilisé pour afficher la valeur d’un Champ Personnalisé où l'on veut dans le code HTML du template en utilisant la syntaxe PHP suivante :

    <?php echo $this->item->jcfields[6]->value; ?>

    (le nombre 6 entre crochet correspond à l’ID du Champ Personnalisé dont on souhaite afficher la valeur saisie)

    Dans le même genre, Il est aussi possible d’utiliser un Champ Personnalisé pour modifier un style CSS dans le template. Par exemple si le champ ID 14 est un choix de couleur (red, blue, green), alors le code suivant changera la couleur de fond de l’article :

    <article style="background-color: <?php echo $this->item->jcfields[14]->value; ?>;">

     

  7. Quels sont les exemples d’utilisation ?
  8. Les personnes présentes étaient plus majoritairement en attente de réponse sur le sujet, mais nous avons pu lister quelques idées d’utilisations :

    • annuaire de contact,
    • liste de fiches de films,
    • recettes de cuisine,
    • liste de livres,
    • catalogue produits (vins, …).

    Au vu des possibilités offertes par les Champs Personnalisés, votre imagination est la seule limite aux cas d’utilisation possibles.

  9. Comment proposer la recherche sur les Champs Personnalisés dans le frontend ?
  10. Nativement, le moteur de recherche de Joomla! va effectuer des recherches sur le contenu des champs personnalisés.
    Pour aller plus loin, il serait intéressant de voir comment intégrer une recherche multi-critéres en proposant de filtrer une recherche selon certains Champs Personnalisés … à suivre !

  11. Sont-ils natifs dans Joomla ?
  12. Cette question aurait bien sur pu être posée en premier. La priorisation des sujets au sein du Forum Ouvert en a décidé autrement.
    Toutefois pour y répondre de façon plus complète, nous avons expliqué que “Oui” les Champs Personnalisés sont bien natifs dans Joomla depuis la 3.7 et qu’il est intéressant de comprendre 2 points complémentaires :

    1. Chaque type de champ (Text, calendrier, list, …) est basé sur un plugin de type “field”. Cette architecture est très flexible et permettra dans l’avenir d’ajouter de nouveaux champs, d’en supprimer, ou d’en désactiver pour les remplacer par d’autres solutions provenant d’éditeur extérieur à l’équipe Joomla
    2. Bien que natif, il est aussi possible de les désactiver dans les paramètres “Intégration” de chaque composant.
  13. Sont-ils applicables sur toutes les données (extensions) joomla ?
  14. Cette question a été rapidement discutée car la réponse a été apportée dans la question 1.


    Pour préparer ce forum ouvert et répondre aux questions en “live”, l’équipe du JUG Marseille s’est basé sur l’article très riche de Marc Dechèvre dans le CINNK magazine de juillet 2017 :

    https://cinnk.com/magazine/juillet-2017/977-les-champs-personnalises-dans-joomla

    En complément de cet article, nous avons aussi utilisé la page Bonus contenant différent liens complémentaires sur le sujet :

    https://cinnk.com/magazine/juillet-2017/960-custom-fields-bonus

 

Et après ?

Les Champs Personnalisés sont tout récent et promis à un bel avenir au sein du CMS Joomla!
Au vu des retours sur le sondage et le Forum ouvert, certaines questions posées méritent d’être traitées plus en en détail.
Des suggestions au sein de l’équipe rédactionnelle de L’AFUJ sont en cours d'étude pour la publication d'une série d’articles sur les Champs Personnalisés.
(Si vous souhaitez participer à la rédaction d’articles pour Joomla.fr, Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.)

En se basant sur le retour du sondage, voici une liste des épisodes à venir sur les CP (Champs Personnalisés) :

  • CP Episode 1 : Les cas d’utilisation des Champs Personnalisés
  • CP Episode 2 : Comment gérer ses Champs Personnalisés ?
  • CP Episode 3 : Paramètres de configuration des Champs Personnalisés
  • CP Episode 4 : Utiliser les groupes des Champs Personnalisés
  • CP Episode 5 : Astuces pour les Champs Personnalisés
  • CP Episode 6 : Surcharge de template pour les Champs Personnalisés
  • CP Episode 7 : Aller plus loin avec les Champs Personnalisés

La publication de ces épisodes devrait commencer fin février et s’étaler sur les mois à venir.

De plus, notez que vos JUG (Joomla User Group) s'intéressent de près a ce sujet :

  • le JUG Alsace a planifié un JApéro sur ce thème le 4 février

Et les JUG suivants sont en train de planifier un JApéro d’ici le printemps sur le thème des Champs Personnalisés :

  • le JUG Toulouse, le JUG Wallonie,

N'hésitez pas à vous rapprochez de votre JUG pour discuter de ce sujet ou à poster vos questions sur le Forum :

Forum des JUGs : https://forum.joomla.fr/node/99

Forum sur l’administration Joomla : https://forum.joomla.fr/node/60

 

 

 

 

Dernière modification le dimanche, 04 février 2018
Marc STUDER

Développeur Joomla et formateur Freelance, je crois beaucoup en la force de la communauté Joomla.
Membre de l'AFUJ, je participe aux projets visants à développer les énergies de la communauté Joomla Francophone.

Site internet : www.garstud.com
Connectez-vous pour commenter

A propos de l’AFUJ

L'AFUJ est l'association francophone des utilisateurs de Joomla. Cette association à pour but de promouvoir Joomla dans toute la francophonie.

Contactez l'AFUJ  

Réseaux sociaux