Obsewhere est un composant résolument novateur dans le monde Joomla, tant par son mode de fonctionnement et sa terminologie, que par la diversité et l'étendue de ses applications.
L'utilisation d'Obsewhere n'est pas complexe mais nécessite :
- l'acquisition de modes opératoires non techniques mais très précis,
- une définition claire des objectifs à réaliser : que doit-on observer et sous quelles restrictions? quelles actions doivent être déclenchées, dans quel ordre et dans quels contextes?
- une rigueur de paramétrage.
Découvrez avec des exemples le mode de fonctionnement global du composant Obsewhere
- Principe général d'Obsewhere
- 1 observation, puis 1 ou X actions
- Le composant Obsewhere et les plugins
- Ne pas confondre "plugin/type de séquence" et "séquence"
- Que peut-on observer?
- Contenu d'une séquence Observation (exemple d'un plugin gratuit)
- Autre exemple d'une séquence Observation (exemple d'un plugin payant)
- Quelles actions peut-on déclencher?
- Contenu d'une séquence Action (exemple d'un plugin gratuit)
- Le principe du scénario
1- Principe général d'Obsewhere
Le fonctionnement d'Obsewhere repose sur l'observation d'un événement qui déclenche 1 ou plusieurs actions.
L'ensemble de cette démarche se nomme "scénario".
2- 1 observation puis 1 ou X actions
La première séquence du scénario repose sur un plugin de type "Observateur"; cette séquence est unique au sein d'un scénario.
La ou les séquences suivantes sont des actions, elles reposent sur des plugins de type "Action".
Lorsque plusieurs actions sont envisagées, leur exécution s'effectue en série, c'est-à-dire que l'action 2 est déclenchée lorsque l'action 1 est terminée. Pour certains scénarios l'ordre des séquences d'action peut avoir son importance.
3- Le composant Obsewhere et les plugins
L'installation du composant Obsewhere s'accompagne du chargement de plusieurs plugins/types de séquence gratuits (cf page "Télécharger" - package Obsewhere). Ceux-ci vous permettent de prendre en main Obsewhere, d'imaginer des objectifs simples et de réaliser vos premiers scénarios.
Les plugins/types de séquences qui ne sont pas installés avec le composant sont payants (cf page "Télécharger" - extensions Obsewhere).
4- Ne pas confondre "plugin / type de séquence" et "séquence"
Un plugin ou type de séquence correspond à un programme pré-établi et décliné par thématique (Utilisateurs, Contenus, Extensions...).
Chaque plugin comporte un certain nombre de paramètres qui lui sont propres.
Vous pouvez consulter la liste des plugins sur notre page "Plugins" et poursuivre vos investigations sur chaque page individuelle.
Une séquence est une étape d'un scénario. Elle correspond à l'application des paramètres d'un plugin; elle est destinée à un objectif précis.
Dans la pratique, à partir d'un type de séquence vous pourrez créer plusieurs séquences différentes; chacune répondant à un objectif différent.
Puisque ces séquences répondent à des objectifs différents, elles pourront donc être utilisées au sein de plusieurs scénarios.
L'image ci-dessous représente les types de séquences "Observateur".
Par exemple la thématique "Utilisateurs" contient 5 plugins, traitant chacun d'événements différents :
- "Accès utilisateurs" : surveillance des événements de connexion (erreurs de connexion, tentatives de connexion sur compte bloqué..)
- "Utilisateurs" : surveillance des événements de création, modification et suppression des comptes utilisateurs.
- "Champ personnalisé" : surveillance de la modification d'un champ personnalisé de type "utilisateur",
- "Pré-connexion utilisateur" : surveillance de la date de dernière connexion avant nouvelle connexion.
- "Champs utilisateurs" : surveillance de la modification des paramètres de type compte bloqué, modification d'email, de mot de passe...
Le nombre de plugins est appelé à augmenter au fil de nos développements.
5- Que peut-on observer ?
En d'autres termes quels sont les événements qui permettent à Obsewhere de déclencher une action ? La liste est simplement infinie !
Nous avons vu ci-dessus un aperçu des événements utilisateurs.
Concernant les autres thématiques, voici une synthèse :
Contenu : surveillance des événements de gestion des articles (création, enregistrement, suppression, changement d'état publié-dépublié), surveillance de la modification de n'importe quel champ article (catégorie, tag, auteur, alias ...), surveillance de la modification des champs personnalisés des articles et des fiches contact. Un filtre est possible par catégorie(s).
Extension : il s'agit ici de l'observation d'événements intervenant au sein d'autres extensions, comme par exemple Acymailing (on détecte qu'un lien vers une page du site est cliqué au sein de la newsletter)
e-Commerce : il s'agit ici de l'observation d'événements intervenant au sein d'extensions spécifiquement e-Commerce, comme par exemple Hikashop (on détecte que le panier en cours a atteint un certain seuil, on détecte les paniers abandonnés ou commandes non confirmées).
Formulaire : surveillance des envois via le formulaire de contact standard Joomla
Naviguer : surveillance de la navigation sur une url ou un ensemble d'urls, également on peut détecter le referrer ou site d'origine (sous certaines conditions).
Sécurité : surveillance des tentatives de connexion au site via des urls malveillantes, filtrage des emails qui sollicitent le formulaire de contact Joomla...
Système : surveillance des modifications des paramètres systèmes (Ex:version PHP) et de fichiers système (Ex:configuration.php), détection de l'insertion de certains types de fichiers (Ex: .php) à la racine du site
6- Contenu d'une séquence Observation (exemple d'un plugin gratuit)
L'image ci-dessous permet de comprendre les principales informations associées à une séquence Observation.
1 - Libellé de la séquence : ce libellé doit être suffisamment explicite pour comprendre à quel scénario la séquence se rapporte.
2 - Type de séquence d'observation : le bouton permet d'accéder à la liste des Types de séquences (cf. image ci-dessus)
3 - Tutoriel : le lien sur ce bouton permet d'accéder à la page du plugin sur notre site.
4 - Quelles observations déclenchent cette séquence ? : ce groupe de paramètres permet de définir ce que l'on souhaite observer.
Dans notre exemple, on surveille, au sein de l'administration, la création de nouveaux articles.
On pourrait également surveiller la modification d'un article existant (par exemple ceux d'une catégorie importante)...
On pourrait surveiller l'affichage des articles d'une ou plusieurs catégories...etc...
5 - Quelles sont les restrictions à appliquer pour cet observateur ? : certains contextes peuvent nécessiter une observation spécifique à certains utilisateurs. On peut par exemple souhaiter transmettre un message à un groupe mais pas à un autre.
6 - Enregistrer en log : Chaque séquence permet de définir si l'observation ou l'action doit être logguée. Outre le suivi nécessaire dans de nombreux cas, ceci est très pratique lors de la mise en place afin de bien identifier si un événement est réellement survenu et quelles actions il a déclenché, et à quel moment.
L'action résultant de l'observation de l'événement "enregistrement d'un nouvel article" pourrait être l'affichage d'une pop-in dans l'administration (cf chapitre 7).
On constate sur cette image :
- que les paramètres sont spécifiques aux événements d'administration des articles,
- que seul un paramètre est activé, dans le but d'atteindre l'objectif du suivi défini de façon précise (événement = enregistrement d'un nouvel article).
- chaque paramètre est associé à une info-bulle explicite.
Comment tester ce plugin ?
Ce plugin est associé au scénario suivant, téléchargeable sur la page :
Ce plugin et ce scénario sont gratuits. Pour les tester :
- installer le pack Obsewhere - voir la procédure
- installer et activer le scénario "SCENARIO EXEMPLE : afficher un message pop-in suite à la création d'un nouvel article" - voir la procédure
- créer et enregistrer un nouvel article : une pop-in s'affiche au-dessus de la liste des articles dans l'administration
7- Autre exemple d'une séquence Observation (exemple d'un plugin payant)
L'important ici est de bien comprendre que chaque plugin/type de séquence "Observateur" propose des paramètres différents.
Ces paramètres sont destinés à définir précisément quel événement va déclencher la ou les action(s).
Nous avons vu précédemment quelques possibilités de surveillance des articles. L'exemple ci-dessous porte sur la surveillance d'url(s) visitée(s), ou affichée(s).
1 - choix d'une séquence d'observation de type "Navigation url" (onglet "Naviguer"),
2 - Urls à surveiller : saisie de tout ou partie de l'url (des urls) à observer. C'est la visite de cette (ces) dernière(s) qui va constituer l'événement déclencheur de l'action.
Dans notre exemple, l'url observée correspond au "checkout" ou tunnel de conversion d'une boutique en ligne. Par exemple : https://www.monsite.fr/terminer-la-commande/checkout/task-step/step-1
Le paramètre "checkout" renseigné ci-dessous dans le champ "Url à surveiller", va permettre de constituer comme événement déclencheur, la visite de toutes les urls qui contiennent l'expression "checkout".
L'action résultant de cet événement pourrait être l'affichage d'une pop up avec une offre, un conseil, etc..., que l'on jugerait pertinent de rappeler à cette étape du processus d'achat.
L'important ici est de comprendre, au travers de cet exemple, non pas le détail du paramétrage, mais l'étendue infinie des possibilités d'observation et donc des applications d'Obsewhere.
Comment tester ce plugin ?
Ce plugin est intégré aux scénarios suivants (payants) :
8- Quelles actions peut-on déclencher?
Suite à l'observation d'un événement grâce à la première séquence de type "Observateur", vous allez pouvoir définir 1 ou plusieurs actions qui en découlent, afin de réaliser votre objectif.
L'objet des séquences de type "Action" est donc de définir :
- quelle(s) action(s) sera ou seront déclenchée(s),
- avec quels paramètres il est pertinent d'enrichir l'information liée à l'action (le contenu d'un email par exemple),
- le ou les destinataire(s) de l'action.
De la même façon que pour les types de séquences "Observateur", les actions sont regroupées par thématiques. La thématique "Messages" propose 5 modes de messages différents. A noter que la pop up (ou Engage Box) est proposée dans l'onglet "Extensions".
Utilisateurs : modification de champs utilisateurs (Ex: le champ "Réinitialisation de mot de passe" modifié de "Non" à "Oui")
Contenu : restituer la valeur de n'importe quel champ de n'importe quelle table de la base de donnée, restituer les valeurs des champs personnalisés et les modifier
Message (cf image ci-dessus) : affichage de Pop-in front-end ou administration, envoi de message dans la messagerie Joomla, par email, par infolettre Acymailing, par SMS
Extension : modification de l'état publié/dépublié de modules Joomla, affichage de pop-up du composant Engage Box
Naviguer : redirection vers une url au choix, rechargement de la page pour une actualisation
Système : plugins intermédiaires permettant des opérations de calculs et de comparaison (par exemple comparer le montant en cours du panier avec un montant de "seuil", comparer 2 dates...),, outil de debug
Apps : Webhook Zapier (pour déclencher une des 1000+ Zap! du service Zapier.com) et d'autres interfaces vers des applications externes sont en cours de développement, notamment Trello ainsi que des services de messagerie instantané (FB Messenger, Telegram, WhatsApp, Push Notification ...).
9- Contenu d'une séquence Action (exemple d'un plugin gratuit)
Prenons l'exemple de l'affichage d'une pop-in dans l'administration.
Libellé de la séquence : ce libellé doit être suffisamment explicite pour comprendre à quel scénario la séquence se rapporte.
Type de séquence d'observation : le bouton permet d'accéder à la liste des Types de séquences (cf. image ci-dessus), choix de "Pop-in Joomla"
Tutoriel : le lien sur ce bouton permet d'accéder à la page du plugin sur notre site.
Quelles sont les actions à effectuer pour cette séquence ? : ce groupe de paramètres permet de définir le contexte et le contenu de l'action déclenchée.
1- Applications concernées : dans notre exemple, on déclenche l'affichage d'une pop-in, aussi bien en front-end qu'au sein de l'administration.
2- Type de box : sélection d'un design simple de type Bootstrap,
3&4 - Titre et message à afficher pour cette séquence : paramétrage du contenu proprement dit de la pop-in, avec possibilité d'insérer du HTML. A noter que des données dynamiques peuvent être affichées via des "tags de substitution" (voir notre tutoriel pour cet usage avancé).
5- Quels sont les destinataires de cette action ? : en-dehors du cas général "visiteur et utilisateur", plusieurs choix de destinataires sont possibles (un utilisateur, un groupe d'utilisateurs, des abonnés etc...)
Les autres plugins de type "Message" s'appuient sur des paramètres similaires (Titre et Message).
10- Le principe du scénario
L'image ci-dessous illustre la structure d'un scénario qui présente l'enchaînement des 2 séquences "Observateur" et "Action" évoquées précédemment.
1 - Titre du scénario : ce libellé doit être suffisamment explicite pour comprendre l'objectif du scénario. En effet, les scénarios peuvent rapidement se multiplier selon vos besoins.
2- Sélection de la séquence Observation
3- Sélection de la séquence Action
Il est également possible de créer directement depuis le scénario une séquence "Observateur" ou "Action".
On observe la possibilité de paramétrer d'autres séquences "Action" à la suite de la première.
Les scénarios peuvent être importés et exportés entre 2 sites, en prêtant attention à la cohérence des paramètres d'un site à l'autre (voir notre tutoriel sur l'export/import des scénarios).
Lors de cette étape 1, vous avez pris connaissance de la démarche d'Obsewhere.
Nous vous proposons, lors d'une étape 2, de parcourir notre article "Première prise en mains" qui détaille les étapes de création d'un scénario.