v1.0 Novembre 2025
Document 14.1

Plan de Maintenance

La solution de cashback nouvelle génération

24 novembre 2025
Version 1.0
1

INTRODUCTION

1.1Contexte

Le présent document définit le plan de maintenance de la plateforme REWAPP, application mobile de cashback nouvelle génération combinant cashback bancaire direct et cashback commerçant via QR code.

La maintenance constitue un pilier essentiel pour garantir :

  • La disponibilité continue des services (objectif 99.9%)
  • La performance optimale (temps de réponse API < 200ms)
  • La sécurité des données et transactions
  • La satisfaction des utilisateurs et partenaires

1.2Périmètre

Ce plan couvre l'ensemble des composantes de l'écosystème REWAPP :

  • Application Mobile (iOS/Android - Angular + Ionic)
  • Site Vitrine (Next.js + Tailwind CSS)
  • Dashboard Admin (React + Ant Design/MUI)
  • Dashboard Partenaire (React PWA + Vite)
  • Backend API (Node.js + NestJS)
  • Infrastructure Cloud (CapRover + Docker)
  • Bases de données (PostgreSQL, Redis)
  • Intégrations tierces (Budget Insight, SendGrid, FCM, Twilio)

1.3Audience

Ce document s'adresse aux :

  • Équipe Ops et SRE
  • Équipe Développement
  • Équipe Support
  • Management technique (CTO, Tech Lead)
  • Partenaires et prestataires impliqués dans la maintenance
2

OBJECTIFS DE LA MAINTENANCE

2.1Objectifs Principaux

Objectifs et Indicateurs Clés

Objectif Description Indicateur Clé
Disponibilité Maintenir un uptime de 99.9% sur tous les services < 8.76h de downtime par an
Performance Garantir des temps de réponse optimaux Latence API P95 < 200ms
Sécurité Prévenir les vulnérabilités et incidents de sécurité 0 incident critique non résolu > 24h
Fiabilité Minimiser les interruptions de service MTTR < 30 minutes
Évolutivité Accompagner la croissance de la plateforme Scalabilité sans dégradation

2.2Principes Directeurs

La maintenance REWAPP suit les principes suivants :

Proactivité Anticiper les problèmes avant impact
Automatisation Réduire les erreurs humaines
Documentation Assurer la traçabilité
Communication Informer les parties prenantes
3

TYPES DE MAINTENANCE

3.1Maintenance Préventive

La maintenance préventive vise à prévenir les pannes et dégradations avant qu'elles ne surviennent.

3.1.1 Mises à Jour de Sécurité

Calendrier des Mises à Jour

Composant Fréquence Responsable Description
Dépendances NPM Hebdomadaire Dev Team Analyse et mise à jour des packages (npm audit)
Dépendances système Mensuel Ops Team Mise à jour des images Docker de base
Certificats SSL 30 jours avant exp. Ops Team Renouvellement automatique via ACM
Secrets et credentials Tous les 90 jours Ops Team Rotation via variables CapRover
Patches OS Mensuel Ops Team Mise à jour des AMI et containers

3.1.2 Optimisation des Performances

Tâches d'Optimisation

Tâche Fréquence Description
Analyse des requêtes lentes Hebdomadaire Identification et optimisation des slow queries PostgreSQL
Optimisation des index Mensuel Analyse et ajout/suppression d'index selon les patterns d'usage
Nettoyage du cache Redis Hebdomadaire Vérification des clés obsolètes et optimisation mémoire
Compactage des logs Mensuel Archivage et nettoyage des logs anciens
Analyse APM Hebdomadaire Revue des traces Sentry et X-Ray pour bottlenecks

3.1.3 Nettoyage des Données

Nettoyage et Archivage

Tâche Fréquence Description Règle Métier
Purge sessions expirées Quotidien Suppression des sessions Redis inactives TTL 24h
Suppression QR codes expirés Continu Nettoyage automatique des clés QR QR valide 60s
Archivage transactions Mensuel Déplacement transactions > 12 mois vers archive Points valides 12 mois
Nettoyage logs applicatifs Mensuel Rotation et compression des logs Rétention 90 jours
Purge comptes inactifs Annuel Anonymisation comptes inactifs > 24 mois Conformité RGPD

