Dans la série “J’aurais du rester au lit ce matin” Jour numéro 3 – Août 2016

Nous allons voir comment faciliter l’indexaction de votre site par les moteurs de recherche avec l’utilisation d’un sitemap ou plan de site en français.


Bon allez maintenant c’est parti… Petit padawan je vais te guider pour réaliser ta magnifique CVthèque.

Nous allons voir dans ce numéro :

FLEXIcontent ça fait quoi ?
L’installation de FLEXIcontent
La première configuration du composant

N’aies pas peur du côté obscur de la force
Comprendre la hiérarchie des options

La configuration des différents types

Article
Offre
Candidature
Candidature libre

FLEXIcontent ça fait quoi ?
FLEXIcontent est un système de gestion de contenu avancé (CCK) pour Joomla! (3.X) permettant d’étendre les fonctions natives de contenu de Joomla! (com_content).
Il permet de :

Simplifier la conception et l’administration à travers un composant unique
D’étendre les possibilités et la présentation de vos articles (30aine de champs : texte, images, vidéos, son, liste déroulante, etc.) à travers des templates de contenu
Simplifier l’interface saisie pour l’utilisateur grâce à des champs pré-configurés
De gérer le multi-catégorie avancé (un même article dans plusieurs catégories)
Mettre en place un moteur de recherche et filtrage dynamique de contenu
Gestion des droits et du workflow (droit et notification de Joomla! + ACL spécifiques)

Vous pouvez réaliser tout type de contenu :

Cvthèque
Annuaire de tout type (audio, vidéo etc.)
Galerie
Annonce immobilière
Intranet
Agenda
Gestionnaire d’utilisateur
etc.

Pour l’instant FLEXIcontent est “limité” à l’utilisation du com_content :

C’est un avantage. Si vous le désinstallez, vous retrouvez vos articles Joomla, vous ne perdez que les valeurs dans les champs
C’est un inconvénient pour créer des applications indépendantes

Note : le développeur est en train d’étudier la possibilité de pouvoir faire un mix.
Par contre il ne fait pas :

le café
le ménage
les courses
etc.

{loadposition position-news}
L’installation de FLEXIcontent
Tout le projet est géré depuis GitHub, vous avez possibilité d’utiliser la version stable en 3.0.x ou la version de développement 3.1.x. A savoir qu’il est tout a fait possible de “downgrader” car le composant se met à jour par le même biais.
L’installation de FLEXIcontent se fait comme un simple composant en passant par Extensions > Gérer > Installation

Puis on charge le paquet d’installation et on patiente…

Vous aurez alors un rapport d’installation détaillé, théoriquement tout est ok (je l’espère sinon je vais devoir faire du support dans les commentaires…)

Voilà maintenant il ne reste plus que 3 étapes pour finaliser l’installation.
1 L’activation des plugins. FLEXIcontent est très souple : chaque champ est un plugin. Il y a donc une routine pour tout activer.

2 L’initialisation de la configuration : on va enregistrer une première fois la configuration globale pour être sur que tous réglages soient bien enregistrés.

3 Le mapping des articles. Comme FLEXIcontent utilise le com_content pour les articles il va donc les mapper avec le composant FLEXIcontent et ainsi ajouter des champs et des fonctions supplémentaires aux articles (votes, versioning, multi catégories, etc.)

Et voilà c‘est fini (enfin c’est que le début du tuto)
{loadposition position-news}
La première configuration du composant
N’aies pas peur du côté obscur de la force
L’un des principaux reproches que l’on peut faire à FLEXIContent c’est le nombre d’options un peu délirant (au premier abord) devant lequel on se retrouve.

Source Wikipédia
FLEXIcontent est un CCK qui s’inspire de l’approche Joomla, un besoin, une option… C’est un peu dur au début, mais c’est ce qui permet de réaliser énormément de choses sans code… C’est juste une histoire de logique.
Comprendre la hiérarchie des options
Dans FLEXIcontent le plus dur c’est de comprendre la hiérarchisation des options.
GGNGNNEEEE ??
En fait c’est ce qui fait toute la puissance de personnalisation de FLEXIcontent je peux à tout moment surcharger une option ! Cela permet énormément de choses comme par exemple afficher une catégorie avec différents réglages, ou à partir d’un template, créer des jeux de données différents….
Hérité de Joomla, FLEXIcontent permet de varier les options à plusieurs niveaux :

La configuration globale
Le type
La catégorie
Le template (vue catégorie, vue contenu unique)
Le menu

