L'objectif de cette tâche est d'étudier quelques possibilités simples d' "automatisation" proposées par AirTable.
Automatisations : Règle = déclencheur + actions
L'automatisation est une problématique récurrente dans les outils no-code. Il peut s'agir d'automatiser l'envoi d'emails lorsqu'un attribut est modifié, lorsqu'un formulaire est rempli ou quand une échéance est arrivée. Les automatisations sont en pratiques des ensembles de "règles" toujours basées sur un "événement" déclencheur ("trigger") et sur des "actions" à réaliser. Conceptuellement chaque règle pourrait être écrite sous cette forme :
RULE <name>
WHEN <event>
THEN
<action1>
<action2>
...
La sémantique est très simple : lorsque l'évènement est déclenché les actions sont exécutées (on parle de "base de données réactives"). Une copie d'écran de l'implémentation de ce processus en AirTable Le fichier dans le répertoire CyberCinoche/images/automatisations/![abonnements.jpg](..%2Fclassroom-root%2FCyberCinoche%2Fimages%2Fautomatisations%2Fabonnements.jpg).
Automatisations internes vs outils externes d'automatisation
Il existe deux types d'automatisations :
Automatisations internes. Dans cette tâche, on utilisera uniquement AirTable pour les automatisations. On parle alors d'automatisations "internes" (à AirTable).
Outils externes d'automatisation. Il est tout à fait possible d'utiliser des outils d'automatisations "externes" comme Make, Zapier ou n8n (open source). Ces outils permettent d'intéragir avec de très nombreux outils via des connecteurs adaptés.
[F1] (QUESTION) Regarder sur la page de Zapier https://zapier.com/how-it-works la première animation. Elle montre le modèle unique de calcul pour les automatisations : événement - actions. Quel est le nombre d'applications pouvant être connectées par Zapier (la réponse est en bas de page).
& 6000
En plus de pouvoir utiliser des connecteurs existants, il est facile d'appeler n'importe quel service web via des APIs REST par exemple, et inversement d'être appelé via des services web via des webhooks.
Ici, on utilise uniquement AirTable pour cacher toute cette complexité dans le cadre de ce TP, mais le combo AirTable + Make est très répandu en pratique.
Gestion des abonnements
On s'intéresse à la gestion des abonnements. A titre d'illustration, ci-dessous juste une petite partie de ce processus sera automatisé". Par mesure de simplification, on s'intéresse uniquement à l'événement "une demande d'abonnement est soumise".
[E7] (QUESTION) Quels sont les états possibles juste après la soumission du formulaire (voir le diagramme d'état des abonnements dans StarUML) ?
& "à évaluer" et "en cours"
Le morceau de processus que l'on désire automatiser est exprimé en pseudo code ci-dessous.
-- Cas d'utilisation DemanderUnAbonnement
quand le formulaire d'abonnement est soumis
s'il s'agit d'une demande solidaire
(A) mettre l'état à "à évaluer"
(B) envoyer un mél d'accusé de réception au spectateur
s'il ne s'agit pas d'une demande solidaire
(C) mettre l'état à "en cours" et la réduction à 10%
Une copie d'écran de l'implémentation de ce processus en AirTable se trouve dans le dépot root,
dans le répertoire CyberCinoche/images/automatisations/. Dans cette copie d'écran il existe deux types de texte :
Le texte en anglais et en gras correspond à la dénomination des éléments gérés par AirTable :
When a form is submitted,
Update record,
"Send an email",
etc.
Le texte en fonte normale correspond aux commentaires qu'il est possible d'ajouter dans les différents éléments :
status := à évaluer (A)
mail de confirmation au spectateur (B)
status := en cours ; réduction 10% (C)
etc.
Les commentaires qu'il est possible d'ajouter, çà et là dans l'interface d'AirTable, permettent de mieux comprendre les automatisations.
Aller dans le menu "Automations" en haut de l'écran, dans la bannière colorée, entre "Data" et "Interfaces". Une règle d'automatisation est présente : Quand une demande d'abonnement est faite .... Vérifier que cette règle est "ON". Si ce n'est pas le cas la règle ne sera pas déclenchée.
Notez, et rouge, que différentes erreurs sont signalées. En vous aidant de la capture d'écran fournie, vous devez compléter les différents éléments de cette règle. Les étapes sont décrites plus loin.
Tests incrémentaux vs tests finaux
A chaque étape de la construction d'une règle, AirTable va proposer de tester l'étape avec un enregistrement (un abonnement) particulier. Cette technique est particulièrement intéressante, car on peut tester la condition, puis chaque action, etc. Cet aspect "test incrémental" est vraiment très intéressant, mais l'interface peut être un peu confuse au départ pour des développeurs, parce que ces tests incrémentaux impliquent l'introduction de différents concepts.
En cas de difficultés, il est possible d'ignorer les boutons liés aux tests incrémentaux (apparaissant en bas de page de chaque élément : Use suggested record, choose record, test conditions, generate a preview, etc). Bien que les tests incrémentaux soient tout à fait pertinents dans le cas général, il est tout à fait possible de faire des tests finaux en soumettant différentes demandes d'abonnements.
mettre à jour le "trigger",
mettre à jour la condition,
mettre à jour
Gestion de l'état de la demande d'abonnement
[E8] (QUESTION) Quelle est la valeur de l'état devant remplacer le marqueur "Q1???" ci-dessus.
& "è évaluer"
L'email d'accusé de réception devant être envoyé devra être comme suit :
To: <<<email>>>
Subject: Votre demande d'abonnement solidaire
Content:
Bonjour test <<<nom>>>,
Votre demande d'abonnement solidaire au cinéma <<<cinéma>>>
à bien été prise en compte. Vous serez prévenu par mél lorsque
l'abonnement sera effectif.
Pour mémo voici les pièces jointes fournies.
Attachements:
<<<pièces justificatives>>>
Solidairement vôtre, L'équipe de CyberCinoche.
S'il vous reste du temps à la fin de ce TPs vous pourrez essayer d'implémenter ces règles en AirTable dans l'onglet Automation (dans la barre du haut de l'écran entre Data et Interface). A priori, les règles devraient pouvoir être testées, mais pas mise en production (pour cause de quota dépassé).
[CyberCinoche] Automatisation
L'objectif de cette tâche est d'étudier quelques possibilités simples d' "automatisation" proposées par AirTable.
Automatisations : Règle = déclencheur + actions
L'automatisation est une problématique récurrente dans les outils no-code. Il peut s'agir d'automatiser l'envoi d'emails lorsqu'un attribut est modifié, lorsqu'un formulaire est rempli ou quand une échéance est arrivée. Les automatisations sont en pratiques des ensembles de "règles" toujours basées sur un "événement" déclencheur ("trigger") et sur des "actions" à réaliser. Conceptuellement chaque règle pourrait être écrite sous cette forme :
La sémantique est très simple : lorsque l'évènement est déclenché les actions sont exécutées (on parle de "base de données réactives"). Une copie d'écran de l'implémentation de ce processus en AirTable Le fichier dans le répertoire
CyberCinoche/images/automatisations/![abonnements.jpg](..%2Fclassroom-root%2FCyberCinoche%2Fimages%2Fautomatisations%2Fabonnements.jpg)
.Automatisations internes vs outils externes d'automatisation
Il existe deux types d'automatisations :
Automatisations internes. Dans cette tâche, on utilisera uniquement AirTable pour les automatisations. On parle alors d'automatisations "internes" (à AirTable).
Outils externes d'automatisation. Il est tout à fait possible d'utiliser des outils d'automatisations "externes" comme Make, Zapier ou n8n (open source). Ces outils permettent d'intéragir avec de très nombreux outils via des connecteurs adaptés.
En plus de pouvoir utiliser des connecteurs existants, il est facile d'appeler n'importe quel service web via des APIs REST par exemple, et inversement d'être appelé via des services web via des webhooks.
Ici, on utilise uniquement AirTable pour cacher toute cette complexité dans le cadre de ce TP, mais le combo AirTable + Make est très répandu en pratique.
Gestion des abonnements
On s'intéresse à la gestion des abonnements. A titre d'illustration, ci-dessous juste une petite partie de ce processus sera automatisé". Par mesure de simplification, on s'intéresse uniquement à l'événement "une demande d'abonnement est soumise".
Le morceau de processus que l'on désire automatiser est exprimé en pseudo code ci-dessous.
Une copie d'écran de l'implémentation de ce processus en AirTable se trouve dans le dépot root, dans le répertoire
CyberCinoche/images/automatisations/
. Dans cette copie d'écran il existe deux types de texte :Le texte en anglais et en gras correspond à la dénomination des éléments gérés par AirTable :
When a form is submitted
,Update record
,Le texte en fonte normale correspond aux commentaires qu'il est possible d'ajouter dans les différents éléments :
status := à évaluer
(A)mail de confirmation au spectateur
(B)status := en cours ; réduction 10%
(C)Les commentaires qu'il est possible d'ajouter, çà et là dans l'interface d'AirTable, permettent de mieux comprendre les automatisations.
Aller dans le menu "Automations" en haut de l'écran, dans la bannière colorée, entre "Data" et "Interfaces". Une règle d'automatisation est présente :
Quand une demande d'abonnement est faite ...
. Vérifier que cette règle est "ON". Si ce n'est pas le cas la règle ne sera pas déclenchée.Notez, et rouge, que différentes erreurs sont signalées. En vous aidant de la capture d'écran fournie, vous devez compléter les différents éléments de cette règle. Les étapes sont décrites plus loin.
Tests incrémentaux vs tests finaux
A chaque étape de la construction d'une règle, AirTable va proposer de tester l'étape avec un enregistrement (un abonnement) particulier. Cette technique est particulièrement intéressante, car on peut tester la condition, puis chaque action, etc. Cet aspect "test incrémental" est vraiment très intéressant, mais l'interface peut être un peu confuse au départ pour des développeurs, parce que ces tests incrémentaux impliquent l'introduction de différents concepts.
En cas de difficultés, il est possible d'ignorer les boutons liés aux tests incrémentaux (apparaissant en bas de page de chaque élément :
Use suggested record
,choose record
,test conditions
,generate a preview
, etc). Bien que les tests incrémentaux soient tout à fait pertinents dans le cas général, il est tout à fait possible de faire des tests finaux en soumettant différentes demandes d'abonnements.Gestion de l'état de la demande d'abonnement
L'email d'accusé de réception devant être envoyé devra être comme suit :
Solidairement vôtre, L'équipe de CyberCinoche.
S'il vous reste du temps à la fin de ce TPs vous pourrez essayer d'implémenter ces règles en AirTable dans l'onglet
Automation
(dans la barre du haut de l'écran entreData
etInterface
). A priori, les règles devraient pouvoir être testées, mais pas mise en production (pour cause de quota dépassé).