Nous dépendons tous énormément de Google Workspace. Gmail, Google Drive, Google Meet… ces outils sont le moteur de nos journées de travail. Mais que se passe-t-il quand ils tombent en panne ?
En général, on le découvre parce que quelque chose « ne marche plus ». On demande à un collègue, on rafraîchit la page 10 fois, puis on finit par aller consulter le Tableau de bord de l’état de Google Workspace.
Le problème ? Ce n’est pas réactif. Vous perdez du temps avant de savoir ce qu’il se passe.
Aujourd’hui, je vous propose de construire un système proactif. Un petit script qui surveille le tableau de bord pour vous et vous envoie un e-mail à la minute où Google signale un nouvel incident.
Le meilleur ? C’est 100% gratuit et ne prend que 5 minutes à mettre en place grâce à Google Apps Script.
Pourquoi automatiser la surveillance ?
En tant qu’administrateur IT ou même en tant que « simple » utilisateur avancé, savoir avant les autres qu’un service majeur est en panne est un atout considérable :
- Informer vos équipes : Vous pouvez envoyer un message proactif à votre entreprise (« Oui, Google Meet est en panne, nous suivons la situation ») avant d’être inondé de tickets.
- Gérer les attentes : Vous savez immédiatement qu’il ne sert à rien de « tenter de redémarrer » ou de chercher un problème sur votre réseau.
- Tranquillité d’esprit : Plus besoin de rafraîchir la page du tableau de bord. Si vous ne recevez rien, c’est que tout va bien.
La solution : Un script qui lit le flux RSS pour vous
Le tableau de bord de Google cache une fonctionnalité très utile : un flux RSS.
Notre script va simplement :
- S’exécuter toutes les 5 ou 10 minutes.
- Lire ce flux RSS.
- Mémoriser les incidents qu’il a déjà vus.
- Si un nouvel incident apparaît (avec un ID unique), il vous enverra immédiatement un e-mail d’alerte.
Prêt ? Allons-y.
Tutoriel : Mettre en place votre alerte
Étape 1 : Ouvrir Google Apps Script
Rendez-vous sur script.google.com et créez un Nouveau projet.
Donnez-lui un nom clair, par exemple : « Surveillance Statut Google ».
Étape 2 : Coller le code
Effacez la fonction myFunction par défaut et collez l’intégralité du code ci-dessous.
// URL du flux RSS à surveiller
const URL_FLUX = "https://www.google.com/appsstatus/dashboard/fr/feed.atom";
// Clé pour stocker les ID vus dans les propriétés du script
const CLE_IDS_VUS = "STATUT_GOOGLE_IDS_VUS";
/**
* Fonction principale à exécuter pour vérifier le flux.
* C'est cette fonction que vous lierez au déclencheur.
*/
function verifierStatutGoogleWorkspace() {
try {
// 1. Récupérer les ID des incidents déjà vus
const proprietes = PropertiesService.getScriptProperties();
const idsStockesEnJson = proprietes.getProperty(CLE_IDS_VUS);
// Utiliser un Set (ensemble) pour une recherche rapide
const idsVus = idsStockesEnJson ? new Set(JSON.parse(idsStockesEnJson)) : new Set();
// 2. Télécharger le flux RSS
const reponse = UrlFetchApp.fetch(URL_FLUX);
const xmlTexte = reponse.getContentText();
// 3. Analyser le XML
const documentXml = XmlService.parse(xmlTexte);
const racine = documentXml.getRootElement();
const nsAtom = XmlService.getNamespace("http://www.w3.org/2005/Atom");
const entrees = racine.getChildren("entry", nsAtom);
let nouveauxIncidentsTrouves = false;
let listeNouveauxIds = [];
// 4. Parcourir les entrées (de la plus ancienne à la plus récente)
for (let i = entrees.length - 1; i >= 0; i--) {
const entree = entrees[i];
const idEntree = entree.getChild("id", nsAtom).getText();
// 5. Vérifier si l'ID est nouveau
if (!idsVus.has(idEntree)) {
Logger.log(`Nouvel incident détecté : ${idEntree}`);
nouveauxIncidentsTrouves = true;
// 6. Extraire les informations
const titre = entree.getChild("title", nsAtom).getText();
const lien = entree.getChild("link", nsAtom).getAttribute("href").getValue();
const resumeHtml = entree.getChild("summary", nsAtom).getText();
// 7. Envoyer l'alerte
envoyerAlerteEmail(titre, lien, resumeHtml);
// 8. Ajouter à la liste pour sauvegarde
listeNouveauxIds.push(idEntree);
}
}
// 9. Sauvegarder les nouveaux ID si nécessaire
if (nouveauxIncidentsTrouves) {
listeNouveauxIds.forEach(id => idsVus.add(id));
proprietes.setProperty(CLE_IDS_VUS, JSON.stringify(Array.from(idsVus)));
Logger.log("Liste des ID d'incidents mise à jour.");
} else {
Logger.log("Aucun nouvel incident détecté.");
}
} catch (e) {
Logger.log(`Erreur lors de la vérification du flux : ${e}`);
}
}
/**
* Envoie une notification par email.
*/
function envoyerAlerteEmail(titre, lien, resumeHtml) {
// Envoie l'email à l'utilisateur qui a installé le script
const destinataire = Session.getActiveUser().getEmail();
const sujet = `🚨 Alerte Incident Google Workspace : ${titre}`;
const corpsHtml = `
<h2>Nouvel incident ou mise à jour détecté :</h2>
<h3>${titre}</h3>
<div style="border:1px solid #ddd; padding: 10px; background-color: #f9f9f9; border-radius: 5px;">
${resumeHtml}
</div>
<p style="margin-top: 15px;">
Pour plus de détails, <a href="${lien}">consultez le tableau de bord</a>.
</p>
`;
MailApp.sendEmail({
to: destinataire,
subject: sujet,
htmlBody: corpsHtml
});
}
Étape 3 : Lancer le script (pour les autorisations)
C’est une étape cruciale.
- Cliquez sur l’icône Enregistrer (la disquette).
- Dans le menu déroulant en haut (à côté de « Exécuter »), sélectionnez
verifierStatutGoogleWorkspace. - Cliquez sur le bouton Exécuter.
- Une fenêtre « Autorisation requise » va apparaître. C’est normal. Cliquez sur Examiner les autorisations.
- Choisissez votre compte Google.
- Vous verrez un avertissement de sécurité. Cliquez sur Paramètres avancés, puis sur Accéder à [Nom de votre projet] (non sécurisé).
- Cliquez sur Autoriser.
Le script va s’exécuter une fois. Il ne trouvera probablement rien de nouveau, mais il est maintenant autorisé à fonctionner.
Étape 4 : Automatiser le script (le déclencheur)
Maintenant, disons à Google d’exécuter ce script tout seul.
- Sur la gauche, cliquez sur l’icône en forme de réveil : Déclencheurs.
- Cliquez sur le bouton bleu + Ajouter un déclencheur en bas à droite.
- Configurez-le comme suit :
- Fonction à exécuter :
verifierStatutGoogleWorkspace - Type d’événement :
Temporel - Type de déclencheur horaire :
Minuteur - Fréquence :
Toutes les 10 minutes(ouToutes les 5 minutessi vous voulez être encore plus réactif).
- Fonction à exécuter :
- Cliquez sur Enregistrer.
Et voilà !
C’est terminé ! Votre script tourne désormais en arrière-plan, 24h/24 et 7j/7, dans le cloud de Google.

Dès que Google publiera un nouvel incident sur son tableau de bord (comme celui de l’exemple ci-dessous), vous recevrez un e-mail formaté comme ceci dans les minutes qui suivent. Vous serez le premier à savoir.
J’espère que ce tutoriel vous sera utile. C’est un exemple parfait de la puissance cachée de Google Apps Script pour simplifier la vie des administrateurs et des utilisateurs avancés.
Avez-vous d’autres idées d’automatisation de ce genre ? Partagez-les dans les commentaires !