L’important étant de se poser la question suivante, “Je suis sur quelle vue ?” (on à l’air bête mais cela fonctionne vous allez voir).
Je suis sur un article simple, la hiérarchisation des options sera :
Configuration globale => Type => Template contenu unique => Contenu unique => Lien de menu
Je suis sur une vue de catégorie , la hiérarchisation des options sera :
Configuration globale => Catégorie => Template Catégorie => lien de menu
En fonction de cet héritage il devient plus simple de retrouver où est l’option, non ?
Je sais, il vous faudra plusieurs manipulations pour y arriver, mais vous verrez que vous ne pourrez plus vous passer de cette flexibilité.
Donc après c’est très simple, je commence par regarder ma configuration générale pour enlever ce que je ne souhaite pas afficher en fonction de la vue (catégorie, article, etc.).
Dans le cadre de la CVthèque j’ai désactivé l’affichage des catégories connexes, de l’abécédaire, les filtrages, etc. L’idée étant qu’une partie du site sera “classique” et une autre sera la Cvthèque. Donc si vous avez bien suivi cela fera au niveau de ???
Je repasse dans 5 minutes pour voir vos commentaires.
La configuration des différents types
Un type dans FLEXIContent c’est un type de contenu (une galerie, une fiche, un utilisateur, etc.). En fait, c’est un article Joomla! classique plus des champs spéciaux. Chaque type de champ ayant ses options et son rôle. Chaque champ étant filtrable si on le souhaite.

Article
En fait le type article c’est le type de base automatiquement créé par le composant, il permet de garder la compatibilité avec Joomla! et vous pourrez y ajouter des champs pour faire un Article+ (un champ galerie, un champ partage sociaux…)
Offre
Le type offre va permettre de créer des offres et ainsi afficher les informations nécessaires ainsi que la création du moteur de recherche.
Candidature
Ce type va nous permettre de stocker les candidatures des postulants. Il sera lié à une offre et il permettra de créer un moteur de recherche pour la partie RH.
Candidature libre
Ce type est identique à Candidature, sauf que nous n’avons pas besoin de le lier à une offre et qu’il aura des champs en plus. Avec FLEXIContent, il est très simple de dupliquer un type avec tous les champs, donc ce type sera fait à la fin.
Note : chaque champ peut être utilisé dans plusieurs types, cela permet de mettre en place des choses plus rapidement.
La création d’un type est simple. Mais si l’on veut avoir une gestion fine, nous allons avoir moult options champêtres pour arriver à des formulaires spécifiques à des gestions ACL particulières.

L’onglet champs systèmes permet de gérer le comportement des champs de Joomla! par exemple renommer le champ titre pour le type offre.

Vous pourrez gérer l’info bulle, mettre des chaînes de langue pour de la substitution multilingue.

Il est aussi possible de cacher la description si l’on veut un type sans contenu mais juste avec des champs. Ce type de surcharge permet de gérer les noms des catégories des favoris, des tags, etc. tout ce qui est champ système issue de Joomla.
Dans l’onglet “Rédaction”, vous allez pouvoir définir si un type a une catégorie par défaut, s’il peut être mis dans d’autres catégories, si des mots clés sont automatiquement insérés.

Dans la partie SEO vous allez pouvoir gérer votre optimisation de référencement avec compatibilité complète des Microdata.

Le type gère le type de contenu et les champs, les types de données. FLEXIcontent est donc un ami précieux et puissant pour un référenceur !

Dans la partie formulaire de saisie, vous pourrez définir l’affichage du formulaire pour vos utilisateurs. Intégrer des CSS ou du JS sans aucun hack ni surcharge.

La gestion des notifications est aussi très fine et le workflow utilise les ACL de Joomla.
Vous pourrez définir qui est notifié à la saisie d’un nouveau contenu, la modification et fonction du statut original etc.

C’est dans la partie template que vous pourrez définir le template de ce type pour une vue ????? (à vos commentaires !)
Bon je ne vais pas vous décrire tous les onglets… Mais l’idée est là, c’est puissant, bourré d’options pour créer un type de contenu de la saisie, en passant par l’affichage, les notifications et les ACL…
Il n’y a donc aucun réel souci à créer vos 3 types.
Voici un exemple pour Candidature
Changement des labels de champs

Masquer les onglets dans le formulaire et ajout de CSS pour la saisie en public

Conclusion
Dans le prochain numéro nous verrons comment créer les champs pour les types ainsi que quelques astuces spécifiques au projet !