Utiliser Google Sheets et Google Apps Script pour créer votre propre CMS

Le 14/03/2018

Dans Développement

Aujourd'hui le blog du web design vous propose de découvrir le travail de Daniel Ireson qui a créé un Google App Script qui permet de créer son propre petit CMS de blog en utilisant des Google Sheets pour gérer le contenu.

Google app script pour editer un blog

Avertissement

Avant toute chose le développeur tient a précisé qu'il n'utilise pas ça en production et qu'il ne sait pas ce que ça pourrait donner. Si jamais vous voulez utiliser ce genre de CMS en production c'est à vous de faire vos tests. De plus pour les comptes Google gratuit ont une 20 000 requêtes par jour. 

Google Apps Script

Google app script

Pour commencer, la création de notre petit CMS repose sur Google Apps Script qui va nous permettre de créer une API pour notre CMS.

Mais Google Apps Script c'est quoi ? 

À l’instar de VBA pour Microsoft Excel, Google Apps Scripts est un langage de programmation non pas de Microsoft mais de Google cette fois-ci qui permet de faire des scripts à l'intérieur des services de Google comme dans les Spreadsheets.

Le back-office

Le backoffice de google app script

Le CMS que nous allons pouvoir créer reste très basique, dans notre cas on va se concentrer sur de simples articles. Il faut créer un Google Forms, j'ai repris celui de l'auteur avec les mêmes entrées. Nos articles auront donc, un titre, une catégorie, un auteur, un contenu et un booléen pour indiquer si l'article est publié ou pas.

Une fois ceci fait, il va falloir associer ce formulaire à une feuille de calcul qui va nous servir de base de données. Il suffit pour cela de cliquer sur le petit bouton vert. 

Formulaire google app script

Si tout se passe bien vous devriez tomber sur une feuille de calcul avec en en-tête de colonnes les différents champs qui vous ont mis dans votre formulaire.

Screenshot docs google com 2018

On peut remarquer que Google a ajouté tout seul une colonne "Horodateur". Si vous essayez de soumettre le formulaire vos réponses devraient donc se retrouver ici.

Capture docs google com 2018

L'API

On a nos données qui sont stockées dans notre spreadsheet c'est déjà un bon début, maintenant il va falloir les servir. On va donc créer une API dans Google Apps Script, qui va aller lire le contenu de notre spreadsheet et nous le renvoyer au format JSON. Pour créer une Google Apps Script il faut se rendre ici.

API Google Apps Script

La documentation de Google Apps Script. Pour ma part j'ai récupéré le code de l'api de l'auteur. Pour la mettre en place on a besoin de l'id de la spreadsheet à aller lire. On peut le trouver dans l'url d'édition de la spreadsheet : https://docs.google.com/spreadsheets/d/{id}/edit

Une fois l'api terminé il faut la déployer : Publier > Déployer en tant qu'application web.

Déployer en tant qu'application web

Il faut bien faire attention à exécuter l'application en tant que "Moi" et qu'elle soit accessible à tout le monde.

Une fois déployée, vous allez avoir une URL dans ce genre-là :  https://script.google.com/macros/s/{id_api}/exec

Pour voir le retour de l'api de l'auteur : https://script.google.com/macros/s/AKfycbyP5Rifn7Q05Qcd7CTfm-AOouFHHvUAvCVVuKSfQu-LCqJocP8/exec?key=abcdef

Qui nous donne quelque chose comme ça en retour :

Erreur apres deploiement

Il restera pour finir à créer une petite application front qui consomme cette API !

En conclusion

Ce genre de CMS n'est pas forcément quelque chose de très pratique à utiliser et il nous demande de développer une API à chaque fois qui correspond à notre contenu ainsi que la partie front. Mais ce qui reste intéressant c'est que c'est possible !