Révéler la super puissance des Google Sheets

Comment une petite feuille de calcul peut devenir une grande application.

Six ans après mon article Révélez la puissance des Google Spreadsheets, il est temps de faire une mise à jour. Non pas que le principe aie changé. Mais cette année, lors de la conférence Google Cloud Next ‘19, la session How to Grow a Spreadsheet into an Application m’a frappé car elle est la démonstration parfaite et moderne de mes propos de 2013.

Je vous en propose ici une transcription traduite et adaptée. Comme le dossier est gros, il est découpé en quatre pages, publiées de façon hebdomadaire, comme d’habitude.

La feuille de calcul

Tout le monde aujourd’hui sait ce qu’est une feuille de calcul dans un tableur. Même si pour certains, tout cela reste un peu magique. Rassurez-vous, nous n’allons pas détailler de subtiles fonctions. Nous prendrons un exemple simple et pratique pour réaliser une application.
Pour rappel, une feuille de calcul peut servir pour :
  • calcul
  • base de donnée
  • analyse
  • modélisation
  • simulation
  • gestion de listes
  • représentation d’information
  • édition de rapport
  • gestion de projet
  • documentation
  • etc …
La feuille de calcul est le support parfait pour construire des applications :
  • rapide
  • facile
  • itératif
  • fonctions déjà prêtes
  • accessible
  • sécurisé
  • extensible
Mais la feuille de calcul n’est pas adaptée pour gérer :
  • grande taille et performance
  • complexité
  • changement de taille
  • intégrité des données
  • développement
  • mobilité
La feuille de calcul fonctionne avant tout dans la collaboration :
  • prototype fonctionnel immédiat
  • s’adapte aux utilisateurs
  • intégration par étape
  • réutilisable
Depuis 40 ans, avec VisiCalc en 1979, les feuilles de calcul démontrent par leur usage largement répandu, le surcroît d’efficacité apporté par l’informatique. Au travail, en association ou à la maison, elles nous aident à organiser nos données, dans tous les domaines de notre vie : budget, planning, tri et organisation. Bien sur, Excel de Microsoft n’est pas étranger à ce succès ; mais aujourd’hui, avec l’intégration Cloud du concept dans G Suite, Google nous permet d’aller beaucoup plus loin. Tout un chacun peuvent faire évoluer une simple feuille de calcul en une application dédiée et ergonomique

La vie d’une feuille de calcul

L’exemple de cas
Dans l’équipe que vous gérez, les membres voyagent très souvent. Ces déplacements et leurs frais liés doivent être validés par la direction. Jusque-là, le processus est réalisé par mail.
L’objectif est donc de l’automatiser grâce à Google Sheets et à son intégration dans G Suite.

La naissance

Pour créer une nouvelle feuille de calcul, il suffit :
1. D'ouvrir un navigateur
2. De taper “sheets.new[Entrée]”

Au berceau

L’objectif à ce stade est de simplement “capturer l’idée”.
Dans une feuille vierge, listez les informations nécessaires et entrez quelques données.

A la maternelle

L’objectif à ce stade est de “valider l’idée”.
Partagez la feuille de calcul avec des personnes qui sont impliquées dans la procédure et qui peuvent ajouter des détails ou des remarques au projet.
Dans notre cas, nous ajoutons une précision sur le pays du lieu du déplacement, sur la distinction date de départ - date de retour, et sur la distinction coût du voyage - coût de l’hôtel.

Au primaire

L’objectif à ce stade est de “formaliser l’idée”.
Formatez la feuille de calcul pour la rendre plus claire avec de bonnes tailles de colonnes, des en-têtes figés, de la validation de données et des mises en forme conditionnelles.
Dans notre cas, vous remarquerez la mise en forme conditionnelle de lignes entières grâce à des conditions personnalisées.
La plupart des gens s’arrête à ce stade ; et c’est déjà très bien.
En effet, en l’état, cette feuille de calcul, qui est utilisée comme une base de donnée, peut être partagée avec toutes les personnes qui en ont besoin, ce qui supprime la nécessité de recourir aux mails. Malheureusement, cela ne fonctionne qu’au sein de petites équipes où tout le monde joue le jeu avec attention et assiduité. Dans les autres cas, il faut créer un processus sécurisé et automatisé.

