Aller au contenu
My Amana · Reporting boardÉdition du 19 septembre 2026

Board · Direction & équipe métier

Board — direction et équipe métier

L’application est complète côté mobile. Ce qui reste est de la validation, suspendue à 17 points bloquants côté backend et 7 prérequis côté client.

L'application est fonctionnellement complète côté mobile. Chacun des 48 workflows consomme l'API réelle, les quatre produits du catalogue (Voyage, Scolaire, Accident, Santé) se vendent de bout en bout avec un paiement par carte réellement encaissé, et une campagne de recette automatisée a filmé les 17 parcours. Ce qui reste n'est pas du développement : c'est de la validation, et elle dépend de corrections côté backend et de prérequis côté client.

Flux de données de l'application branchés sur l'API réelle

82 sur 82

Plus aucun écran sur données simulées

Workflows intégrés / hybrides / locaux

35 / 10 / 3

(sur 48)

Produits vendables de bout en bout (devis serveur, contrat créé, paiement encaissé)

4 sur 4

Voyage, Scolaire, Accident, Santé

Tickets bloquants pour la mise en production

17

(13 backend ouverts, 2 contournés, 2 en arbitrage) + 7 prérequis client + 2 correctifs applicatifs

Section 1.1 : État d’avancement global

Progression générale, phases du planning, jalons atteints et à venir, et les points qui attendent une décision.

Progression générale du projet

