App en TS pour impressions de doc officiels (CNI, Passeport, Carte Vitale) avec design patterns.
bun install | npm installbun app | npm run appCoeur de l'app, Template Method définit le squelette de l'algorithme d'impression, peu d'autre choix dans ce cas de figure.
Pas possible de modifier le code source CPAM, on adapte donc CarteVitaleCpam pour qu'il implémente l'interface commune IDocumentImprimable.
L'app n'instancie jamais directement CniDocument/PasseportDocument/CarteVitaleDocument tout passe par creerDocument(type, personne),de facon centralisé.
L'imprimante ne devant rien connaitre du métier , elle est injectée dans les documents à imprimer. Cela permet de changer facilement d'imprimante.
--- Début de l'impression : CNI ---
Récupération des informations...
[CNI] Récupération des informations de CLEM DHDT...
Préparation des encres...
[Imprimante] Préparation encre (securisee)...
Vérification de la présence de papier...
[Imprimante] Vérification papier (format carte)...
Impression...
[Imprimante] Impression en cours (format: carte, encre: securisee)...
Découpe...
[Imprimante] Découpe au format carte...
specifique : plastification...
[CNI] Plastification de la carte...
--- Fin de l'impression : CNI ---
--- Début de l'impression : Carte Vitale ---
Récupération des informations...
[CPAM] Récupération du dossier de CLEM DHDT...
Préparation des encres...
[Imprimante] Préparation encre (couleur)...
Vérification de la présence de papier...
[Imprimante] Vérification papier (format carte)...
Impression...
[Imprimante] Impression en cours (format: carte, encre: couleur)...
Découpe...
[Imprimante] Découpe au format carte...
specifique : finalisation de la carte...
[CPAM] Finalisation de la carte Vitale...
--- Fin de l'impression : Carte Vitale ---
--- Début de l'impression : Passeport ---
Récupération des informations...
[Passeport] Récupération des informations de CLEM DHDT...
Préparation des encres...
[Imprimante] Préparation encre (securisee)...
Vérification de la présence de papier...
[Imprimante] Vérification papier (format livret)...
Impression...
[Imprimante] Impression en cours (format: livret, encre: securisee)...
Découpe...
[Imprimante] Découpe au format livret...
specifique : reliure...
[Passeport] Reliure du livret...
--- Fin de l'impression : Passeport ---
- Respect des besoins fonctionnels
- Pertinence des design patterns utilisés
- Qualité de l'implémentation
- Organisation et lisibilité du code
- respect des principes de concerption orientée objet