À quel point cela fonctionne — la preuve par l'ingénierie.

Cosmic Story v2 a été spécifiée selon la méthodologie en V. Chaque exigence porte un numéro, chaque NFR dispose d'un contrat de mesure, chaque cible de test possède un seuil de couverture.

  • 119 exigences traçables — aucune lacune dans le modèle en V.
  • Objectifs de performance : génération de chapitre en 30 s (p95), latence GET de 500 ms p99, TTI frontend de 3 s en 4G.
  • Sécurité : AES-256 au repos, TLS 1.2+ en transit, JWT avec accès de 1 h / rafraîchissement de 30 j, suppression logique avec effacement définitif des données personnelles sous 30 j.
  • Accessibilité : prefers-reduced-motion respecté partout ; libellés VoiceOver et TalkBack sur chaque élément interactif.

Rigueur de la spécification

Cosmic Story v2 s'accompagne d'une spécification en modèle en V — chaque niveau (système, architecture, module, unité) dispose de plans de test correspondants, avec des points de contrôle de traçabilité entre chaque paire.

Spécification en modèle en V

119 exigences, aucune lacune. Chaque exigence se relie en aval à un cas de test et en amont à un récit utilisateur.

20 récits utilisateur

Chacun possède des critères d'acceptation explicites. Les 9 récits « Must Have » conditionnent la sortie ; les 6 « Should Have » orientent l'itération ; les 5 « Could Have » relèvent de la phase 2.

15 exigences fonctionnelles

Plafond d'album, limite de fréquence des chapitres, nombre de dimensions de résonance, règles de cadence du paywall, comportement hors ligne — chacun numéroté et testé.

12 catégories non fonctionnelles

Performance, sécurité, tests, confidentialité, disponibilité, accessibilité — chacune assortie d'un contrat de mesure indiquant comment elle est vérifiée.

Objectifs de performance

Pas des promesses — des objectifs écrits, avec une méthode de mesure pour chacun.

Génération de chapitres

30 secondes ou moins pour 95% des requêtes. Mesuré d'après la distribution de la durée des tâches BullMQ.

Latence de l'API

p99 GET /people, /journal, /inbox sous les 500 millisecondes pour 1,000 utilisateurs simultanés. Mesuré via un test de charge k6.

TTI front-end

Temps d'interactivité de 3 secondes ou moins sur 4G simulée. Mesuré via Lighthouse CI.

Objectifs de couverture des tests

Seuils de couverture des instructions imposés par des contrôles `pnpm test:cov`.

Services backend

Objectif de couverture des instructions de 85% sur les services ; 80% sur les contrôleurs. Vérifié via les rapports de couverture Vitest.

Stores et composables frontend

85% sur les composables ; 90% sur les stores Pinia. Même contrôle Vitest, mêmes rapports.

Posture de sécurité

Des mesures concrètes, nommées explicitement.

Chiffrement au repos

Les contenus du journal et des chapitres sont stockés chiffrés en AES-256 avec des clés gérées par la plateforme. Aucun contenu en clair sur le disque.

TLS en transit

Tout le trafic de l'API passe par TLS 1.2 ou plus récent. Le HTTP est redirigé vers HTTPS en périphérie.

Durées de vie des JWT

Les jetons d'accès expirent après 1 heure ; les jetons de rafraîchissement après 30 jours. Rotation des jetons lors du rafraîchissement.

Suppression douce + suppression définitive des données personnelles

D'abord une suppression douce, avec une fenêtre de 30 jours avant la suppression définitive des informations personnellement identifiables.

Socle d'accessibilité

Pas une simple ambition — un socle imposé lors de la revue de code.

prefers-reduced-motion

Une fois activé au niveau du système d'exploitation, toutes les animations GSAP se réduisent à de simples fondus d'opacité. Plus de parallaxe, plus de transformations, plus de mouvement déclenché au défilement.

Étiquettes VoiceOver + TalkBack

Chaque élément interactif possède une étiquette ARIA. Vérifié manuellement sur VoiceOver d'iOS et TalkBack d'Android avant chaque mise en production.

S'agit-il d'objectifs ou de chiffres actuellement mesurés ?

Des objectifs, assortis de contrats de mesure. Cosmic Story v2 est en développement actif ; les chiffres présentés ici proviennent du tableau des exigences non fonctionnelles du modèle en V qui conditionne la mise en production. La colonne « comment c'est mesuré » vous indique précisément quel outil produit le signal de vérification.

Pourquoi viser 85% de couverture du backend plutôt que 100% ?

Parce qu'une couverture de 100% est une métrique de vanité — au-delà d'un certain seuil, elle teste du code trivial au détriment d'une véritable attention portée à la relecture. Une couverture des instructions de 85%, assortie d'une relecture manuelle de couverture sur les zones non couvertes, voilà comment nous équilibrons la rigueur vérifiable par la machine et le jugement d'ingénierie.

Que signifie réellement le « contournement sensible aux situations de crise » — s'agit-il d'une promesse de sécurité clinique ?

Non. C'est un mécanisme : les messages signalés par un classificateur de crise sont exemptés du plafond quotidien de messages gratuits. Nous ne promettons aucun résultat clinique ; nous nous contentons de ne pas verrouiller la porte au pire moment possible. Pour de véritables ressources en cas de crise, veuillez contacter un service local — Cosmic Story v2 n'est pas un produit thérapeutique.

Essayez My Zodiac AI dès aujourd'hui

Tandis que Soulwise déploie ses premières ondes, notre application phare d'astrologie est déjà entre vos mains.

Le contenu astrologique est destiné à la réflexion et au divertissement. Les fonctionnalités de Cosmic Story v2 décrites ici sont en cours de développement ; leur disponibilité peut changer sans préavis.