Déployer son projet
Introduction
Une fois le développement terminé vient le moment décisif : rendre le projet accessible à d’autres utilisateurs.
C’est le principe du déploiement. Avec Apps Script, cette étape se fait directement depuis l’éditeur et permet de transformer un simple script en véritable application en ligne. Selon les besoins, le projet peut être déployé sous forme d’application web, de module complémentaire, de librairie ou encore d’API.
Dans ce chapitre, l’accent est mis sur les modes de déploiement qui ne nécessitent pas de configuration via Google Cloud Platform (GCP), afin de rester dans le périmètre natif d’Apps Script.
Application web
Dans le cas d’une application web, le script devient une interface accessible via une URL. Celle-ci peut être publique, partagée sur un domaine Google Workspace, ou réservée à des testeurs spécifiques.
Ce mode de déploiement est particulièrement utile pour les projets incluant des fichiers HTML, CSS ou JavaScript, comme une interface utilisateur personnalisée ou un tableau de bord dynamique.
1. Déployer une application web
Nous avons vu dans le chapitre Interfaces HTML personnalisées - Découverte du service HTML - Introduction aux applications web, comment déployer une application web, mais nous allons approfondir les explications dans le présent chapitre.
Prenons un exemple d’application web qui liste les factures générées du projet précédent. Voici, à titre informatif, le code à insérer dans code.gs :
/**
* Entry point for the web application.
* @return {HtmlService.HtmlOutput}
*/
function doGet() {
const html = HtmlService.createHtmlOutputFromFile('index')
.setTitle('Invoices Dashboard')
return html;
}
/**
* Returns all invoices from the "Invoices" sheet.
* @return {Array<Object>} List of invoices as objects.
*/
function getInvoices() {
const ss = SpreadsheetApp.openById(SPREADSHEET_ID);
const sheet = ss.getSheetByName('Sales');
if (!sheet) return [];
const data = sheet.getDataRange().getValues();
if (data.length < 2) return [];
const headers = data.shift();
const invoices = data.map(row => {
const obj = {};
headers.forEach((h, i) => {
let val = row[i];
// Convert Date objects to ISO strings
if (val instanceof Date) {
val = Utilities.formatDate(val, Session.getScriptTimeZone(), 'yyyy-MM-dd');
} ...Bibliothèque et autres déploiements
1. Créer et utiliser une bibliothèque Apps Script
Un script peut être déployé sous forme de bibliothèque.
Une bibliothèque permet de réutiliser du code commun dans plusieurs projets, tout en centralisant sa maintenance. C’est une approche idéale pour les fonctions génériques ou les utilitaires fréquemment utilisés (par exemple, un module de gestion de logs, de formatage de dates ou d’envoi d’e-mails).
Le système de journalisation créé dans le chapitre précédent pourrait être un très bon cas d’usage :

Nous allons déployer ce nouveau projet en bibliothèque, en cliquant sur le bouton Deploy, puis New deployment, puis en sélectionnant le type Library.

On obtient ainsi un ID de déploiement et une URL.

L’identifiant d’une bibliothèque se trouve directement dans son URL ; c’est cet identifiant-là qui va nous intéresser pour utiliser la bibliothèque depuis un autre projet :
https://script.google.com/macros/library/d/1ZzHhDkhrKhlZwv3escj2Z-OGhEApiVQgq8w6rrNB_bMEmAs99_TLnumN/1
La partie située avant le dernier / correspond à l’ID de la bibliothèque, tandis que le chiffre final (/1) indique le numéro de version.
Retournez ensuite dans le projet...