Introduction
La plateforme de développement No-Code AppSheet permet de créer rapidement des applications métier. Toutefois, dans le cadre de l’automatisation de génération de documents (PDF), certaines limitations techniques peuvent apparaître : gestion complexe de la mise en page, dimensionnement des tableaux, numérotation des pages ou impossibilité de générer un format modifiable (Google Docs).
Cet article présente une solution utilisant Google Apps Script pour concevoir un moteur de rendu de documents dédié. Cette approche permet de produire des PDF conformes aux templates (incluant en-têtes et pieds de page) ou des Google Docs éditables, le tout piloté directement depuis l’automatisation AppSheet.
Le problème : les limitations de la génération native AppSheet
La génération de documents PDF via les bots AppSheet s’appuie généralement sur un template Google Docs. Malgré la flexibilité de ce dernier, le rendu final peut présenter des écarts pour un usage professionnel :
- Gestion du formatage : Les en-têtes, pieds de page et la numérotation des pages définis dans le template Google Docs ne sont pas conservés lors de la conversion PDF par AppSheet.
- Rendu des tableaux : Le respect des contraintes de taille et de style des tableaux est parfois inconstant.
- Format de sortie unique : AppSheet génère par défaut du PDF, ne permettant pas la production de documents au format Google Docs pour une édition ultérieure par l’utilisateur.
Ces contraintes peuvent impacter la qualité des documents produits (factures, rapports, contrats) et nécessiter des étapes de post-traitement.

La solution : un moteur de rendu via Apps Script
Pour répondre à ces besoins, j’ai développé un moteur de rendu spécifique en Google Apps Script.
Cette solution fonctionne comme un interpréteur. Elle analyse dynamiquement la structure de vos données AppSheet, interroge l’API AppSheet pour récupérer les informations, et utilise la Google Drive API pour effectuer la fusion de données avec le template.
Les caractéristiques de cette approche :
- Fidélité au template : Le document généré (PDF ou Docs) respecte la mise en forme du template Google Docs.
- Support complet : Prise en charge des en-têtes, pieds de page, numérotation et styles complexes.
- Choix du format : Sélection dynamique du format de sortie (PDF ou Google Docs).
Guide pratique : Implémentation en 3 Étapes
Ce script a été conçu pour être portable d’une application à l’autre sans modification du code source. Voici les étapes de mise en place.
1. Spécification de la structure (Google Sheets)
La première étape consiste à définir le modèle de données de votre application AppSheet pour le script. Créez un onglet dans une Google Sheets avec les colonnes suivantes : table, column, type, source.
Il est nécessaire d’y lister les tables, leurs relations (Ref, Ref_List) et de spécifier les colonnes de type Image (incluant Photo, Signature, Drawing, Thumbnail).

Collecte des identifiants
Le script nécessite une configuration pour s’authentifier auprès de l’API AppSheet et accéder aux fichiers Drive.
- Côté AppSheet : Notez l’App ID et l’App Access Key (disponibles dans Settings > Integrations > IN).
- Côté Drive : Identifiez les IDs du Template Google Docs, du Dossier de destination et de la Sheet de structure créée précédemment (ces IDs sont visibles dans l’URL des fichiers).

Configuration de l’automatisation
Dans l’automatisation de votre application AppSheet, créez une tâche de type « Call a script ». Sélectionnez la fonction principale (main_call_template) et renseignez les paramètres collectés à l’étape précédente.
L’appel s’effectue en contexte sur une ligne spécifique, de manière analogue à une tâche de génération de document classique.

Perspectives d’évolution
Ce script constitue une solution fonctionnelle montrant comment Apps Script peut pallier certaines limitations des plateformes No-Code en exploitant les APIs de Google Workspace.
Cet outil est appelé à évoluer. Une évolution envisagée concerne l’intégration d’un interpréteur de fonctions directement dans le code du script, afin d’étendre les possibilités lors de la fusion de données.
Notez que j’ai réalisé cet outil avec l’aide de Google AI Studio, dont vous pourrez parfois reconnaître des éléments de syntaxe !
Conclusion et code source
L’intégration d’Apps Script permet de dépasser les limitations techniques rencontrées lors de la génération de documents avec AppSheet. Cette approche hybride entre No-Code et Low-Code améliore la qualité technique et professionnelle des applications.
🚀 Retrouvez l’intégralité du code source, la documentation détaillée et les instructions d’installation sur le dépôt GitHub : https://github.com/AurelienMoyenCodergo/file_generation
N’hésitez pas à poser vos questions dans les commentaires ou à contribuer au projet sur GitHub !