Flux de données de l'application branchés sur l'API réellePlus aucun écran sur données simulées
82 sur 82
Workflows intégrés / hybrides / locaux8 hybrides pour une raison backend ou une décision produit, 2 pour un défaut applicatif (inscription, mot de passe oublié) trouvé lors de la recette OTP
35 / 10 / 3(sur 48)
Workflows validables sans action externe9 bloqués par un ticket backend, 1 en attente d'une décision produit, 2 à corriger côté application
36 sur 48
Produits vendables de bout en bout (devis serveur, contrat créé, paiement encaissé)Voyage, Scolaire, Accident, Santé
4 sur 4
Chemins de la spécification réellement consommésLe reste est hors périmètre mobile ou inopérant côté serveur
62 sur 94
Contrôle automatisé du contrat d'APIUne seule dérive, sur un endpoint non branché
0 rupturesur un endpoint consommé
Parcours de recette E2E joués et filmés11 vont au bout (dont l'inscription et le mot de passe oublié, rejoués et filmés code OTP compris avec une boîte jetable), 6 s'arrêtent sur un mur backend
17 sur 17
Tests automatisés au vertTypage strict et lint sans erreur
351
Demandes backend consignées dans l'outil de ticketing39 ouvertes (dont 11 bloquantes), 16 contournées côté application ; un ticket par demande, rattaché à son workflow
55du registre + 16 constats d'audit (A9 à A24)
Tickets bloquants pour la mise en productionListe tenue à part en section 3.0
17(13 backend ouverts, 2 contournés, 2 en arbitrage) + 7 prérequis client + 2 correctifs applicatifs

Progression par phase du planning

Les six phases du planning client. La porte de qualité de la phase 3 n’a pas été franchie ; tout le report vient de là.

  1. 1 · Setup projet

    100 %

    Initialisation, environnement de dev

  2. 2 · Intégration statique

    100 %

    Design system, écrans FR et AR des 5 sprints, livraisons d'APK statiques

    Livrée conformément au plan, seule phase entièrement sous contrôle du prestataire

  3. 3 · Tests et validation API

    Porte de qualité non franchie

    Envoi des endpoints par Amana, tests et validation par SHIFTIN, par sprint

    Deux lots validés sur six ; Voyage et Compte portent la mention « 3 rounds – toujours pas validé » dans le planning client et n'ont jamais été validés depuis

  4. 4 · Intégration API

    Câblage terminé

    Branchement des écrans, gestion des erreurs, livraisons APK internes et client

    S1 clos hors corrections du débrief client ; S2 à S5 câblés et testés en réel, validation client suspendue aux tickets backend

  5. 5 · Q&A

    En cours

    Checklist, tests finaux, correction des anomalies résiduelles

    Campagne E2E exécutée ; passe sur appareil réel et rejeu des deux parcours OTP à faire

  6. 6 · Mise en ligne

    Non démarrée

    Builds release, fiches stores, publication

    Comptes Play Store et App Store non fournis

Jalons

Principaux jalons atteints

  • Intégralité des écrans statiques livrée pour les 5 sprints, FR et AR, débriefs client pris en charge.
  • Quatre produits vendables : devis tarifé par le serveur, contrat réellement créé, paiement par carte encaissé avec émission d'une police, sur les quatre tunnels.
  • Authentification réelle : inscription, connexion avec MFA et changement de mot de passe imposé, réinitialisation, empreinte digitale.
  • Plus aucun écran sur données simulées : les 14 derniers flux et 4 écrans de contenu ont été branchés lors d'une campagne où chaque endpoint d'écriture a été exercé en réel avant d'être codé.
  • Campagne de recette automatisée : 17 parcours Maestro écrits, exécutés contre la pré-production et filmés, avec un carton nommant le ticket backend pour chaque parcours qui s'arrête sur un mur.
  • Outil de ticketing livré avec les 55 demandes backend, chacune rattachée à son workflow, et dashboard de reporting en ligne exposant l'APK, les vidéos, les tickets et le planning.
  • Outillage de surveillance du contrat d'API (yarn api:probe, yarn api:contract) qui a permis de qualifier un incident de pré-production en trois minutes.

Jalons à venir · datés en 1.4

  1. Traitement par Amana des tickets de l'outil de ticketing (lots 1 et 2 en priorité).
  2. Reprise d'intégration par sprint dès livraison des correctifs, puis APK « ready for client testing » sprint par sprint.
  3. Rejeu des deux parcours OTP et passe de recette sur appareil réel (caméra, biométrie, paiement, rendu arabe).
  4. QA final sur l'application complète.
  5. Version iOS (suspendue au compte App Store).
  6. Déploiement sur les stores et lancement.

Points d’attention nécessitant une décision ou un arbitrage

Onze points. Les décisions A1 à A6 sont attendues en une seule séance, en ouverture des chantiers (calendrier en 1.4).

Points d’attention nécessitant une décision ou un arbitrage
#PointWorkflow(s)Pourquoi une décision est nécessaireDécideur
A1Authentification par téléphone P0-D#2(ticket dans l’outil de ticketing, nouvelle fenêtre)Authentification – InscriptionLe serveur ne vérifie que l'OTP e-mail : maintenir l'OTP téléphone (correctif backend) ou l'abandonner (retrait de l'étape à l'écran)Amana
A2Plafond de la prime Voyage Famille au 7ᵉ voyageur P1-D#23(ticket dans l’outil de ticketing, nouvelle fenêtre)Souscription VoyageAvec la règle « 2 adultes + 8 enfants », une famille de 10 paie le prix de 7 : trois voyageurs assurés sans contrepartie. Seul point ouvert à impact financier directAmana (métier)
A3Chat du service client P3.12#11(ticket dans l’outil de ticketing, nouvelle fenêtre)SinistresL'API rattache le fil au client, pas au sinistre : la même conversation s'affiche sous chaque dossier. Soit un paramètre de sinistre côté backend, soit un fil unique déplacé vers le menuProduit / Backend
A4Périmètre Santé Groupe P3.13#58(ticket dans l’outil de ticketing, nouvelle fenêtre)Santé Groupe – Contrat santéLe backend n'expose aucun type de contrat Groupe pour la Santé : confirmer le hors-périmètre de la souscription ou ouvrir un lot backendAmana
A5Renouvellements et avenants Santé P1-H#28(ticket dans l’outil de ticketing, nouvelle fenêtre), P1-I#29(ticket dans l’outil de ticketing, nouvelle fenêtre)Santé Individuelle / Famille – Contrat santéLes écrans existent, les endpoints refusent tout payload : exclure de la version 1 ou planifier un lotAmana
A6Écran de liste des notificationsMenu – NotificationsLe compteur est réel ; l'écran de liste n'a jamais été conçuProduit
A7Prérequis client pour la mise en ligneTransverseComptes Google Play et App Store, URL de l'API de production, instance Satim marchande au nom d'Amana (la page de test affiche encore un marchand tiers)Amana
A8Prérequis client pour la recetteTransverseCartes Dahabia de test (jamais transmises), accès à une boîte mail de test ou OTP fixe en pré-production. Le compte de test jetable est fourni (khaddoucheTest@amana.dz) : des contrats réels y ont été créés et payésAmana
A11Validation du livrable transmisTransverseLe livrable précédent n'a pas été validé par Amana ; la validation demandée porte sur l'APK de référence (section 1.4), qui le remplace et clôt les sprints 1 et 2 hors points réservésAmana
A9(urgent)Reconduction de session cassée (constat d'audit, ticket à créer)Authentification – Connexion, Authentification par empreinte digitalePOST /auth/refresh répond 500 avec un jeton valide : tout utilisateur est déconnecté au bout de 30 minutes, et la connexion par empreinte n'opère que dans cette fenêtre. Correction serveur indispensable avant productionBackend
A10(urgent)Inscription et mot de passe oublié inopérants pour un vrai utilisateurAuthentification – Inscription, Réinitialisation du mot de passeRejoués avec la boîte mail de test : l'application envoie l'OTP avant que le compte existe (404) et appelle le mauvais endpoint pour le mot de passe oublié (401). Correctif applicatif livré le jour même (ordre des appels, endpoint, jeton), inclus dans l'APK de référence. Côté backend, le code MFA de connexion n'arrive pas par e-mail et l'OTP est réutilisable jusqu'à expirationBackend

Section 1.2 : Par sprint et par workflow

Chaque sprint, puis chaque workflow avec ce qui empêche sa validation, le ticket associé, l’impact, le responsable et le plan de résolution.

Progression de chaque sprint

  1. Sprint 1 · 21 workflows

    Authentification, Accueil, Dashboard, Compte, Menu

    14/21 intégrés
    Bloqués par un ticket ·
    1 (Documents utiles) + 1 décision produit (Notifications) + 2 défauts applicatifs (Inscription, Réinitialisation)
    Validation client ·
    Livré et testé par le client ; inscription et mot de passe oublié à corriger côté application avant le premier APK
  2. Sprint 2 · 7 workflows

    Souscription, Paiement

    5/7 intégrés
    Bloqués par un ticket ·
    4 (les quatre moyens de paiement)
    Validation client ·
    Paiement carte encaissé sur les 4 produits ; retour dans l'application et confirmation à corriger côté passerelle
  3. Sprint 3 · 5 workflows

    Contrats, Sinistres

    4/5 intégrés
    Bloqués par un ticket ·
    1 (Sinistres)
    Validation client ·
    Contrats validables ; la déclaration de sinistre n'est jamais déposée (référentiel non exposé)
  4. Sprint 4 · 6 workflows

    Remboursements, Santé Individuelle

    5/6 intégrés
    Bloqués par un ticket ·
    1 (Compléter profil santé)
    Validation client ·
    Souscription et remboursement validés en réel, pièces jointes comprises
  5. Sprint 5 · 9 workflows

    Santé Famille, Santé Groupe

    7/9 intégrés
    Bloqués par un ticket ·
    2 (Compléter profil santé Famille et Groupe)
    Validation client ·
    Même chaîne que l'individuel ; périmètre Santé Groupe à confirmer
IntégréHybrideLocal
Avancement par sprint (valeurs)
SprintWorkflowsIntégrésHybridesLocaux
Sprint 1211443
Sprint 27520
Sprint 35410
Sprint 46510
Sprint 59720

État de chaque workflow

Colonnes : État (🟢 intégré, 🟡 hybride, ⚪ local) · Blocage (ce qui empêche la validation) · Ticket · Impact · Responsable · Plan de résolution. Les lots renvoient à l'ordre de résorption de la section 1.4.

Les 48 workflows, par groupeun carré = un workflow · la hachure marque un blocage backend · cliquer un groupe filtre le tableau
48 workflows
État de chaque workflow, blocage, ticket, impact, responsable et plan de résolution
WorkflowÉtatBlocage · impact · plan de résolutionTicketResponsable
Authentification · S1
Authentification – InscriptionHybride

L'application envoie l'OTP e-mail avant de créer le compte : le serveur répond 404 pour toute adresse nouvelle, le parcours s'arrête à l'étape 1 (défaut applicatif). Côté serveur : aucun OTP possible avant POST /users, OTP par téléphone en 404, OTP téléphone jamais vérifié, politique de mot de passe non appliquée à la création (acceptée par POST /users, refusée en 419 à la connexion). Le diagramme de séquence de l'équipe backend ne prévoit aucune vérification d'e-mail à l'inscription : l'ordre officiel est à trancher

Impact · Aucun nouvel utilisateur ne pouvait s'inscrire ; corrigé côté application (création du compte, puis OTP e-mail), flow Maestro instrumenté

Plan · Décision sur l'ordre officiel du parcours ; A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre) pour la première connexion

Lot 5 (application, corrigé)A17#64(ticket dans l’outil de ticketing, nouvelle fenêtre)A18#65(ticket dans l’outil de ticketing, nouvelle fenêtre)A23#69(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-D#2(ticket dans l’outil de ticketing, nouvelle fenêtre)Amana (décision A1) et Backend
Authentification – ConnexionIntégré

Reconduction de session cassée (/auth/refresh → 500) ; codes 419/420 non déclarés

Impact · Déconnexion forcée après 30 minutes

Plan · Lot 1 : correctif serveur, aucun contournement propre possible côté mobile

Ticket à créerA9#1(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.2#30(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Authentification – Réinitialisation du mot de passeHybride

L'application appelle POST /auth/mfa/send (réservé au défi de connexion) au lieu de POST /auth/otp, et ne transmet pas le jeton de validation à PATCH /auth/password (défaut applicatif) ; la chaîne serveur /auth/otp → /auth/otp/validate → PATCH /auth/password fonctionne, vérifiée avec la boîte mail. Côté serveur : OTP réutilisable jusqu'à expiration, renvoi impossible pendant 15 min, code MFA de connexion non délivré par e-mail après réinitialisation. /auth/password-policy répond désormais : la checklist de mot de passe s'appuie dessus (P3.7 résolu)

Impact · Aucun utilisateur ne pouvait récupérer son mot de passe ; corrigé côté application (/auth/otp, jeton conservé), flow Maestro instrumenté

Plan · A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre) et A19#66(ticket dans l’outil de ticketing, nouvelle fenêtre)

Lot 5 (application, corrigé)A19#66(ticket dans l’outil de ticketing, nouvelle fenêtre)A20#67(ticket dans l’outil de ticketing, nouvelle fenêtre)A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Authentification par empreinte digitaleLocal

Dépend de la reconduction de session A9#1(ticket dans l’outil de ticketing, nouvelle fenêtre)

Impact · Ne fonctionne que dans la demi-heure suivant une connexion par mot de passe

Plan · Résolu avec A9#1(ticket dans l’outil de ticketing, nouvelle fenêtre)

—Backend
Comptes migrés. Les deux branches « ancien compte » du parcours de connexion (liaison d'un second compte, ancien compte Assurance seul) sont construites, traduites et testées, mais inaccessibles : le backend n'a pas encore indiqué le signal qui doit les déclencher ni le contrat réel de POST /auth/attach (9 questions transmises). L'attente porte sur une réponse, pas sur du développement.
Accueil · S1
AccueilIntégré

Aucun ; le badge de notifications est compté côté application faute d'endpoint dédié

Impact · Compteur plafonné par la taille de page

Plan · Lot 6

P3.2#43(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Navigation (Barre de navigation inférieure)Local

Aucun

——
Dashboard · S1
Dashboard – Liste des contratsIntégré

Aucun ; ordre de tri et politique d'exclusion non confirmés

Impact · Le « dernier contrat » n'est pas identifiable de façon fiable

Plan · Lot 6

P3.15#46(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Dashboard – Liste des sinistresIntégré

Aucun

——
Dashboard – Liste des remboursementsIntégré

Aucun

——
Compte · S1
Compte – Profil utilisateurIntégré

Aucun ; DTO de /auth/me non conforme, contourné

Plan · Lot 6

P2.1#31(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Compte – Profil santéIntégré

Contrat réel de PUT /members non documenté (contourné) ; règle des 100 % sur la répartition des capitaux non documentée et compte de test incohérent ; énumérations fermées non publiées (« frère/sœur » et « autre » sans valeur possible)

Impact · Lecture et écriture fonctionnent ; deux relations familiales sont repliées sur « Ascendant »

Plan · Lot 2 P1-F#26(ticket dans l’outil de ticketing, nouvelle fenêtre), P1-G#27(ticket dans l’outil de ticketing, nouvelle fenêtre), Lot 4 P0-F#18(ticket dans l’outil de ticketing, nouvelle fenêtre)

P0-F#18(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-F#26(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-G#27(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.13#32(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.19#47(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Compte – ParamètresLocal

Aucun endpoint de préférences exposé : préférences stockées sur l'appareil

——
Menu · S1
Menu – ContratsIntégré

Aucun

——
Menu – ProduitsIntégré

Aucun ; garanties renvoyées par formule là où le modèle attend une valeur

Impact · Fiche produit en secours seulement

Plan · Lot 6

P3.6#48(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Menu – ActualitésIntégré

Aucun

——
Menu – Docteur chez moi / Allo DocteurIntégré

Aucun

——
Menu – RéseauIntégré

Aucun

——
Menu – SOSIntégré

Contenu servi en français quelle que soit la langue demandée

Impact · Expérience arabe incomplète

Plan · Lot 6

P3.16#49(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Menu – ContactIntégré

Aucun ; pièces jointes plafonnées à 1 Mo par la passerelle

Impact · Une photo de téléphone ne passe pas

Plan · Lot 2

P0-I#12(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Menu – Documents utilesHybride

🔴 L'API renvoie un chemin de fichier serveur, pas une URL ; et répond 500 pour tout souscripteur non adhérent santé

Impact · Aucun document n'est ouvrable ; écran mort pour la majorité des clients réels, sur un catalogue réglementaire

Plan · Lot 2

P0-H#4(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-L#3(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Menu – NotificationsHybride

Écran de liste jamais conçu (décision produit A6)

Impact · Compteur réel, liste absente

Plan · Lot 3

P3.2#43(ticket dans l’outil de ticketing, nouvelle fenêtre)Produit
Souscription · S2
Souscription VoyageIntégré

Individuelle, Famille et Groupe vérifiées sur contrats réels et payées. Réserves : l'API répond « succès » sur un échec (contourné par relecture), création en trois appels non atomiques, champs obligatoires ignorés (prix faux en 200), plafond Famille au 7ᵉ voyageur (décision A2), primes négatives possibles sur le type Groupe, compte sans enregistrement souscripteur non signalé

Impact · Vendable ; un aller-retour réseau supplémentaire par vente

Plan · Lot 1 P1-D#23(ticket dans l’outil de ticketing, nouvelle fenêtre), Lot 4 (P1-A#20(ticket dans l’outil de ticketing, nouvelle fenêtre)/B/C/E)

P1-A#20(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-B#21(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-C#22(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-D#23(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-E#24(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-J#25(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.11#34(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.3#50(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.14#51(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend, Amana (A2)
Souscription AccidentIntégré

Individuel vérifié et payé ; la création en groupe répond encore 409 côté backend

Impact · Le tunnel Accident groupe n'est pas validable

Plan · Lot 2

(suivi dans le fil Teams, à ticketer)Backend
Souscription ScolaireIntégré

Aucun ; individuel et groupe vérifiés

——
Paiement · S2
Paiement CIBIntégré

🔴 Paiement réel encaissé sur les 4 produits, mais la passerelle redirige vers le site vitrine au lieu de l'application après le 3-D Secure, et l'endpoint de confirmation nie le paiement qu'il vient d'encaisser (contourné : l'application relit le contrat, d'où jusqu'à 90 s avant l'écran de succès)

Impact · Dernier obstacle entre un paiement qui marche et un paiement présentable

Plan · Lot 1

P0-M#5(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-N#6(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend / Satim
Paiement DahabiaIntégré

Page de paiement réelle atteinte ; les cartes Dahabia de test n'ont jamais été transmises

Impact · Aucun règlement Dahabia n'a pu être exécuté

Plan · Prérequis A8

(prérequis client)CL-DAHABIAAmana
Paiement Points vertsHybride

🔴 L'endpoint de paiement répond 500 sur toute quittance, et c'est un GET qui exécute un débit

Impact · Cas nominal jamais exécutable

Plan · Lot 1

P0-B#7(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Paiement À la livraisonHybride

🔴 L'endpoint de confirmation décrit par l'équipe backend n'existe pas dans la spécification

Impact · L'application ne peut pas constater l'encaissement d'un contrat payé à la livraison

Plan · Lot 1

P0-C#8(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Contrats · S3
Contrats – Assurance VoyageIntégré

Trois données manquent au détail (personnes assurées, libellé du moyen de paiement, valeur par garantie) ; documents de contrat en 404 ; numéro de police absent de la liste ; justificatif de résiliation exigé en base64 (la demande part sans pièces) ; motifs de résiliation non publiés

Impact · Validable en lecture ; résiliation incomplète

Plan · Lot 2 P3.17#54(ticket dans l’outil de ticketing, nouvelle fenêtre), Lot 6

P3.5#53(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.4#52(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.5#35(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.17#54(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.18#55(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Contrats – Assurance AccidentIntégré

Idem

Impact · Idem

Plan · Idem

P3.4#52(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.5#53(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.5#35(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.17#54(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Contrats – Assurance ScolaireIntégré

Idem

Impact · Idem

Plan · Idem

P3.4#52(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.5#53(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.5#35(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.17#54(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Carte Flash AmanaIntégré

Aucun ; le statut renvoyé est un texte libre, tout code inconnu est traité comme un refus

Plan · Lot 4

P2.8#36(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Sinistres · S3
SinistresHybride

🔴 La déclaration n'est jamais déposée : POST /claims exige un référentiel « produit » qu'aucun endpoint mobile n'expose (l'écran affichait un succès sans rien envoyer). Le chat est rattaché au client, pas au sinistre (décision A3)

Impact · Le point le plus trompeur du périmètre : l'assuré croit avoir déclaré

Plan · Lot 2 P0-K#10(ticket dans l’outil de ticketing, nouvelle fenêtre), Lot 3 P3.12#11(ticket dans l’outil de ticketing, nouvelle fenêtre)

P0-K#10(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.12#11(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend, Produit (A3)
Remboursements · S4
RemboursementsIntégré

Déclaration vérifiée de bout en bout, pièces comprises. Pièces plafonnées à 1 Mo par la passerelle (une photo de justificatif pèse 3 à 5 Mo) ; le champ de l'acte a été renommé côté serveur sans préavis (contourné) ; catalogue d'actes sans catégorie ni illustration ; documents d'un remboursement en régression 404

Impact · Le cas nominal (photo de téléphone) ne passe pas tant que la limite n'est pas relevée

Plan · Lot 2 P0-I#12(ticket dans l’outil de ticketing, nouvelle fenêtre), Lot 4 P0-G#19(ticket dans l’outil de ticketing, nouvelle fenêtre), Lot 6

P0-I#12(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-G#19(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.6#37(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.1#56(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.11#57(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Santé Individuelle · S4
Santé Individuelle – SouscriptionIntégré

Aucun ; devis, contrat et paiement vérifiés en réel. Aucun code promotionnel valide en base pour tester le coupon

Plan · Lot 6

P3.3#50(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Santé Individuelle – Compléter Profil santéHybride

🔴 Identité, questionnaire et bénéficiaires sont soumis en réel ; le dépôt des pièces (endpoint qui refuse tout sans nommer de champ), les personnes à charge (500 nu) et le bulletin d'adhésion (500 puis absence de réponse) ne répondent pas. Le drapeau declare de la validation n'est pas lu

Impact · Deux étapes sur cinq opérationnelles ; le profil n'est pas activé tant que le bulletin signé ne revient pas

Plan · Lot 2

P0-J#13(ticket dans l’outil de ticketing, nouvelle fenêtre)§31#14(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.10#15(ticket dans l’outil de ticketing, nouvelle fenêtre)P2.12#38(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Santé Individuelle – Profil santéIntégré

Aucun

——
Santé Individuelle – Espace santéIntégré

Aucun (écran composite sur cinq endpoints)

——
Santé Individuelle – Contrat santéIntégré

Lecture réelle ; le devis de renouvellement refuse tout payload (409 opaque) et l'adjonction plante sur son propre DTO d'erreur (500)

Impact · Renouvellement et avenants non tarifiables (décision A5)

Plan · Lot 3

P1-H#28(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-I#29(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend, Amana (A5)
Santé Famille · S5
Santé Famille – SouscriptionIntégré

Aucun ; vérifiée en réel (type de contrat Famille)

——
Santé Famille – Compléter Profil santéHybride

Même chaîne que l'individuel : pièces, personnes à charge et bulletin indisponibles côté serveur

Impact · Idem

Plan · Lot 2

P0-J#13(ticket dans l’outil de ticketing, nouvelle fenêtre)§31#14(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.10#15(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Santé Famille – Profil santéIntégré

Aucun

——
Santé Famille – Espace santéIntégré

Aucun

——
Santé Famille – Contrat santéIntégré

Renouvellement et adjonction non tarifiables

Impact · Idem individuel

Plan · Lot 3

P1-H#28(ticket dans l’outil de ticketing, nouvelle fenêtre)P1-I#29(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend, Amana (A5)
Santé Groupe · S5
Santé Groupe – Compléter Profil santéHybride

Même chaîne que l'individuel ; la date d'entrée en service, obligatoire pour un adhérent groupe, est désormais collectée

Impact · Idem

Plan · Lot 2

P0-J#13(ticket dans l’outil de ticketing, nouvelle fenêtre)§31#14(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.10#15(ticket dans l’outil de ticketing, nouvelle fenêtre)Backend
Santé Groupe – Profil santéIntégré

Aucun

——
Santé Groupe – Espace santéIntégré

Aucun

——
Santé Groupe – Contrat santéIntégré

Le backend n'expose aucun type de contrat Groupe pour la Santé (décision A4)

Impact · Le référentiel de workflows ne prévoit pas d'entrée « souscription » pour ce segment

Plan · Lot 3

P3.13#58(ticket dans l’outil de ticketing, nouvelle fenêtre)Amana

Section 1.3 : Qualité & tests QA

L’état des tests par type, les cas testés, validés et en échec, les anomalies critiques et leur statut, et les points de vigilance.

État des tests QA

État des tests QA par type
Type de testCe qui a été faitRésultatReste à faire
Revue de code et qualitéBranche de câblage final relue et fusionnée ; revue de sécurité (jeton statique et mot de passe OTP partagé retirés du bundle applicatif) ; en-tête rendu hors de la branche d'erreur sur 53 écrans ; trois défauts d'accessibilité corrigésTypage strict : 0 erreur · Lint : 0 erreur · 351 tests automatisés au vert (66 construits sur des charges utiles capturées en live)Revue systématique des conteneurs tapables qui masquent leur contenu aux technologies d'assistance ; installer le module natif du bouton « coller » du code OTP au prochain build
Tests d'intégration APIContrôle automatisé du contrat sur les 54 endpoints de lecture ; 9 endpoints d'écriture sur 11 exercés en conditions réelles (résiliation et retrait d'ayant droit exclus) ; harnais de capture des 31 mutations avec les payloads réels de l'applicationContrat intact sur tout endpoint consommé ; 1 dérive sur un endpoint non branché ; 5 contrats mal documentés découverts et absorbésRejouer le retrait d'ayant droit et la résiliation sur le compte jetable khaddoucheTest (la suppression de bénéficiaire a été vérifiée en réel : bénéficiaire créé puis supprimé) ; brancher le dépôt des pièces santé et la déclaration de sinistre dès correction backend
Tests fonctionnels E2E (Maestro)17 parcours écrits et exécutés sur simulateur iPhone contre la pré-production ; 17 vidéos produites, chacune nommant le ticket du mur rencontré. Parcours 02 et 03 rejoués au niveau API avec la boîte mail de test (demo@shiftin-demo.com), sur un compte de recette créé pour l'occasion, avec les payloads exacts de l'application17 parcours joués : 11 au bout, 6 arrêtés sur un mur backend. Les parcours 02 et 03 ont d'abord révélé deux défauts applicatifs (inscription : OTP envoyé avant création du compte ; mot de passe oublié : mauvais endpoint et jeton non conservé), corrigés puis réenregistrés de bout en bout, code OTP lu automatiquement dans une boîte jetable ; les 4 tunnels règlent un vrai paiement jusqu'à l'écran de succèsPasse sur appareil réel
Tests responsive / UI / accessibilitéRendu vérifié sur simulateur iOS, RTL arabe compris ; l'automatisation lit l'arbre d'accessibilité3 écrans invisibles pour VoiceOver corrigés (feuilles de sélection, sélecteur de wilaya, menu « + »)Rendu arabe et performance sur appareil réel Android ; contenu éditorial en arabe (dépend du backend, P3.16#49(ticket dans l’outil de ticketing, nouvelle fenêtre))

Nombre de cas testés, validés, en échec

Nombre de cas testés, validés, en échec
PérimètreTestésValidésEn échec ou bloquésNote
Parcours E2E Maestro17116 murs backendChaque mur est un ticket nommé ; les deux parcours OTP passent depuis la correction applicative
Tunnels de souscription avec paiement réel440Voyage, Scolaire, Accident (individuel), Santé
Endpoints de lecture (relevé automatisé)5444 valides10 en 404 / 500Les 404 sur endpoints paramétrés sont des artefacts de sondage, identiques au relevé de référence
Endpoints d'écriture exercés en réel1192 non exécutés (retrait d'ayant droit, résiliation)Compte jetable fourni (khaddoucheTest) : rejeu planifié
Chaîne OTP (création de compte, OTP e-mail, validation, réinitialisation, défi MFA)18 appels15 conformes à l'attendu3 défauts bloquants (OTP impossible avant création, MFA non délivré par e-mail, OTP réutilisable)Rejouée avec la boîte mail de test sur un compte de recette
Tests unitaires et d'intégration automatisés3513510—
Workflows validables sans dépendance externe4838109 tickets backend, 1 décision produit

Résultats de la campagne E2E par workflow

Dix-sept parcours Maestro joués contre la pré-production et filmés ; chaque mur backend est nommé par son ticket.

12 parcours sur 17 vont au bout ; 5 s’arrêtent sur un mur backend, filmé et nommé.

Résultats de la campagne E2E par parcours
ParcoursWorkflows couvertsSprintVerdictMur rencontré (ticket)Vidéo
01 · ConnexionAuthentification – Connexion, Authentification par empreinte digitaleS1Va au bout

Au bout

—
02 · Onboarding + inscriptionAuthentification – InscriptionS1Va au bout

Au bout (compte créé, code OTP lu et saisi, écran de succès)

Défaut applicatif corrigé (l'OTP partait avant la création du compte). Côté serveur : OTP par téléphone impossible , OTP téléphone non vérifié , politique de mot de passe non appliquée à la créationA23#69(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-D#2(ticket dans l’outil de ticketing, nouvelle fenêtre)A18#65(ticket dans l’outil de ticketing, nouvelle fenêtre)
03 · Mot de passe oubliéAuthentification – Réinitialisation du mot de passeS1Va au bout

Au bout (code lu et saisi, mot de passe réinitialisé, écran de succès)

Défauts applicatifs corrigés (endpoint, jeton, bouton « Continuer » sous le clavier). Côté serveur : OTP réutilisable , MFA non délivré par e-mail après réinitialisationA19#66(ticket dans l’outil de ticketing, nouvelle fenêtre)A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre)
04 · Accueil + navigationAccueil, Navigation, Menu – NotificationsS1Va au bout

Au bout

—
05 · DashboardDashboard – Contrats / Sinistres / RemboursementsS1Va au bout

Au bout

—
06 · Compte + profil + paramètresCompte – Profil utilisateur / Profil santé / ParamètresS1Va au bout

Au bout

—
07 · Menu — contenuMenu – Produits / Actualités / Allo Docteur / RéseauS1Va au bout

Au bout

—
08 · Menu — SOS, contact, documentsMenu – SOS / Contact / Documents utilesS1Mur backend filmé

Mur backend

Aucun document téléchargeable, 500 hors adhérent santéP0-H#4(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-L#3(ticket dans l’outil de ticketing, nouvelle fenêtre)
09 · Souscription Voyage + paiementSouscription Voyage, Paiement CIB / Dahabia / Points verts / À la livraisonS2Va au bout

Au bout (paiement encaissé)

La passerelle ramène sur le site vitrineP0-M#5(ticket dans l’outil de ticketing, nouvelle fenêtre)
10 · Souscription Scolaire + paiementSouscription Scolaire, Paiement CIBS2Va au bout

Au bout (paiement encaissé)

—
11 · Souscription Accident + paiementSouscription Accident, Paiement CIBS2Va au bout

Au bout (individuel)

Création en groupe en 409 côté backend
12 · Souscription Santé + paiementSanté Individuelle / Famille – SouscriptionS4 / S5Va au bout

Au bout (paiement encaissé)

Écran de succès après relecture du contratP0-N#6(ticket dans l’outil de ticketing, nouvelle fenêtre)
13 · Contrats, carte Flash, résiliationMenu – Contrats, Contrats – Voyage / Accident / Scolaire, Carte Flash Amana, Contrat santé (3 segments)S3 / S4 / S5Mur backend filmé

Mur backend

Résiliation sans pièces jointesP3.17#54(ticket dans l’outil de ticketing, nouvelle fenêtre)
14 · Déclaration de remboursementRemboursementsS4Va au bout

Au bout (pièces comprises)

Limite de 1 Mo par fichierP0-I#12(ticket dans l’outil de ticketing, nouvelle fenêtre)
15 · Déclaration de sinistreSinistresS3Mur backend filmé

Mur backend

Rien n'est déposé , filmé comme preuveP0-K#10(ticket dans l’outil de ticketing, nouvelle fenêtre)
16 · Espace santé + profil santé + assistantEspace santé, Profil santé, Compléter profil santé (3 segments)S4 / S5Mur backend filmé

Mur backend

Personnes à charge , pièces , bulletin§31#14(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-J#13(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.10#15(ticket dans l’outil de ticketing, nouvelle fenêtre)
17 · Chat service clientSinistresS3Mur backend filmé

Mur backend

Fil unique par clientP3.12#11(ticket dans l’outil de ticketing, nouvelle fenêtre)

Anomalies critiques et leur statut

Anomalies critiques côté backend, visibles en recette — ouvertes.

Anomalies critiques côté backend, visibles en recette — ouvertes.
SévéritéAnomalieWorkflow(s)TicketStatut
BloquantSession détruite au bout de 30 minutes (/auth/refresh → 500)Authentification – Connexion, Empreinte digitaleÀ créerA9#1(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert, aucun contournement propre
BloquantLe code MFA de connexion n'est pas délivré par e-mail : /auth/mfa/send {channel: EMAIL} répond succès, aucun e-mail n'arrive ; un compte réinitialisé ne peut plus se connecterAuthentification – ConnexionÀ créerA22#16(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert
BloquantL'OTP e-mail est réutilisable jusqu'à expiration (validé trois fois avec le même code) ; un code vide expose une exception SQLAuthentification – Réinitialisation du mot de passeÀ créerA19#66(ticket dans l’outil de ticketing, nouvelle fenêtre)A21#68(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert
BloquantLa passerelle ne ramène pas dans l'application après le 3-D SecurePaiement CIBP0-M#5(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert
BloquantL'endpoint de confirmation nie un paiement encaisséPaiement CIBP0-N#6(ticket dans l’outil de ticketing, nouvelle fenêtre)Contourné (relecture du contrat, jusqu'à 90 s)
BloquantLa déclaration de sinistre n'est jamais déposéeSinistresP0-K#10(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert
BloquantDocuments utiles : 500 hors adhérent santé, aucune URL téléchargeableMenu – Documents utilesP0-L#3(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-H#4(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert
BloquantPièces jointes plafonnées à 1 MoRemboursements, Contact, Compléter profil santéP0-I#12(ticket dans l’outil de ticketing, nouvelle fenêtre)Contourné (compression, refus expliqué) ; cas nominal toujours en échec
BloquantDépôt des pièces du profil santé impossible (aucun champ nommé) ; personnes à charge en 500 ; bulletin d'adhésion en 500Compléter profil santé (3 segments)P0-J#13(ticket dans l’outil de ticketing, nouvelle fenêtre)§31#14(ticket dans l’outil de ticketing, nouvelle fenêtre)P3.10#15(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert
BloquantPaiement Points verts en 500 ; confirmation du paiement à la livraison inexistantePaiement Points verts, Paiement À la livraisonP0-B#7(ticket dans l’outil de ticketing, nouvelle fenêtre)P0-C#8(ticket dans l’outil de ticketing, nouvelle fenêtre)Ouvert
BloquantMessages d'erreur servis en ISO-8859-1 : les textes français arrivent illisiblesTous les écrans affichant un message serveurÀ créerOuvert

Points de vigilance liés à la qualité

  • La campagne n'a jamais tourné sur Android, ni sur un appareil physique. Caméra, biométrie, page de paiement en WebView et rendu arabe exigent la passe sur appareil réel prévue au plan de recette.
  • Les codes OTP sont désormais lus automatiquement en recette : un pont local relève une boîte IMAP ou une boîte jetable créée à la volée (la pré-production délivre bien vers ces domaines), et les flows Maestro 02 et 03 le consultent. La boîte amana@shiftin-demo.com transmise refuse l'authentification IMAP ; les comptes de recette créés aujourd'hui ne peuvent pas ouvrir de session tant que le code MFA n'est pas délivré par e-mail A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre).
  • Deux opérations destructrices n'ont jamais été exécutées en réel (retrait d'ayant droit, résiliation) : seul leur comportement d'erreur est vérifié. Le compte jetable existe (khaddoucheTest@amana.dz, déjà utilisé pour des paiements réels et la navigation) : il reste à y rejouer ces deux opérations avant la mise en production. La suppression de bénéficiaire, elle, a été vérifiée en réel.
  • Le compte de test de souscription n'a pas d'enregistrement souscripteur côté /auth/me P1-J#25(ticket dans l’outil de ticketing, nouvelle fenêtre) : les tunnels ont dû être rejoués sur le compte santé. En production, un client dans ce cas remplirait tout le tunnel pour un échec final.
  • Le paiement de test s'exécute sur une page marchande au nom d'un tiers ; une page nommant une autre société ne peut pas être livrée.
  • 50 écrans partagent encore le schéma « conteneur tapable qui masque son contenu » trouvé trois fois par hasard : une revue systématique est planifiée.
  • L'URL de l'API de production configurée dans l'application est encore factice, et la télémétrie n'est pas branchée : les dégradations seraient muettes en production.
  • Les données de recette restent en place sur les deux comptes de test (décision client), préfixées REC pour rester distinguables.

