Files
memegoat/dossier-de-projet-cda.md
Mathis HERRIOT 3347d693ce docs: add project dossier with detailed specifications and technical overview
- Introduced `dossier-de-projet-cda.md` outlining project scope, objectives, and covered competencies.
- Included functional and non-functional specifications, technical stack, and infrastructure details.
- Added sections on backend architecture, frontend implementation, security measures, and deployments.
2026-01-26 14:19:05 +01:00

11 KiB
Raw Blame History

Sommaire

  1. Introduction au projet
  2. Liste des compétences couvertes par le projet
  3. Cahier des charges 3.1 Spécifications fonctionnelles
  4. Réalisations 4.1 Organisation des tâches 4.2 Backend
  5. Conclusion
  6. Annexes

1. Introduction au projet

2. Liste des compétences couvertes par le projet

3. Cahier des charges

3.1 Spécifications fonctionnelles

Gestion des utilisateurs et authentification (MFA, Sessions)

Gestion et partage de contenus (Memes & GIFs)

Sécurisation avancée (Cryptographie PGP & Post-Quantique)

Panneau dAdministration et Modération

Système de recherche par catégories et tags

3.2 Spécifications non fonctionnelles

Performance & Réactivité (Redis, Caching)

Sécurité Applicative (Helmet, Clamscan, Sentry)

Scalabilité (Stockage S3/Minio)

Expérience utilisateur (UX)

SEO (Search Engine Optimization)

Accessibilité (A11Y)

Maintenance et Extensibilité

Tests automatisés

3.3 Charte graphique

Couleurs

Police décriture

Logotype et image de marque

3.4 Spécifications de linfrastructure (Docker, PostgreSQL, Redis, Minio)

4. Réalisations

4.1 Organisation des tâches

4.2 Backend

Architecture du backend (NestJS)

Controller

Service

Module

Middleware

Guard

Data Transfer Object (DTO)

B.1 - Installation et configuration de lenvironnement

B.2 - Modélisation & Base de données (Drizzle ORM, PostgreSQL)

Table Users

Table Contents (Memes & GIFs)

Table Categories & Tags

Table Favorites

Table Audit Logs & Reports

Table Sessions & API Keys

Table RBAC (Rôles & Permissions)

Table PGP (Chiffrement symétrique)

Migration & Seeding

B.3 - Composant daccès aux données (Drizzle ORM)

Utilisation de Drizzle dans un Service Métier

Sécurité et Prévention des Injections SQL

Gestion des Erreurs et Optimisation des Requêtes

B.4 - Composants métier

Gestion des médias (S3/Minio, Sharp, FFmpeg)

Cycle de vie d'un contenu (Upload, Validation, Modération)

Règles Métier et Avantages de Drizzle ORM

B.5 - Qualité et Tests

Tests unitaires (Jest)

Assurance de Qualité et Détection Précoce des Bugs

Maintenabilité du Code et Documentation

Sécurité & Cryptographie

JWT (JSON Web Token) & Sessions sécurisées

Hashing avec Argon2id

Data Transfer Object (DTO) & Validation (Zod/Class-validator)

Bibliothèque Helmet

Content Security Policy (CSP)

X-Frame-Options

Strict-Transport-Security (HSTS)

Referrer-Policy

Permitted-Cross-Domain-Policies

COEP, COOP & CORP

CORS (Cross-Origin Resource Sharing)

SSL/TLS et Chiffrement des flux

Cryptographie Post-Quantique (Module ML-KEM / Kyber768)

Chiffrement des données au repos (PGP/pgcrypto)

Antivirus applicatif (Intégration Clamscan)

Veille technologique et de sécurité

OWASP Top Ten : Priorité à la sécurité applicative

Veille sur la sécurité Post-Quantique

CERT-FR (Veille gouvernementale)

4.3 Maquettage

4.4 Frontend

F.1 - Stack technique (Next.js 16, React 19, Tailwind CSS 4)

F.2 - Architecture et Interfaces

Approche mobile-first

Composants UI (Radix UI, Shadcn UI)

F.3 - Interface dynamique

Explorateur de contenus (Grilles, Filtres)

Gestion du profil et des favoris

Upload de fichiers et prévisualisation interactive

SEO & Accessibilité

Veille technologique frontend (React 19 & Next.js App Router)

4.5 Déploiement et Infrastructure

Conteneurisation avec Docker et Docker Compose

Orchestration des services (PostgreSQL, Redis, Minio)

5. Conclusion

Remerciements

6. Annexes

Annexe 1 - Schéma de classe POO du backend

Annexe 2 - Sources et ressources

Annexe 3 - Glossaire technique

Annexe 4 - Licences et bibliothèques