Une agence de conseil nous a récemment sollicités pour créer un outil d’envoi automatique des feuilles de temps de ses collaborateurs à ses clients.
Après analyse et présentation à notre client de plusieurs alternatives, la décision a été prise d’utiliser l'outil Airtable, qui présentait le meilleur équilibre entre :
- qualité de l'expérience utilisateur,
- facilité de connexion au reste du système d'information,
- rapidité de développement,
- coûts.
L'outil AirTable fait en effet partie d'une nouvelle génération d'outils, dits No-Code, dont la promesse est de créer des applications puissantes, automatisées, faciles et agréables à utiliser, à partir d'un minimum de connaissances en programmation.
Sommaire
Le besoin formulé par notre client
Notre client voulait un outil simple d’utilisation, avec peu de manipulations à faire. Il possédait déjà une base de données que ses collaborateurs remplissaient chaque fin de semaine de leurs tâches effectuées. L’envoi de l’email devait s’effectuer en un clic. Il fallait également pouvoir rafraîchir l’outil lorsque des modifications seraient apportées à la base de données contenant les feuilles de temps des collaborateurs.
Création de l’outil
Airtable répond totalement aux besoins de notre client, par ses automatisations qui permettent de créer, modifier, rechercher des éléments d’une base de données, mais aussi d’envoyer des e-mails.
La première étape fut d’importer la base de données de notre client sur Airtable (nommée par la suite base de données mère), et d’en créer une nouvelle pour l’implémentation de l’outil. Les deux bases de données sont synchronisées, ce qui permet à notre client de séparer l’outil utilisé par notre client et le remplissage des feuilles de temps fait par ses collaborateurs.
La seconde étape fut une étape de réflexion sur l’architecture de la base de données. Car, pour envoyer un email contenant les feuilles de temps des collaborateurs ayant travaillé pour un certain projet pour un certain client, il est nécessaire d’avoir plusieurs informations liant différents types de données. En effet, il faut récupérer les feuilles de temps pour un collaborateur donné, une période donnée et un projet donné ; les agréger dans un seul et même tableau ; et calculer le nombre de jours travaillés par collaborateur. Ces informations sont chacune présentes dans différentes tables de la base de données de notre client.
La base de données de notre client contenait, à l'état initial, une table listant les projets sur lesquels leurs collaborateurs travaillent, chaque projet étant affilié à un de ses clients, et une table listant les feuilles de temps de ses collaborateurs pour chaque semaine.
Il fallait donc créer d’autres tables pour permettre aux automatisations de retrouver les informations à inclure dans l’email :
– Une table listant chaque couple {projet, semaine} sur lequel un collaborateur a travaillé, permettant de regrouper tous les collaborateurs ayant travaillé sur un projet pour une semaine donnée
– Une table listant chaque couple {projet, collaborateur} permettant de calculer le nombre de jours travaillés sur un projet donné pour chaque collaborateur
Un point fort d’Airtable est que l’on peut utiliser des automatisations pour créer des nouveaux éléments dans une table. Cela permet donc de remplir automatiquement les deux tables mentionnées précédemment, et de pouvoir les rafraîchir lorsque des changements sont effectués sur la base de donnée mère.
Tout au long de la période de développement de l’outil, nous avons entrepris la méthode Agile en faisant des points réguliers avec notre client pour lui faire part de nos avancements et des solutions mises en place. Ces points ont également permis à notre client de mieux comprendre et exprimer ses besoins, ce qui a grandement accéléré l'évolution du projet.
Rendu final
La version finale de l’outil diffère de la vision initiale du client. Premièrement, car l’idée du client mûrit avec le temps et la compréhension réelle de ses besoins. Mais aussi car le développement no-code a des limitations.
La création de l’outil n’a pas été si simple que cela paraît. En effet, nous avons dû surmonter plusieurs obstacles liés au fonctionnement d’Airtable et notamment à ses limitations, ce qui nous a forcé à revoir l’architecture de l’outil plusieurs fois.
Il faut parfois prendre un chemin compliqué composé de plusieurs étapes pour pouvoir effectuer une tâche qui paraît simple du point de vue de l’utilisateur. Par exemple, pour pouvoir rafraîchir les deux tables créées par notre équipe, il faut réussir à générer les nouveaux enregistrements de manière itérative. Cependant, les automatisations d’Airtable ne permettent pas de générer plusieurs enregistrements depuis une seule recherche. Il faut soit utiliser un script, ce qui n’est pas notre volonté première, soit contourner le problème en utilisant d’autres fonctionnalités des automatisations. Certaines fonctionnalités ne peuvent d’ailleurs être implémentées seulement par l’utilisation d’un script. C’est le cas pour la recherche des doublons ou la suppression des enregistrements.
Il faut toutefois saluer Airtable qui rend possible l'écriture et l'exécution de script. De plus, la communauté d’Airtable s’entraide grandement dans la réalisation de tâches nécessitant des scripts. Il est même possible d’utiliser des extensions gérées par Airtable qui permettent d’effectuer certaines tâches comme la suppression des doublons (néanmoins le code source n’est pas accessible pour toutes les extensions donc il peut être parfois difficile de les utiliser dans les automatisations).
Ce qui rend Airtable si puissant, c’est sa facilité d’utilisation : peu d’outils de base de données ont une interface graphique si ergonomique et intuitive.
Le No-Code est-il vraiment... sans code ?
Même si les éditeurs des logiciels comme AirTable, Bubble ou Webflow les présentent comme No-Code, il convient mieux, à notre avis, de parler d'outils Low-Code !
Ces outils permettent en effet de rapidement construire des applications de qualité, mais nécessitent tout de même un minimum de compétences de programmation pour être correctement mises en place et paramétrées.
Conclusion
Airtable est ainsi un bon outil no-code collaboratif qui répond à des besoins simples avec une approche intuitive et ergonomique, proposant un panel de fonctionnalités d’automatisation.
Mais cet outil a ses limites, notamment dans la réalisation de tâches plus complexes pour lesquelles utiliser un langage de programmation reste la solution la plus efficace.
Finalement, le travail le plus important lorsque l’on utilise un outil no-code est de bien identifier la zone d’action permise par cet outil, et de bien comprendre sa logique de fonctionnement.