3.1.4 Vérifications Système

Vérifications et Seuils d'Alerte

Vérification Fréquence Seuil d'Alerte
Espace disque RDS Quotidien < 20% disponible
Mémoire Redis Quotidien > 70% utilisée
CPU Docker Containers Continu > 70% pendant 5 min
Connexions PostgreSQL Continu > 70% du max (200)
Certificats SSL Quotidien < 30 jours avant exp.
Backup intégrité Hebdomadaire Tout échec de backup

3.2Maintenance Corrective

La maintenance corrective intervient suite à un incident ou une défaillance identifiée.

3.2.1 Classification des Incidents

Priorités et Délais de Résolution

Priorité Description Délai Résolution Exemples
P1 - Critique Service indisponible, perte de données, sécurité compromise < 4 heures API down, fuite de données, intrusion
P2 - Majeur Fonctionnalité clé impactée, dégradation sévère < 8 heures Scan QR défaillant, virements bloqués
P3 - Mineur Dégradation limitée, workaround possible < 48 heures Lenteurs ponctuelles, erreurs isolées
P4 - Faible Anomalie sans impact utilisateur < 1 semaine Bug cosmétique, log warning

3.2.2 Processus de Résolution

1. Détection

Alerte monitoring ou signalement utilisateur/support

2
2. Qualification

Analyse d'impact et classification de priorité

3
3. Assignation

Affectation à l'équipe compétente selon la matrice d'escalade

4
4. Diagnostic

Identification de la cause racine

5
5. Résolution

Application du correctif (hotfix si P1-P2)

6
6. Validation

Tests de non-régression

7
7. Communication

Information des parties prenantes

8
8. Documentation

Post-mortem et mise à jour des runbooks

3.2.3 Procédure Hotfix (P1-P2)

PROCÉDURE HOTFIX

Validation obligatoire Tech Lead ou CTO

  1. 1
    Créer une branche hotfix depuis production
  2. 2
    Implémenter le correctif minimal
  3. 3
    Tests unitaires obligatoires
  4. 4
    Revue de code accélérée (1 reviewer minimum)
  5. 5
    Déploiement via pipeline CI/CD dédié hotfix
  6. 6
    Monitoring renforcé post-déploiement (30 min)
  7. 7
    Merge vers develop et main après stabilisation

3.2.4 Procédure de Rollback

En cas d'échec du correctif ou dégradation post-déploiement :

BASH
# 1. Identifier la version stable précédente
# 2. Exécuter le rollback via CapRover
caprover api --caproverUrl https://captain.rewapp.fr   --appName [SERVICE]   --task-definition rewapp-prod-[SERVICE]:[VERSION_PRECEDENTE]

# 3. Vérifier le retour à la normale via dashboards
# 4. Communiquer le rollback aux équipes
# 5. Analyser la cause de l'échec

3.3Maintenance Évolutive

La maintenance évolutive concerne l'ajout de nouvelles fonctionnalités et améliorations.

3.3.1 Types d'Évolutions

Types d'Évolutions

Type Description Exemples Processus
Nouvelles fonctionnalités Ajout de capacités métier Nouveaux paliers fidélité, Parrainage Sprint standard (2 semaines)
Améliorations UX Optimisation de l'expérience utilisateur Refonte parcours inscription, Animations Sprint standard
Optimisations techniques Amélioration performances et architecture Migration microservice, Refactoring Sprint technique
Intégrations Connexion avec nouveaux services tiers Nouveau prestataire bancaire, CRM Projet dédié

3.3.3 Roadmap Technique

Roadmap Technique 2026

Période Évolution Prévue Impact Maintenance
Q1 2026 Migration vers Kubernetes Changement des procédures de déploiement
Q1 2026 Intégration Datadog APM Amélioration observabilité
Q2 2026 Chaos Engineering Tests de résilience automatisés
Q3 2026 Multi-région DR Complexification infrastructure
Q4 2026 API v2 Maintenance double version temporaire

3.4Maintenance Adaptative

La maintenance adaptative permet d'adapter le système aux évolutions de son environnement.

3.4.1 Évolutions Réglementaires

Conformité Réglementaire

