Étude de cas : SofiruxGED

Étude de cas · Produit interne

SofiruxGED

SofiruxGED est une solution de gestion électronique de documents (GED) conçue, architecturée et développée par SOFIRUX. Cette page explique pourquoi nous l'avons construite, ce que nous avons construit et comment elle fonctionne.

Type de projetProduit logiciel SOFIRUX (application web, abonnement mensuel)
Rôle SofiruxConception produit, architecture, développement complet
DomaineGestion électronique de documents (GED)
Stack principalePHP 8 · Symfony 6 · MySQL/MariaDB

1. Le besoin

Les organisations qui gèrent de gros volumes de documents se heurtent toujours aux mêmes problèmes :

Versions perdues

Les fichiers circulent par email, sont écrasés, et personne ne sait quelle version est la bonne.

Aucune traçabilité

Impossible de savoir qui a ouvert, modifié ou supprimé un document, ni quand.

Aucune preuve d'intégrité

Quand un auditeur demande « ce fichier a-t-il été modifié depuis son archivage ? », il n'y a pas de réponse fondée sur des preuves.

Validations lentes

Les documents à valider traînent sur un bureau ou se perdent dans les échanges d'emails.

Classement manuel

Chaque document entrant doit être lu et rangé à la main.

Stockage non protégé

Des fichiers stockés en clair sont lisibles par quiconque accède au serveur.

2. Ce que SOFIRUX a réalisé

SofiruxGED est conçu et détenu par SOFIRUX. Notre équipe a pris en charge l'ensemble du cycle de vie du produit :

  • Analyse fonctionnelle des besoins documentaires et de conformité (traçabilité, intégrité, contrôle d'accès).
  • Architecture logicielle sur Symfony 6 avec Doctrine ORM et traitements asynchrones via Symfony Messenger.
  • Conception de la sécurité : chiffrement par fichier, empreintes d'intégrité, trois journaux d'audit indépendants, protection CSRF, mots de passe bcrypt.
  • Développement de l'interface web (Twig, Bootstrap, JavaScript) en français, avec préférence de langue par utilisateur.
  • Un microservice d'analyse en Python (Flask) pour les rapports Excel sur l'activité des utilisateurs et les workflows.
  • Mise en correspondance des contrôles avec les principaux domaines de la norme ISO 27001.

3. La solution : fonctionnalités réalisées

Chaque fonctionnalité ci-dessous est implémentée et opérationnelle dans le produit.

Gestion documentaire

Upload multi-format (PDF, DOCX, XLSX, PPT, JPG, PNG, TXT), conversion PDF automatique en conservant l'original, versionnage numéroté (les anciennes versions ne sont jamais supprimées), favoris et corbeille restaurable.

Chiffrement au repos

Chaque version de fichier est chiffrée avec libsodium secretbox (XSalsa20-Poly1305) et sa propre clé aléatoire. Les fichiers sont déchiffrés à la volée pour les utilisateurs autorisés et ne sont jamais écrits en clair sur le disque.

Vérification d'intégrité SHA-256

Une empreinte SHA-256 est enregistrée pour chaque version à l'upload. L'administrateur vérifie un document ou un dossier entier (commande app:verify-integrity) et obtient l'un des quatre statuts : intact, altéré, fichier manquant ou sans empreinte.

Trois journaux d'audit

Historique des documents (création / modification / suppression / restauration, avec utilisateur et horodatage), audit des workflows et historique document-workflow. L'historique n'est pas modifiable depuis l'application.

Moteur de workflows d'approbation

Workflows multi-étapes avec un approbateur nommé ou un groupe par transition. L'autorisation est vérifiée dans le code : un utilisateur non désigné ne peut pas valider. Rapport quotidien par email de l'activité des workflows.

Tampons numériques

Images de tampon, signature ou cachet configurables, appliquées aux transitions choisies du workflow, avec position X/Y et échelle.

Classement automatique par règles

Chaque règle combine un mot-clé ou une regex, un opérateur (contient, commence par, finit par, regex), un dossier cible et une priorité. Les documents correspondants sont proposés au classement en un clic.

Types de documents & métadonnées

Types de documents personnalisés (facture, contrat, rapport…) avec champs de métadonnées typés et listes de choix contrôlées.

Utilisateurs, groupes & droits

Droits lecture/écriture par dossier pour des utilisateurs ou des groupes, propagation récursive aux sous-dossiers. Un utilisateur ne voit jamais les dossiers auxquels il n'a pas accès.

Notifications & rappels

Notifications dans l'application pour les modifications, commentaires et demandes d'approbation. Rappels par document avec alertes 3 jours avant, 1 jour avant et à l'heure prévue.

Recherche plein texte

Le texte est extrait à l'upload : on peut chercher par nom, contenu ou métadonnées.

Intégration scanner

Les documents numérisés suivent le même circuit que les uploads : conversion PDF, chiffrement, empreinte et journalisation.

Écrans du produit

SofiruxGED : arborescence des dossiers et vue grille
Arborescence et vue grille
SofiruxGED : écran d'upload multi-fichiers
Upload multi-format
SofiruxGED : règles de classement automatique
Règles de classement automatique

4. Technologies utilisées

Stack technique

ComposantTechnologie
BackendPHP 8, Symfony 6
Base de donnéesMySQL / MariaDB avec Doctrine ORM
Cryptographielibsodium (PHP ext-sodium), SHA-256, bcrypt
Traitement asynchroneSymfony Messenger
EmailSymfony Mailer avec templates HTML Twig
FrontendTwig, Bootstrap, JavaScript
Chaîne documentaireConversion PDF côté serveur, extraction de texte
AnalyseMicroservice Python (Flask) pour les rapports Excel

Architecture de sécurité

CoucheMécanisme
AuthentificationEmail + mot de passe bcrypt, jeton CSRF à la connexion
AutorisationRôles (admin / utilisateur) + ACL lecture/écriture par dossier pour utilisateurs et groupes
Chiffrement stockagelibsodium secretbox (XSalsa20-Poly1305), une clé par version de fichier
IntégritéEmpreinte SHA-256 enregistrée à l'upload, commande CLI de détection d'altération
AuditHistorique documents, audit workflows, historique des transitions
SuppressionSuppression logique vers la corbeille avec restauration complète

5. Ce qui a été livré

Résultats vérifiables de la réalisation. Ils décrivent ce que fait le produit, pas des performances chiffrées chez un client.

12
modules fonctionnels livrés
3
journaux d'audit indépendants
4
statuts d'intégrité par version de fichier
6
domaines de contrôle ISO 27001 couverts (A.8, A.9, A.10, A.12, A.16, A.18)

L'alignement sur les domaines de contrôle ISO 27001 signifie que le produit fournit les contrôles techniques attendus par ces domaines. Il ne s'agit pas d'une certification ISO 27001.

Envie de voir SofiruxGED sur vos propres documents ?

Voir le produit & les tarifs Demander une démo