Au collège

L’objectif à ce stade est de “gérer les permissions”. Dans notre cas, seule la direction doit pouvoir modifier la colonne “Approuvé”. Vous devez donc protéger cette zone, en la restreignant aux utilisateurs habilités et ainsi établir différents niveaux d’accès aux données.
De plus, chaque utilisateur de ce tableau peut en créer une copie dynamique grâce à la fonction =IMPORTRANGE() et y ajouter des données privées comme des notes.
Vous avez là un système un peu plus robuste, mais qui est encore très fragile au moment de la saisie des données; si trop de monde y a accès, il peut y avoir des accidents, et donc des pertes de données.

Au lycée

L’objectif à ce stade est de “créer un processus” qui consiste à détacher la saisie de données de leur stockage. Dans notre cas, il nous faut créer un formulaire (publique) pour que chacun puisse remplir la feuille de calcul (privée) avec tous les champs (titres) de notre feuille de calcul.
Pensez bien à lier le formulaire à la feuille de calcul. Malheureusement, cela crée une nouvelle feuille, et il faut refaire le formatage et les conditions.
Dorénavant, si quelqu’un remplit le formulaire, cela ajoute une ligne dans le tableau. La confidentialité est bien meilleure, chacun ne voyant pas les données des autres et la sécurité aussi, les modifications étant impossibles par ce biais.

A l’université

L’objectif à ce stade est “d’automatiser le processus”. Et c’est là que l’intégration de Sheets dans G Suite montre toute sa puissance pour faciliter la communication tout au long des étapes du processus. Google Apps Script nous permet de créer des fonctions personnalisées, d’envoyer des emails de notification et ajouter des outils dans l’interface. Pour commencer, ajoutons un menu supplémentaire dédié à cette feuille avec une fonction simple mais très utile qui affiche le résumé de la feuille.
Mais, la vrai force de l’informatique est l’automatisation, ce qui dans notre cas peut se faire à deux niveaux. Tout d’abord, quand une nouvelle demande est enregistrée, un email de confirmation peut être envoyé au demandeur et un email de validation envoyé à la direction. L’email de validation reprend les informations de la demande et permet d’agir directement, soit via un lien vers la feuille de calcul ou même via des boutons d’action insérés dans le mail (beaucoup plus compliqué à coder). Enfin, quand cette validation est accordée (ou non), un mail est envoyé au demandeur pour l’informer de la décision. Vous pouvez aller encore plus loin en codant des fonctions personnalisées pour afficher dans la feuille la distance en kilomètres du lieu du déplacement, par exemple. Alors oui, il faut se creuser un peu et écrire quelques lignes de code pour arriver à ce résultat. Mais, vous avez maintenant une procédure simple, sûre et automatique qui peut servir des milliers de personnes, ce qui est la définition même d’une application ; et pour un coût très largement inférieur à l’intervention d’un tiers.

Aller plus loin

Même si la solution que nous avons montée jusque-là fonctionne parfaitement, il est des cas où l’on veut aller plus loin; parce qu’elle est éprouvée et largement utilisée ou parce qu’il est avantageux de tout regrouper dans une interface dédiée et forcément encore plus efficace car d’un abord totalement évident. A partir de cette “simple” feuille de calcul, Google vous propose de nombreux outils pour aller plus loin.

App Maker