Domaine Évolution Action Requise Échéance
RGPD Nouvelles exigences Audit annuel des traitements Annuel
PCI DSS Évolution des standards Mise à jour tokenisation Selon publications
DSP2 Réglementation bancaire Adaptation intégration Budget Insight Continue
NIS2 Directive cybersécurité Renforcement sécurité 2024-2025

3.4.2 Évolutions Technologiques

Mises à Jour Technologiques

Composant Évolution Impact Planification
Angular + Ionic Nouvelles versions majeures Tests de compatibilité, mise à jour Trimestriel
Node.js Versions LTS Migration vers nouvelle LTS Annuel
PostgreSQL Nouvelles versions Test de compatibilité, migration Annuel
CapRover Services Nouvelles fonctionnalités Évaluation et adoption Continue
4

PLANNING DE MAINTENANCE

4.1Calendrier des Interventions

4.1.1 Maintenances Quotidiennes (Automatisées)

Tâches Quotidiennes

Heure (UTC) Tâche Durée Impact
02:00 Backup incrémental PostgreSQL 15-30 min Aucun
02:30 Recalcul paliers fidélité 30-60 min Aucun
03:00 Nettoyage sessions expirées 5 min Aucun
03:30 Rotation logs CapRover 10 min Aucun
04:00 Snapshot Redis 5 min Aucun

4.1.2 Maintenances Hebdomadaires

Tâches Hebdomadaires

Jour Heure (UTC) Tâche Durée Impact
Dimanche 02:00 Backup complet PostgreSQL 1-2h Légère dégradation possible
Dimanche 03:00 VACUUM ANALYZE PostgreSQL 30-60 min Légère dégradation possible
Lundi 09:00 Revue alertes semaine précédente 1h Aucun (tâche administrative)
Mercredi 14:00 Mise à jour dépendances staging 2h Aucun (environnement staging)
Vendredi 10:00 Déploiement production standard 30 min Potentiel (rolling update)

4.1.3 Maintenances Mensuelles

Tâches Mensuelles

Semaine Tâche Durée Impact
1ère semaine Mise à jour patches sécurité OS 2-4h Potentiel downtime planifié
2ème semaine Optimisation index PostgreSQL 1-2h Légère dégradation possible
3ème semaine Revue et nettoyage des logs archivés 1h Aucun
4ème semaine Test de restauration backup 2h Aucun (environnement test)

4.1.4 Maintenances Trimestrielles

Tâches Trimestrielles

Tâche Durée Impact Description
Test Disaster Recovery 4h Aucun (DR env) Simulation complète du plan de reprise
Audit de sécurité interne 1 jour Aucun Scan de vulnérabilités, revue des accès
Revue des performances globales 2h Aucun Analyse des métriques sur 3 mois
Mise à jour documentation 1 jour Aucun Actualisation des runbooks et procédures
Game Day (simulation incident) 4h Aucun Exercice de réponse aux incidents

4.2Fenêtres de Maintenance

4.2.1 Fenêtres Standards

Fenêtres de Maintenance Autorisées

Type Jours Horaires (Heure Paris) Durée Max
Maintenance sans impact Tous les jours 24h/24 Variable
Maintenance avec dégradation Dimanche 03:00 - 06:00 3h
Maintenance avec interruption Dimanche 03:00 - 05:00 2h max
Maintenance d'urgence (P1) Tous les jours Immédiat Selon incident

4.2.2 Périodes de Gel (No Deployment Zones)

PÉRIODES DE GEL

Périodes pendant lesquelles aucune maintenance non urgente n'est autorisée

Période Dates Raison
Fêtes de fin d'année 20 décembre - 5 janvier Période commerciale forte
Soldes d'hiver 2 premières semaines janvier Activité commerçants élevée
Black Friday / Cyber Monday Dernière semaine novembre Pic de transactions
Soldes d'été 2 dernières semaines juin Activité commerçants élevée

4.3Procédure de Communication

4.3.1 Communication Préalable

Délais de Communication

Délai Type de Maintenance Canaux Destinataires
7 jours Maintenance majeure planifiée Email + In-app Utilisateurs, Partenaires, Équipes
3 jours Maintenance standard planifiée Slack + Email Équipes internes
24 heures Maintenance mineure Slack Équipes techniques
Immédiat Maintenance d'urgence PagerDuty + Slack Équipes de garde

