Système d'Archivage de Documents - Gestion Documentaire Inviolable

Solution d'Archivage Sécurisée avec Principe WORM et Fonctionnalités de Conformité

2025-2026 Customer Project

Description du Projet

Ce projet implémente un système d'archivage de documents sécurisé et inviolable similaire à DocuWare ou Kendox. Le système garantit l'intégrité des documents par hachage SHA-256, fournit un versionnage immuable où chaque modification crée une nouvelle version, et offre une journalisation d'audit complète de toutes les actions. Les fonctionnalités clés incluent le stockage WORM (Write Once Read Many), le chiffrement AES-256-CBC au repos, la capacité de blocage juridique, des politiques de rétention configurables et le contrôle d'accès basé sur les rôles au niveau document. Les fichiers sont stockés avec des noms basés sur UUID pour empêcher la manipulation, et le système supporte les backends de stockage local et S3/MinIO.

Fonctionnalités Principales

Stockage WORM

Le principe Write Once Read Many empêche la modification des documents après archivage

Chiffrement AES-256

Chiffrement au repos pour tous les fichiers d'archive stockés utilisant le chiffrement Laravel

Versionnage Immuable

Chaque modification crée une nouvelle version, les versions originales ne sont jamais écrasées

Journalisation d'Audit Complète

Toutes les actions incluant vues, téléchargements et changements d'accès sont journalisées avec IP et user agent

Politiques de Rétention

Périodes de rétention configurables avec verrouillage WORM automatique et règles de suppression

Contrôle d'Accès au Niveau Document

Accès basé sur les rôles avec permissions de vue, téléchargement et complètes par document

Stack Technologique

Framework Backend

Laravel 11
PHP 8.2+
MySQL

Sécurité

Hachage SHA-256
AES-256-CBC
Conformité WORM

Frontend

Livewire
Alpine.js
Bootstrap

Stockage

Système de Fichiers Local
S3/MinIO
Noms de Fichiers UUID

Workflow

  1. Téléchargement de Document : L'utilisateur télécharge un document avec métadonnées et champs d'index
  2. Calcul de Hash : Le hash SHA-256 est calculé pour la vérification d'intégrité
  3. Chiffrement : Le document est chiffré avec AES-256-CBC avant stockage
  4. Stockage UUID : Le fichier est stocké avec nom de fichier UUID dans une structure année/mois
  5. Création de Version : L'enregistrement de version initial est créé avec hash et métadonnées
  6. Numéro d'Archive : Un numéro d'archive unique est généré (ex: ARC-2026-000001)
  7. Journalisation d'Audit : Toutes les actions sont journalisées incluant adresse IP et user agent
  8. Contrôle d'Accès : Les permissions basées sur les rôles contrôlent qui peut voir, télécharger ou gérer
  9. Vérification d'Intégrité : La vérification de hash garantit l'intégrité du document dans le temps
  10. Blocage Juridique : Les documents peuvent être placés en blocage juridique pour empêcher toute suppression