Dans de nombreux établissements scolaires, la communication avec les familles repose encore sur des méthodes peu adaptées : listes de contacts à mettre à jour manuellement, exports de fichiers, copier coller de numéros de téléphone ou encore envois réalisés depuis plusieurs outils différents.

Lorsque plusieurs centaines de parents doivent être informés rapidement d'une annulation de cours, d'un changement d'horaire, d'un rappel de réunion ou d'une information importante, ces manipulations deviennent chronophages et augmentent le risque d'erreurs.

La problématique

Notre client, une école de soutien scolaire, souhaitait disposer d'un outil simple permettant à son équipe administrative de communiquer avec les parents en quelques clics, sans avoir à manipuler des fichiers ou à utiliser une plateforme marketing complexe.

Les objectifs étaient les suivants :

  • Conserver Google Sheets comme source unique de données
  • Éviter toute ressaisie ou import manuel de contacts
  • Envoyer des SMS ou des emails depuis une interface unique
  • Sélectionner rapidement les destinataires par classe
  • Limiter les erreurs grâce à une validation automatique des données
  • Conserver un historique des campagnes envoyées
  • Proposer une interface suffisamment intuitive pour être utilisée sans formation technique

Notre solution

Nous avons conçu et développé une application web sur mesure répondant à ces besoins.

L'application a été développée avec Next.js et TypeScript, dans une architecture regroupant à la fois l'interface utilisateur et la logique serveur au sein d'un même projet. Ce choix simplifie la maintenance, facilite les évolutions et réduit les coûts d'hébergement.

L'interface a volontairement été limitée à quatre écrans principaux :

  • Une page de connexion sécurisée
  • Une page de création de campagnes
  • Un historique des envois
  • Une page de configuration

Une intégration directe avec Google Sheets

Plutôt que de mettre en place une base de données supplémentaire, l'application s'appuie directement sur le Google Sheets utilisé par l'établissement.

Les données sont lues en temps réel via l'API Google Sheets. Les colonnes sont détectées de façon dynamique, ce qui permet d'ajouter ou de modifier des informations dans le tableur sans avoir à modifier le code de l'application.

Google Sheets devient ainsi la source unique de données pour les élèves, les classes, l'historique des campagnes et les paramètres de l'application.

Une interface pensée pour les utilisateurs

L'utilisateur sélectionne simplement une ou plusieurs classes, rédige son message puis lance l'envoi.

Avant chaque campagne, l'application effectue automatiquement plusieurs contrôles :

  • Validation des numéros de téléphone
  • Validation des adresses email
  • Suppression des doublons
  • Calcul du nombre réel de destinataires
  • Affichage d'un récapitulatif avant confirmation

Les campagnes sont ensuite envoyées via l'API Brevo, avec un traitement par lots afin d'assurer la fiabilité des envois, même lorsqu'un grand nombre de destinataires est concerné.

Une fois l'envoi terminé, un historique détaillé est automatiquement enregistré.

Authentification et sécurité

L'accès à la plateforme est protégé par une authentification administrateur.

Les sessions utilisateurs sont gérées à l'aide d'iron session, qui utilise des cookies chiffrés et signés afin d'éviter tout stockage de session côté serveur. Cette approche est particulièrement adaptée à une architecture serverless.

Les informations sensibles, telles que les identifiants Google ou les clés d'accès aux services externes, ne sont jamais exposées au navigateur. Elles sont stockées sous forme de variables d'environnement sécurisées ou accessibles uniquement depuis les fonctions serveur.

Toutes les données saisies par l'utilisateur sont validées côté serveur avant chaque envoi afin de garantir l'intégrité des informations et de limiter les risques d'erreurs.

Une architecture moderne

L'application est déployée sur Netlify à l'aide de fonctions serverless, ce qui évite toute administration de serveur et permet des déploiements automatiques à chaque nouvelle version du projet.

Le code est versionné sur GitHub, tandis que la logique métier est testée à l'aide de Vitest afin de garantir le bon fonctionnement des traitements les plus sensibles.

Cette architecture offre une solution fiable, évolutive et simple à maintenir.

Les bénéfices

Grâce à cette plateforme, l'établissement peut désormais :

  • Envoyer des campagnes de SMS ou d'emails en moins d'une minute
  • Communiquer rapidement avec les parents d'une ou plusieurs classes
  • Éviter les manipulations manuelles de fichiers
  • Réduire les erreurs liées aux coordonnées invalides ou aux doublons
  • Conserver l'ensemble de ses données dans Google Sheets
  • Disposer d'un historique complet des communications

L'équipe administrative bénéficie ainsi d'un outil simple d'utilisation, tandis que l'établissement profite d'une solution moderne, sécurisée et facilement évolutive.

Une approche pragmatique du développement

Ce projet illustre notre approche : concevoir des applications métier sur mesure qui répondent à des problématiques concrètes.

Nous privilégions des architectures simples, robustes et pérennes, en nous appuyant sur des technologies modernes lorsque cela apporte une réelle valeur au client, sans ajouter de complexité inutile.

L'objectif est toujours le même : créer des outils qui s'intègrent naturellement aux processus existants, améliorent la productivité des équipes et restent faciles à faire évoluer dans le temps.