4.3.2 Template de Communication

EMAIL TEMPLATE
Objet : [REWAPP] Maintenance planifiée - [Date] - [Durée estimée]

Bonjour,

Une maintenance est planifiée sur la plateforme REWAPP :

• Date : [JJ/MM/AAAA]
• Horaire : [HH:MM - HH:MM] (heure de Paris)
• Durée estimée : [Durée]
• Impact attendu : [Description de l'impact]

Services concernés :
• [Liste des services impactés]

Actions requises de votre part :
• [Actions si nécessaire, sinon "Aucune action requise"]

En cas de questions, contactez le support : support@rewapp.fr

Cordialement,
L'équipe technique REWAPP
5

ORGANISATION ET RESPONSABILITÉS

5.1Rôles et Équipes

Rôles et Responsabilités

Rôle Responsabilités Effectif
CTO Validation maintenances majeures, arbitrage incidents P1 1
Tech Lead Coordination technique, validation hotfixes, escalade N2 1
Équipe Ops/SRE Maintenance infrastructure, monitoring, astreinte 3
Équipe Backend Maintenance applicative, correctifs, évolutions 4
Équipe Frontend Maintenance interfaces, correctifs UI/UX 3
Équipe QA Validation des déploiements, tests de régression 2
Support N1 Qualification incidents, support utilisateurs 3

5.2Matrice RACI

LÉGENDE RACI

R = Responsable | A = Approbateur | C = Consulté | I = Informé

Matrice RACI

Activité CTO Tech Lead Ops Dev QA Support
Planification maintenance A R C C I I
Exécution maintenance préventive I A R C I I
Qualification incidents I A C C I R
Résolution incidents P1-P2 A R R R C I
Résolution incidents P3-P4 I A C R C I
Déploiement production A R R C R I
Tests post-maintenance I A C C R I
Communication utilisateurs A R C I I R
Post-mortem incidents A R C R C I

5.3Contacts et Escalade

5.3.1 Matrice d'Escalade

Niveaux d'Escalade

Niveau Délai Qui Contacter Comment Heures
N1 - Ops 15 min Ingénieur de garde PagerDuty 24/7
N2 - Tech Lead 30 min Tech Lead Slack + Téléphone 9h-22h
N3 - Management 1h CTO Téléphone direct 24/7 (P1 uniquement)
N4 - Direction 2h CEO Téléphone P1 avec impact business majeur

5.3.2 Planning d'Astreinte

  • Rotation : Hebdomadaire (lundi 9h00 → lundi suivant 9h00)
  • Équipe : 4 ingénieurs Ops en rotation
  • Backup : Un backup désigné par semaine
  • Outils : PagerDuty, accès VPN, laptop de garde

5.3.3 Contacts Fournisseurs

Contacts Support Fournisseurs

Service Contact Support SLA
CapRover Dashboard CapRover Support via communauté 1h (urgent)
Budget Insight support@budget-insight.com Business Hours 4h
SendGrid support.sendgrid.com Ticket 24h
Twilio twilio.com/console Ticket 24h
Sentry sentry.io Standard Best effort
6

PROCÉDURES DE MAINTENANCE

6.1Procédure Générale

6.1.1 Checklist Pré-Maintenance

  • Vérifier l'absence de période de gel
  • Valider avec le Tech Lead (maintenance majeure)
  • Communiquer aux parties prenantes selon délais
  • Vérifier les backups récents
  • Préparer le plan de rollback
  • S'assurer de la disponibilité de l'équipe de garde
  • Documenter les étapes prévues

6.1.2 Checklist Post-Maintenance

  • Vérifier le bon fonctionnement via dashboards Grafana
  • Exécuter les tests de smoke
  • Vérifier l'absence d'alertes anormales
  • Valider les métriques clés (latence, error rate)
  • Communiquer la fin de maintenance
  • Documenter les actions réalisées
  • Créer un ticket de suivi si anomalie détectée

6.2Maintenance Base de Données

6.2.1 VACUUM et ANALYZE PostgreSQL

Exécution hebdomadaire automatique (dimanche 03:00 UTC) :

SQL
-- Vacuum et Analyze complet
VACUUM ANALYZE;

-- Pour tables volumineuses spécifiques
VACUUM FULL VERBOSE transactions;
VACUUM FULL VERBOSE points_history;

6.2.2 Optimisation des Index

Analyse mensuelle des index non utilisés :

SQL
-- Identifier les index non utilisés
SELECT schemaname, tablename, indexname, idx_scan
FROM pg_stat_user_indexes
WHERE idx_scan < 50
ORDER BY idx_scan;

-- Vérifier les tables avec trop de sequential scans
SELECT relname, seq_scan, idx_scan
FROM pg_stat_user_tables
WHERE seq_scan > idx_scan * 10;

6.2.3 Monitoring des Connexions

SQL
-- Vérifier les connexions actives
SELECT count(*) as total,
       state,
       usename
FROM pg_stat_activity
GROUP BY state, usename;

-- Tuer les connexions idle anciennes (> 10 min)
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE state = 'idle'
AND query_start < now() - interval '10 minutes';

6.3Maintenance Infrastructure Cloud

6.3.1 Scaling des Services ECS

BASH
# Augmenter le nombre de containers via CapRover
# Via Dashboard CapRover : Apps > [SERVICE] > App Configs > Instance Count

# Ou via CLI
caprover api --caproverUrl https://captain.rewapp.fr   --appName [SERVICE] --method updateInstanceCount --data '[N]'

6.3.2 Gestion des Certificats SSL

Les certificats sont gérés par CapRover/Let's Encrypt avec renouvellement automatique.

BASH
# Les certificats Let's Encrypt sont gérés automatiquement par CapRover
# Vérifier via Dashboard CapRover > SSL Certificates

# Vérifier manuellement la date d'expiration
openssl s_client -connect rewapp.fr:443 -servername rewapp.fr 2>/dev/null |   openssl x509 -noout -dates

6.4Maintenance Application

6.4.1 Mise à Jour des Dépendances

BASH
# Audit des vulnérabilités
npm audit

# Mise à jour des packages patch/minor
npm update

# Pour les mises à jour majeures (analyse requise)
npm outdated
npx npm-check-updates

6.4.2 Nettoyage du Cache Applicatif

BASH
# Invalider cache API spécifique
redis-cli KEYS "cache:api:merchants:*" | xargs redis-cli DEL

# Vérifier la mémoire après nettoyage
redis-cli INFO memory

6.5Maintenance Sécurité

6.5.1 Rotation des Secrets

Tous les 90 jours (automatisé via Secrets Manager) :

BASH
# Rotation manuelle via CapRover Dashboard
# Apps > [APP_NAME] > App Configs > Environmental Variables

# Ou via fichier .env sur le serveur
ssh user@server 'cd /captain/data && nano .env'

# Redémarrer l'application pour prendre en compte les nouveaux secrets
caprover api --caproverUrl https://captain.rewapp.fr   --appName [APP_NAME] --method restartApp

6.5.2 Audit des Accès

Revue trimestrielle :

  • Audit des accès CapRover / SSH
  • Revue des accès SSH/VPN
  • Vérification des permissions dashboard admin
  • Suppression des accès obsolètes

6.5.3 Scan de Vulnérabilités

Scan mensuel :

  • Scan des containers avec Amazon ECR scanning
  • Analyse des dépendances avec Snyk/npm audit
  • Tests de pénétration annuels par prestataire externe
7

OUTILS ET ENVIRONNEMENTS

7.1Outils de Maintenance

Outils Disponibles

Outil Usage Accès
AWS Console Gestion infrastructure SSO corporate
Grafana Dashboards monitoring grafana.rewapp.internal
PagerDuty Alerting et astreinte pagerduty.com
Sentry Error tracking sentry.io
GitHub Code source et CI/CD github.com/rewapp
Slack Communication équipe rewapp.slack.com
Jira Tickets et incidents rewapp.atlassian.net

7.2Environnements

Environnements Disponibles

Environnement URL Usage Maintenance
Développement dev.api.rewapp.fr Développement et tests Libre
Staging staging.api.rewapp.fr Validation pré-production Mardi-Jeudi
Production api.rewapp.fr Environnement live Fenêtres planifiées uniquement
8

INDICATEURS DE PERFORMANCE (KPIs)

8.1KPIs de Disponibilité

Indicateurs de Disponibilité

Indicateur Objectif Mesure Fréquence
Uptime global 99.9% (Temps disponible / Temps total) × 100 Mensuel
MTBF > 720h Temps moyen entre incidents Mensuel
Incidents P1-P2 < 2 / mois Nombre d'incidents critiques Mensuel

8.2KPIs de Performance

Indicateurs de Performance

Indicateur Objectif Mesure Fréquence
MTTR < 30 min (P1) Temps moyen de résolution Par incident
MTTD < 2 min Temps détection automatique Hebdomadaire
Latence API P95 < 200ms Percentile 95 des temps de réponse Continue

8.3KPIs de Qualité

Indicateurs de Qualité

Indicateur Objectif Mesure Fréquence
Taux de succès déploiements > 95% Déploiements réussis / Total Mensuel
Taux de rollback < 5% Rollbacks / Total déploiements Mensuel
Dette technique Stable ou décroissante Score SonarQube Trimestriel
Tests de régression 100% Tests réussis avant déploiement Par déploiement
9

GESTION DES RISQUES

9.1Risques Identifiés

Matrice des Risques

Risque Probabilité Impact Mitigation
Indisponibilité majeure non planifiée Faible Critique Monitoring 24/7, plan DR testé trimestriellement
Perte de données Très faible Critique Backups Multi-AZ, tests restauration mensuels
Faille de sécurité exploitée Faible Critique Scans réguliers, patches rapides, WAF
Dégradation performance progressive Moyenne Majeur Monitoring proactif, alertes sur tendances
Échec de déploiement Moyenne Modéré Tests automatisés, rollback automatique
Indisponibilité fournisseur tiers Faible Majeur Circuit breakers, fallback strategies

9.2Plan de Continuité

En cas d'incident majeur, le plan de continuité prévoit :

RTO Recovery Time Objective : 4 heures
RPO Recovery Point Objective : 1 heure
  • Backups horaires assurant un RPO d'1 heure
  • Procédure de basculement DR documentée dans le document 10.4
  • Tests de basculement trimestriels
10

DOCUMENTATION ET REPORTING

10.1Documentation Obligatoire

Chaque intervention de maintenance doit être documentée :

  • Pré-intervention : Ticket Jira avec description et plan
  • Post-intervention : Mise à jour du ticket avec actions réalisées
  • Incidents : Post-mortem obligatoire pour P1-P2 sous 48h

10.2Reporting

Rapports de Maintenance

Rapport Fréquence Destinataires Contenu
Rapport hebdomadaire Ops Lundi Tech Lead, CTO Incidents, maintenances, métriques clés
Rapport mensuel maintenance 1er du mois Management KPIs, incidents, actions préventives, tendances
Rapport trimestriel Fin de trimestre Direction Synthèse, évolutions, budget, roadmap
Post-mortem incidents P1-P2 Sous 48h Équipes concernées Cause racine, timeline, actions correctives
11

CONCLUSION

11.1Récapitulatif

Le plan de maintenance REWAPP définit une approche structurée pour garantir :

  • Disponibilité 99.9% grâce à une maintenance préventive rigoureuse
  • Réactivité optimale avec des procédures de maintenance corrective éprouvées
  • Évolutivité maîtrisée par un processus de déploiement robuste
  • Sécurité renforcée via des audits et mises à jour régulières

11.2Points Clés à Retenir

POINTS ESSENTIELS
  • Maintenance préventive quotidienne, hebdomadaire et mensuelle planifiée
  • Fenêtres de maintenance le dimanche 03:00-06:00 (heure Paris)
  • Périodes de gel pendant les pics d'activité commerciale
  • Astreinte 24/7 avec rotation hebdomadaire de l'équipe Ops
  • MTTR cible < 30 minutes pour les incidents P1
  • Documentation et communication obligatoires pour toute intervention

11.3Révision du Document

Ce document doit être révisé :

  • Trimestriellement pour mise à jour des procédures
  • Après chaque incident majeur (P1) pour intégration des leçons apprises
  • Lors de tout changement significatif d'infrastructure