Section 1.4 : Timeline & prochaines étapes

La seule section du board à porter des dates : écarts par rapport au planning initial, livrables qui font foi, organisation par chantiers, calendrier et échéances.

Écarts par rapport au planning initial

Écarts par rapport au planning initial
Jalon « Mise en ligne »Planning V1Planning V2 (en vigueur contractuellement)Planning par chantiers (cible : 22/10/2026, butoir : 29/10/2026)
Publication Play Store / App Store31/08/2026 → 06/09/202622/09/2026 → 28/09/202614/10/2026 → 22/10/2026
Lancement06/09/202628/09/202622/10/2026 (butoir 29/10/2026)
Phase Q&A10/08 → 13/08/202601/09 → 21/09/2026Recette continue à partir du 24/09 ; QA final 11/10 → 13/10/2026
Écart cumulé—+ 22 jours calendaires+ 24 jours par rapport au V2, + 46 jours par rapport au V1
Le client a établi deux avenants à la suite des décalages successifs ; le livrable final du Planning V2 était attendu le 28/09/2026. Cette date ne peut pas être tenue : les points bloquants encore ouverts conditionnent la recette, pas le développement (tous les écrans consomment l'API réelle depuis le 16/09/2026).

Livrables : ce qui a été transmis, ce qui fait foi

Livrables transmis
LivrableStatutCe qu'il contient
APK transmis le 24/08/2026Reçu par Amana, non validé à ce jour ; remplacéSprints 1 et 2 sur API réelle, hors authentification
APK preview QA du 17/09/2026Construit, remplacé le 19/09Tous les écrans sur l'API réelle, authentification comprise, quatre tunnels payés en réel
APK preview QA du 19/09/2026Livrable de référence : c'est celui-ci que nous demandons à Amana de valider, en remplacement du 24/08Le contenu du 17/09, plus l'inscription et le mot de passe oublié corrigés (défauts trouvés le 19/09 en rejouant les parcours avec une boîte mail) et la checklist de mot de passe sur la politique serveur ; accompagné du dashboard, des 17 vidéos de recette (inscription et mot de passe oublié réenregistrées de bout en bout) et du registre des tickets
APK 1 du 24/09/2026 · APK 2 du 01/10/2026 · APK 3 du 08/10/2026 (release candidate)À livrer, chaque jeudiCorrectifs backend des chantiers 1 à 3 vérifiés en réel
La validation attendue sur l'APK du 19/09 clôt les sprints 1 et 2, à l'exception des points que le client a lui-même réservés (Dahabia, retour de paiement CIB, authentification par téléphone), traités dans les chantiers 1 et 2.

Pourquoi abandonner le découpage par sprint

Le Planning V2 enchaîne, pour chacun des cinq sprints, un cycle complet « intégration → APK interne → QA → APK client → tests client → corrections ». Ce découpage était pertinent pour l'intégration statique ; il ne l'est plus. Le travail restant n'est pas réparti par sprint, il est réparti par blocage : un correctif de passerelle de paiement débloque quatre tunnels de quatre sprints différents, un correctif de téléversement débloque le remboursement (S4), le contact (S1) et le profil santé (S5). Recycler cinq fois la même chaîne ferait attendre chaque correctif jusqu'au cycle de « son » sprint. Le planning ci-dessous organise donc la fin du projet par chantiers de blocage, en livraison continue, avec une seule porte de sortie : la liste des bloquants de mise en production (section 3.0) vide et vérifiée.

Le mode de fonctionnement proposé
PrincipeConcrètement
Trois chantiers en parallèle, un binôme backend + mobile par chantierChantier 1 « Vente et paiement » · Chantier 2 « Compte et session » · Chantier 3 « Dossiers, documents et santé » (contenu ci-dessous)
Chaque correctif backend est vérifié en réel dans les 24 h par l'équipe mobile, avec les payloads de l'application, et un test automatisé est écrit sur la réponse capturéePlus aucun endpoint codé d'après la documentation ; le ticket est fermé sur preuve, pas sur annonce
Un build de recette par jour, un APK client chaque jeudiLe client teste en continu sur le dernier APK au lieu d'attendre une fenêtre de deux jours ; retours consolidés chaque dimanche matin
Point quotidien de 15 minutes backend + mobile + PM sur la liste 3.0Un seul tableau, celui de l'outil de ticketing, filtré sur les bloquants
La release candidate est coupée le premier jeudi où la liste 3.0 est videCible : 08/10/2026. Butoir : 15/10/2026
Les décisions produit (A1 à A6) sont rendues en une seule séanceLe 22/09/2026, en ouverture du chantier

Les trois chantiers

  1. 1 · Vente et paiement (chemin critique)

    Les quatre tunnels payés de bout en bout, présentables, sur les quatre moyens de paiement

    Tickets · P0-M#5(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-N#6(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-B#7(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-C#8(ticket dans l’outil de ticketing, nouvelle fenêtre), A14#9(ticket dans l’outil de ticketing, nouvelle fenêtre) (Accident groupe), P1-D#23(ticket dans l’outil de ticketing, nouvelle fenêtre) (décision A2), cartes Dahabia (CP-08), instance Satim au nom d'Amana (CP-12)

    Côté backend

    returnUrl vers le lien profond, confirmPayment cohérent avec l'encaissement, Points verts en POST avec erreurs typées, confirmation livraison, 409 Accident groupe

    Côté mobile

    Retrait de la garde de relecture dès P0-N#6(ticket dans l’outil de ticketing, nouvelle fenêtre), rejeu automatisé des quatre tunnels à chaque correctif, règlement Dahabia dès réception des cartes

    Chantier 1
  2. 2 · Compte et session

    Créer un compte, se connecter, rester connecté, récupérer son mot de passe

    Tickets · A9#1(ticket dans l’outil de ticketing, nouvelle fenêtre) (/auth/refresh → 500), A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre) (code MFA non délivré par e-mail), P0-D#2(ticket dans l’outil de ticketing, nouvelle fenêtre) (décision A1), A17#64(ticket dans l’outil de ticketing, nouvelle fenêtre) à A21#68(ticket dans l’outil de ticketing, nouvelle fenêtre), A23#69(ticket dans l’outil de ticketing, nouvelle fenêtre) (chaîne OTP), A10#17(ticket dans l’outil de ticketing, nouvelle fenêtre) (UTF-8), Q1-Q9#71(ticket dans l’outil de ticketing, nouvelle fenêtre) (comptes migrés)

    Côté backend

    Réparer /auth/refresh, délivrer le code MFA, trancher l'ordre du parcours d'inscription, rendre l'OTP à usage unique, répondre aux 9 questions auth/attach

    Côté mobile

    Corriger l'inscription (créer le compte avant l'OTP) et le mot de passe oublié (/auth/otp puis jeton de validation vers PATCH /auth/password) — défauts applicatifs trouvés le 19/09 grâce à la boîte mail ; instrumenter ces écrans pour Maestro et réenregistrer les parcours 02 et 03

    Chantier 2
  3. 3 · Dossiers, documents et santé

    Déclarer un sinistre, joindre une photo, ouvrir un document utile, compléter un profil santé

    Tickets · P0-K#10(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-I#12(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-L#3(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-H#4(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-J#13(ticket dans l’outil de ticketing, nouvelle fenêtre), §31#14(ticket dans l’outil de ticketing, nouvelle fenêtre), P3.10#15(ticket dans l’outil de ticketing, nouvelle fenêtre), P3.12#11(ticket dans l’outil de ticketing, nouvelle fenêtre) (décision A3), P3.17#54(ticket dans l’outil de ticketing, nouvelle fenêtre)

    Côté backend

    Référentiel produit de /claims, plafond d'upload à 10 Mo avec 413, /documents servi à tous avec une URL, contrat de addPieceJointe, POST /ayantDroits, bulletin d'adhésion, paramètre de sinistre sur le chat, résiliation multipart

    Côté mobile

    Déposer réellement une déclaration de sinistre et les pièces santé dès livraison, résiliation avec pièces, rejeu du parcours 15 et 16

    Chantier 3
  4. Transverse, hors chemin critique

    Fiabiliser le contrat pour la suite (lot 4) et le confort (lot 6)

    Tickets · P0-F#18(ticket dans l’outil de ticketing, nouvelle fenêtre), P0-G#19(ticket dans l’outil de ticketing, nouvelle fenêtre), P1-A#20(ticket dans l’outil de ticketing, nouvelle fenêtre)/B/C/E, P2.x, P3.x restants

    Côté backend

    Documentation, required, enveloppes, énumérations

    Côté mobile

    Retrait des contournements au fil des correctifs

    Chantier 4

