Bonjour,

Je développe un outil en PHP/Symfony qui permet de gérer des structures sportives. Dans les fonctionnalités, il y a l'achat d'activités, avec paiement éventuel sur place. Il est donc considéré comme un logiciel de caisse.

Suite à la loi sortie en 2018, je voudrais l'auto-certifier. J'avoue que je suis un peu perdu dans la manière de faire pour gérer l'inaltérabilité des données. J'ai une table qui contient les paiements et une autre qui contient les factures. les deux doivent-elles être "inaltérables" ?

Pour gérer cela, je pensais utiliser un système de blockchain, mais je ne trouve pas beaucoup d'informations/librairies.

Est-ce que des gens auraient quelques infos qui pourraient m'aider ? :)

Merci beaucoup :)

6 réponses


Salut clem562,

Pour la table contenant les factures, tu dois avoir :

  • " Nom de l'acheteur "
  • " Adresse de l'acheteur "
  • etc.

Toutes les informations concernant l'acheteur doivent être repliquées dans la table " factures ".

A dispo si pas clair :)

Salut !
J'ai eu la même problématique dans ma boite l'autre jour. De base j'avais une table "Facture" avec une clée étrangère faisant référence à une table "Client". Le soucis c'est que justement pour respecter l'inaltérabilité des données d'une facture, tu dois stocker les informations à un instant T. Et celles-ci ne doivent plus pouvoir être modifié. Ainsi (même si c'est plus moche) tu devrais avoir une table similaire à "Facture" n'ayant aucunes autres références vers d'autres tables qui contient TOUTES les informations présente sur une facture. J'espère t'avoir éclairé ;-)

N'hésites pas si tu as besoin.

  • Lilian
clem562
Auteur

Merci pour vos réponses :)
Effectivement, dans ma table de factures, je stocke déjà toutes les informations sans références à d'autres tables. Mais ensuite, pour prouver que la facture n'a pas été modifiée en base de données, c'est là que ça devient compliqué j'ai l'impression ... !

Non pas nécessairement.
Ce que tu peux faire (ce n'est qu'une solution) c'est faire une copie conforme de ta table Facture comme par exemple "HashedFacture" en faisant en sorte que les données sensibles soient chiffrées (je parle des données qui doivent rester intacte bien sûr). Ainsi, si les données de la table Facture se retrouvent à être modifié par un quelconque individu au sein du sgbd elle ne seront plus les mêmes sur la copie conforme chiffrée, logique non ?
Il te suffit d'implémenter un script qui te permet de vérifier que tes données soient bien intègres et vérifier qu'elles n'aient pas été modifiées. Evidemment fais en sorte de choisir une clé de chiffrage solide pour éviter que quelqu'un la trouve et puisse changer les données de la facture ET de la copie conforme chiffrée.

Sinon chainage des entrées en base.