Points forts
IMS
La plateforme RH interne utilisée chez iMedia24 : suivi du temps, congés, tâches, avantages et opérations d'équipe au quotidien. Backend Kotlin/Spring Boot et frontend Next.js, déployés sur GCP.
- kotlin
- spring
- next.js
- typescript
- gcp
Un framework réutilisable d’actions groupées, adopté par quatre tableaux d’administration.
Schéma simplifié
- Fonctionnalités
- Événements Pub/Sub
- Livraison des notifications
Problème
Le module de notifications était imbriqué dans le code applicatif : ajouter un nouveau type de notification impliquait de modifier les fonctionnalités qui le déclenchaient. Les actions sur plusieurs lignes de tableau étaient par ailleurs traitées écran par écran, sans mécanisme commun.
Mon rôle
J'interviens sur toute la stack : backend Kotlin/Spring Boot, frontend Next.js et chaîne de déploiement GitHub Actions vers GCP. J'ai réécrit le module de notifications et travaillé sur le framework d'actions groupées des tableaux.
Solution
- Réécriture du module de notifications sur Pub/Sub : les notifications sont publiées comme des événements plutôt qu'envoyées en ligne.
- Développement d'un framework d'actions groupées au-dessus du tableau partagé : colonne de sélection, règles d'éligibilité par action, dialogue de confirmation et de revue, exécution séquentielle ou groupée avec remontée d'erreurs ligne par ligne.
- Développement de fonctionnalités back et front couvertes par des tests unitaires et d'intégration.
- Déploiement sur GCP (Cloud Run, Cloud SQL, Pub/Sub) via GitHub Actions.
Résultats
- Les performances de livraison des notifications se sont améliorées après le passage à Pub/Sub.
- De nouveaux types de notifications peuvent être ajoutés sans toucher au code applicatif.
- Quatre tableaux d'administration — membres, demandes d'avantages, participations aux challenges et rapports d'astreinte — utilisent désormais ce framework commun.