Spécifications Techniques de Besoin (STB)

STB

Introduction

Ce document détaille les exigences fonctionnelles et les contraintes techniques du système EDPI-Docs. Il définit les capacités de l’infrastructure à répondre aux besoins d’édition mobile, de résilience hors-ligne et de diffusion haute performance.

1. Spécifications Fonctionnelles Détaillées (SFD)

1.1 Cas d’Utilisation (Use Cases)

  • UC-01 : Consultation Multi-format : L’utilisateur accède au contenu en HTML5 via navigateur ou télécharge une version PDF générée dynamiquement.
  • UC-02 : Navigation Sémantique : Recherche plein texte intégrée et navigation hiérarchique structurée selon le cycle SDLC.
  • UC-03 : Visualisation Technique : Rendu natif des équations \(LaTeX\) et des diagrammes de flux Mermaid.js.
  • UC-04 : Édition Mobile Agnostique : Un contributeur doit pouvoir éditer, valider et prévisualiser une note depuis un smartphone (Android/iOS) ou un PC.

1.2 Règles de Gestion (Business Rules)

  • RG-01 (Conformité YAML) : Tout document doit posséder un en-tête YAML valide conforme au standard EDPI-STD.
  • RG-02 (Parité de Rendu) : La version PDF (via Typst) doit être strictement identique au contenu HTML au moment du build.
  • RG-03 (Validation Source) : Aucun document ne peut être fusionné sur la branche main s’il présente une erreur détectée par markdownlint.

2. Spécifications Techniques Détaillées (STD)

2.1 Architecture de l’Infrastructure (IaaS)

Le système repose sur un pipeline Docs-as-Code entièrement automatisé:

  • Source : Markdown étendu Quarto (.qmd).
  • Moteur de Build : Quarto CLI v1.3+ exploitant Typst pour une compilation éclair.
  • Validation : Markdownlint pour la cohérence structurelle.
  • CI/CD : GitHub Actions pour l’automatisation du build et Cloudflare Pages pour la distribution mondiale via Edge Computing.

2.2 Environnement Cible

Composant Spécification Rôle
Hébergement Cloudflare Pages Distribution résiliente et rapide.
Runtime Local Windows / Linux / macOS Environnement de rédaction native.
Édition Mobile Obsidian + Zettel Notes Capturation du savoir en déplacement.
Pipeline GitHub Actions Orchestration des tests et déploiements.

3. Exigences Non-Fonctionnelles (ENF)

3.1 Performance et Sûreté

  • ENF-01 (Rapidité d’Affichage) : Le “First Contentful Paint” (FCP) doit être inférieur à 0.8s.
  • ENF-02 (Légèreté locale) : L’empreinte de la stack locale (Quarto + Typst) ne doit pas excéder 500 Mo.
  • ENF-03 (Disponibilité) : L’infrastructure doit garantir un accès au contenu même en cas d’instabilité réseau via le cache navigateur (PWA).

3.2 Sécurité (Security by Design)

  • ENF-04 (Intégrité) : Protection stricte de la branche main ; passage obligatoire par une Pull Request validée sur develop.
  • ENF-05 (Secrets) : Interdiction d’inclure des jetons d’accès en clair ; usage exclusif de GitHub Secrets.

4. Matrice de Traçabilité des Exigences

ID Exigence Description Priorité Statut
REQ-01 Support natif de Typst pour les rapports PDF Haute Validé
REQ-02 Déploiement automatique lors d’un Push sur develop Haute Validé
REQ-03 Synchronisation bidirectionnelle PC/Mobile via Git Haute Validé
REQ-04 Indexation sémantique pour la recherche globale Moyenne Défini
REQ-05 Le système doit générer un PDF via Typst. Moyenne Defini
REQ-06 Le pipeline doit valider la structure YAML avant toute publication. Si un champ obligatoire (Code, Projet) manque, le build doit échouer Haute Validé

Dernière mise à jour : r Sys.Date()