Disponible dans les versions Business, Entreprise et Education de G Suite, App Maker permet de créer avec très peu de codes des applications réservées à votre domaine, mais aussi puissantes et robustes que les autres services Google tels que Gmail. Vous déclarez votre modèle de données, créez votre interface par drag-and-drop et usez du même Apps Script pour ajouter les fonctionnalités. Et voilà ! Google s’occupe de l'infrastructure, de la sécurité, de la compatibilité et de tout le reste, ce qui vous évite des frais, des erreurs et des maux de crâne. De plus, App Maker offre un environnement de développement confortable, avec une documentation complète, des exemples de code, des tutoriaux, des exercices en ligne et des modèles préfabriqués. Dans notre cas, il est bien sûr possible d’importer la feuille de calcul, ce qui génère une base SQL avec les données, la liaison à cette base et le modèle de données correspondant. Ceci peut être complété avec des relations entre tables, la gestion des événements et des règles de sécurités. Puis, il faut créer les différentes pages qui constituent l’application, ce qui se fait très simplement avec des widgets en WYSIWYG et des aides pour être compatible avec les mobiles. Tout est éditable, avec de nombreux paramètres pour chaque élément et l’option de coder du CSS pour avoir un rendu personnalisé. Il est possible de tester votre travail au fur et à mesure. Quand au volume de code à mettre en oeuvre, App Maker propose un modèle qui correspond exactement à notre cas, et son code se réduit essentiellement à des effets de personnalisation. L’ajout de widgets supplémentaires, comme une carte Maps, se fait par “binding” au modèle de données, sans aucun code à produire. Comme App Maker est basé sur Cloud SQL, vous pouvez envisager de construire une application “lourde” à partir de là, puisque toutes les données sont déjà là ; et même faire tourner les deux applications en parallèle sur la même base de données.

Pour mieux revenir aux feuilles de calcul

Depuis cinq minutes, nous avons un peu perdu de vue les feuilles de calcul. Mais, c’est pour mieux y revenir, car nos applications peuvent remplir vos feuilles de calcul avec les API pour une synchronisation en retour, voire même une double synchronisation (dans les deux sens) pour des éditions massives. Les utilisateurs aiment toujours les feuilles de calcul, aussi vos applications peuvent en exporter afin que l’utilisateur puisse manipuler les données à sa guise et en faire toute représentation graphique souhaitée. Les feuilles de calcul peuvent être un produit tout autant qu’un outil; donnant un aperçu instantané de l‘état du processus, par des vues partielles ou des résumés sous forme de tableaux.

Les “Modules complémentaires” personnalisés

Il est très simple de transformer les fonctions Apps Script que vous avez créées pour une feuille de calcul en un Module complémentaire, qui fait la même chose, dans le même langage, mais qui se présente dans un volet à droite plutôt que dans un menu. L’énorme avantage des Modules complémentaires est que l’on peut les partager, et ainsi utiliser les mêmes actions dédiées dans de nombreuses feuilles de calcul. Ils peuvent être restreints au domaine de l’entreprise et pré-installés. En particulier, ils sont pratiques pour insérer des données d’applications directement dans Sheets.

Data Studio

Pour avoir une représentation graphique des données d’une feuille de calcul, Sheets propose un premier niveau d’outils intégrés très pratiques pour réaliser de simples schémas. Mais, vous pouvez aussi réaliser de magnifiques rapports graphiques interactifs avec Google Data Studio. Celui-ci peut très simplement être connecté à une feuille de calcul, et afficher des données actualisées.

G Suite Marketplace

Si le problème que vous souhaitez gérer avec Sheets n’est pas autant spécifique que ça, il est probable que la solution a déjà été codée. Le Marketplace de G Suite regroupe les meilleurs modules pour donner à vos tableurs un aspect plus “applicatif” ou les lier à des applications tiers avec simplicité et sécurité.

Conclusion

  1. La feuille de calcul est parfaite pour faire naître une solution.
  2. L’ajout de Formulaires et d’Apps Script en font une mini-application.
  3. Pour un usage spécifique, App Maker en fait une application solide.
  4. Et même les vraies applications utilisent ou produisent des feuilles de calcul.
Pour avoir des exemples, des modèles, toute la documentation technique et bien plus, rendez-vous à
https://developers.google.com/gsuite. Merci à Eric Koleda (@erickoleda) et à Charles Maxson (@chasmaxson) pour la présentation originale.


Cet article à été, à l'origine, publié sur le site de Thierry Vanoffe

Commentaires