Calendrier

Jours ouvrés algériens (dimanche → jeudi) ; aucun jour férié sur la période.

Calendrier des chantiers, semaine par semaine
SemaineBackendMobileClientJalon du jeudi
20/09 → 24/09/2026Ouverture des trois chantiers ; correctifs du chantier 1 et de A9#1(ticket dans l’outil de ticketing, nouvelle fenêtre) / A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre) engagés en prioritéPremier build de recette quotidien ; retrait de la garde de relecture dès P0-N#6(ticket dans l’outil de ticketing, nouvelle fenêtre) ; rejeu automatisé des tunnels à chaque correctif reçuSéance de décisions A1 à A6 le 22/09 ; validation de l'APK du 19/09 ; cartes Dahabia ; comptes stores demandés
APK 1 · 24/09 : APK du 19/09 + premiers correctifs backend vérifiés
27/09 → 01/10/2026Livraison des correctifs des chantiers 1 et 2 ; démarrage du chantier 3Vérification live sous 24 h de chaque correctif ; passe sur appareil réel (caméra, biométrie, paiement, arabe, Android) du 28 au 30/09 ; rejeu de la résiliation et du retrait d'ayant droit sur khaddoucheTest le 01/10Tests continus sur l'APK 1, retours le dimanche 27/09
APK 2 · 01/10 : paiement présentable, session stable
04/10 → 08/10/2026Livraison des correctifs du chantier 3 ; reste transverseDéclaration de sinistre, pièces santé, documents utiles rejoués en réel ; campagne Maestro complète (17 + 2 parcours) sur le build du 07/10Tests continus sur l'APK 2, retours le 04/10 ; compte App Store fourni au plus tard le 04/10
APK 3 · 08/10 = release candidate si la liste 3.0 est vide
11/10 → 15/10/2026Astreinte corrective sur la RCQA final 11 → 13/10 ; version iOS (build, TestFlight, fiche) 11 → 14/10 ; soumission aux stores le 14/10Recette finale sur la RC 11 → 13/10 ; comptes stores, URL de production, instance Satim Amana fournis
15/10 : soumissions déposées (ou APK 4 = RC de repli si la liste 3.0 n'était pas vide le 08/10)
18/10 → 22/10/2026—Suivi de la revue Apple, correctifs de revueValidation de mise en ligne
Lancement le 22/10/2026
Butoir · repli25/10 → 29/10/2026Réservé au repli : RC du 15/10, QA final 18 → 20/10, soumission 21/10
Lancement au plus tard le 29/10/2026

Hypothèses sans lesquelles la date ne tient pas

  1. Les correctifs du chantier 1 et A9#1(ticket dans l’outil de ticketing, nouvelle fenêtre) / A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre) sont livrés au plus tard le 01/10/2026, ceux du chantier 3 le 08/10/2026 ; chaque correctif est accompagné d'un exemple de requête fonctionnelle.
  2. Les décisions A1 à A6 sont rendues le 22/09/2026.
  3. Le compte App Store est disponible le 04/10/2026, le compte Play Store, l'URL de l'API de production et une instance Satim au nom d'Amana le 13/10/2026.
  4. La revue Apple aboutit entre le 14 et le 22/10 ; à défaut, Android est lancé le 22/10 et iOS suit dès approbation.
Chaque jour de retard sur les chantiers 1 et 2 décale la release candidate d'autant. Le butoir du 29/10 absorbe une semaine de glissement ; au-delà, un nouveau planning sera proposé avant, et non après, la date manquée.

Prochaines échéances clés

  1. 22/09/2026Séance de décisions A1 à A6 ; ouverture des chantiers ; point quotidien en placeCondition · Disponibilité des décideurs
  2. 24/09/2026APK 1 : premiers correctifs backend du chantier 1 vérifiés en réelCondition · Correctifs livrés et validation de l'APK du 19/09 par Amana
  3. 27/09/2026Premiers retours client sur l'APK 1Condition · —
  4. 01/10/2026APK 2 : correctifs du chantier 1 (paiement) et de la session A9#1(ticket dans l’outil de ticketing, nouvelle fenêtre), A22#16(ticket dans l’outil de ticketing, nouvelle fenêtre) vérifiés en réel ; résiliation et retrait d'ayant droit rejoués sur khaddoucheTestCondition · Correctifs backend livrés
  5. 04/10/2026Compte App Store fourniCondition · Amana
  6. 08/10/2026APK 3 = release candidate ; liste 3.0 vide et vérifiéeCondition · Correctifs du chantier 3 livrés
  7. 13/10/2026Fin du QA final ; comptes stores, URL de production, instance Satim Amana fournisCondition · Amana
  8. 14/10/2026Soumission Play Store et App StoreCondition · —
  9. 22/10/2026LancementCondition · Revue Apple aboutie
  10. 29/10/2026Butoir de lancement (repli d'une semaine)Condition · —
Le dashboard est mis à jour à chaque APK du jeudi, et tout risque de glissement est signalé au point quotidien, avec sa cause et son impact estimé.