SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
@Xebiconfr #Xebicon18 @_cdufour
Build the future
Event Sourcing et RGPD, incompatibles ?
Charles Dufour
1
@Xebiconfr #Xebicon18 @_cdufour
Qui suis-je ?
Charles Dufour
Développeur & Manageur
@_cdufour
2
@Xebiconfr #Xebicon18 @_cdufour 3
@Xebiconfr #Xebicon18 @_cdufour
Qui suis-je ?
Charles Dufour
Développeur & Manager
4
@_cdufour
@Xebiconfr #Xebicon18 @_cdufour
Cette conférence ne sera pas
1. Un rapide rappel sur l’event sourcing ainsi que les
points essentiels du RGPD
2. Axée sur les impacts en termes de développement et
d’architecture
3. Une exploration de deux idées pour marier RGPD et
event sourcing
4. Un premier pas vers toutes les questions qu’amène le
RGPD
Mais sera
1. Un décorticage point par point du RGPD
2. À destination exclusive des décideurs
3. Une réponse clé en main à la problématique de
compatibilité entre le RGPD et l’event sourcing
4. Une réponse au défi RGPD tout court...
5
@Xebiconfr #Xebicon18 @_cdufour
Event sourcing
Qu’est-ce que c’est ?
6
@Xebiconfr #Xebicon18 @_cdufour
Event sourcing - Qu’est-ce que c’est ?
● Architecture orientée sur la séquence des évènements qui ont modifié l’état de l’application. C’est donc :
○ Une architecture orientée évènements
○ Qui se concentre sur la persistence des données
○ Qui ne persiste pas (nécessairement) l’état de l’application
○ Qui stocke la suite d'évènements qui mène à cet état
● Ne dépend d’aucun framework / outil
● Cette séquence d'événements est votre source de vérité
7
@Xebiconfr #Xebicon18 @_cdufour
Event sourcing - Avantages
● Audit de l’application
○ Pouvoir lire avec précision le passé
● Reprise de données
○ En cas d’erreur, pouvoir reconstruire facilement l’état de l’application
● N’est cependant pas la réponse absolue
○ Peut avoir un coût important
8
@Xebiconfr #Xebicon18 @_cdufour
Event sourcing - Exemple du compte bancaire
Je souhaite créer une application qui me permet de gérer le compte
bancaire de mes clients
1. Un utilisateur crée un compte
2. Il crédite son compte de 100 euros
3. Puis débit son compte de 80 euros
9
@Xebiconfr #Xebicon18 @_cdufour
Compte bancaire - Implémentation classique
10
@Xebiconfr #Xebicon18 @_cdufour
Compte bancaire - Implémentation event sourcing
11
@Xebiconfr #Xebicon18 @_cdufour
RGPD
Quel impact pour les développeurs ?
12
@Xebiconfr #Xebicon18 @_cdufour
RGPD - Résumé
● Règlement général sur la protection des données
● Applicable depuis le 25 mai 2018
● Concerne tous les clients européens
● Peut engendrer de lourds impacts financiers en cas de non respect
● Accentuation de la responsabilité des sous-traitants
13
@Xebiconfr #Xebicon18 @_cdufour
RGPD - Points clés pour le développement
● Le droit d'être informé (sur l’utilisation des données personnelles)
○ La fameuse popup lors de la première visite sur un site
● Le droit à la rectification (Modification des données personnelles)
● Le droit à la portabilité des données (export des données personnelles)
● Le droit d'accès (affichage humainement lisible des données personnelles)
● Le droit à l'effacement (des données personnelles)
○ Y compris chez les tiers à qui les données sont transmises
● Le droit à la restriction du traitement (des données personnelles)
14
@Xebiconfr #Xebicon18 @_cdufour
Donnée personnelle ?
C’est quoi au juste ?
15
@Xebiconfr #Xebicon18 @_cdufour
Donnée personnelle - Qu’est-ce que c’est ?
● Donnée qui peut-être
○ Fournie directement par l’utilisateur
○ Récupérée par le biais d’un tiers
○ Basée sur son activité sur l’application
16
@Xebiconfr #Xebicon18 @_cdufour
Donnée personnelle - Qu’est-ce que c’est ?
● Toute donnée pouvant être croisée avec d’autres données pour identifier de manière unique une personne
physique
○ Prénom
○ Date de naissance
○ Géolocalisation (via Google maps par exemple)
17
@Xebiconfr #Xebicon18 @_cdufour
Donnée personnelle - Qu’est-ce que c’est ?
● Toute donnée identifiant directement une personne physique
○ Numéro de téléphone
○ Numéro de sécurité sociale
18
@Xebiconfr #Xebicon18 @_cdufour
RGPD - Points concernant l’event sourcing
● Le droit d'être informé
○ La fameuse popup lors de la première visite sur un site
● Le droit à la rectification
● Le droit à la portabilité des données
● Le droit d'accès
● Le droit à l'effacement
○ Y compris chez les tiers à qui les données sont transmises
● Le droit à la restriction du traitement
19
@Xebiconfr #Xebicon18 @_cdufour
RGPD - Points concernant l’event sourcing
● Le droit d'être informé
○ La fameuse popup lors de la première visite sur un site
● Le droit à la rectification
● Le droit à la portabilité des données
● Le droit d'accès
● Le droit à l'effacement
○ Y compris chez les tiers à qui les données sont transmises
● Le droit à la restriction du traitement
20
@Xebiconfr #Xebicon18 @_cdufour
RGPD - Points concernant l’event sourcing
● Le droit d'être informé
○ La fameuse popup lors de la première visite sur un site
● Le droit à la rectification
● Le droit à la portabilité des données
● Le droit d'accès
● Le droit à l'effacement
○ Y compris chez les tiers à qui les données sont transmises
● Le droit à la restriction du traitement
21
@Xebiconfr #Xebicon18 @_cdufour
Quel rapport avec l’event sourcing ?
Immutabilité et droit à l’effacement
22
@Xebiconfr #Xebicon18 @_cdufour
Event sourcing
● Le RGPD demande de pouvoir effacer les données
d’un utilisateur
RGPD
● La source donnée est une suite d’évènements
immutables
23
@Xebiconfr #Xebicon18 @_cdufour
Chiffrement
des données personnelles
24
@Xebiconfr #Xebicon18 @_cdufour
Chiffrement
raw
keys
encrypted
25
@Xebiconfr #Xebicon18 @_cdufour
Chiffrement
raw keysencrypted
Peut être ce que l’on veut. Kafka, in memory, postgres etc.
26
@Xebiconfr #Xebicon18 @_cdufour
Chiffrement
Oui mais...
27
@Xebiconfr #Xebicon18 @_cdufour
Oui !
● L’algorithme de chiffrement est-il suffisamment
robuste ?
○ Nécessité rechiffrer toutes les données
toutes les X années
● Le chiffrement a un coût en termes de ressources
● Doit-on chiffrer la donnée intégrale ? Ou champ par
champ ?
Mais...
● On est maintenant en mesure de rendre les données
personnelles inaccessibles !
28
@Xebiconfr #Xebicon18 @_cdufour
Discrimination
Est-ce une donnée personnelle ?
29
@Xebiconfr #Xebicon18 @_cdufour
Discrimination
raw
users
transactions
30
@Xebiconfr #Xebicon18 @_cdufour
Discrimination
Oui mais...
31
@Xebiconfr #Xebicon18 @_cdufour
Oui !
● On ne peut plus vraiment parler d’event sourcing…
● Comment bien discriminer les données ?
● Comment gérer le versionning des évènements ?
Mais...
● On a supprimé le surcoût lié au chiffrement !
32
@Xebiconfr #Xebicon18 @_cdufour
Conclusion
33
@Xebiconfr #Xebicon18 @_cdufour
Il existe des solutions
● Attention à bien étudier son use case, car le choix de
l’event sourcing, ainsi que la gestion du RGPD seront
critiques
● L’immutabilité n’existe pas que dans l’event sourcing.
Comment être en totale conformité avec
○ Les backups de données
○ Les logs
○ etc.
À prendre avec des pincettes
● Le RGPD complexifie l’implémentation de l’event
sourcing mais ne la rend pas impossible
● Le plus simple reste peut-être de n’implémenter
l’event sourcing que si on ne manipule pas de
données personnelles...
34
@Xebiconfr #Xebicon18 @_cdufour
Remerciements
● Vincent Segouin
● Clément Héliou
● Aurore de Amaral
● Jonathan Raffre
Ressources :
● https://danlebrero.com/2018/04/11/kafka-gdpr-event-sourcing/
● https://bohzo.developpez.com/rgpd-guide-pratique-developpeurs/
● https://blog.xebia.fr/2017/01/16/event-sourcing-comprendre-les-bases-dun-systeme-e
venementiel/
35

Más contenido relacionado

La actualidad más candente

La actualidad más candente (10)

XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
 
XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...
XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...
XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...
 
XebiCon'16 : GraphQL et Falcor, un nouveau regard sur les architectures REST ...
XebiCon'16 : GraphQL et Falcor, un nouveau regard sur les architectures REST ...XebiCon'16 : GraphQL et Falcor, un nouveau regard sur les architectures REST ...
XebiCon'16 : GraphQL et Falcor, un nouveau regard sur les architectures REST ...
 
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
 
XebiCon'16 : Les coulisses de Xebia Studio. Par Ludovic Perot et Nicolas Joz...
XebiCon'16 : Les coulisses de Xebia Studio.  Par Ludovic Perot et Nicolas Joz...XebiCon'16 : Les coulisses de Xebia Studio.  Par Ludovic Perot et Nicolas Joz...
XebiCon'16 : Les coulisses de Xebia Studio. Par Ludovic Perot et Nicolas Joz...
 
XebiCon'16 : Europ Assistance - Un grand groupe peut-il construire une market...
XebiCon'16 : Europ Assistance - Un grand groupe peut-il construire une market...XebiCon'16 : Europ Assistance - Un grand groupe peut-il construire une market...
XebiCon'16 : Europ Assistance - Un grand groupe peut-il construire une market...
 
XebiCon'16 : PMU et le Big Data - d'une approche mono projet à une démarche e...
XebiCon'16 : PMU et le Big Data - d'une approche mono projet à une démarche e...XebiCon'16 : PMU et le Big Data - d'une approche mono projet à une démarche e...
XebiCon'16 : PMU et le Big Data - d'une approche mono projet à une démarche e...
 
XebiCon'16 : Plan de bataille pour devenir une entreprise Data Driven Nicola...
XebiCon'16 : Plan de bataille pour devenir une entreprise Data Driven  Nicola...XebiCon'16 : Plan de bataille pour devenir une entreprise Data Driven  Nicola...
XebiCon'16 : Plan de bataille pour devenir une entreprise Data Driven Nicola...
 
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
 
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
 

Similar a XebiCon'18 - Event Sourcing et RGPD, incompatibles ?

Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...
Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...
Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...
SEO CAMP
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
Publicis Sapient Engineering
 
Viuz conference28 mai2013_vdef
Viuz conference28 mai2013_vdefViuz conference28 mai2013_vdef
Viuz conference28 mai2013_vdef
Patrick Kervern
 

Similar a XebiCon'18 - Event Sourcing et RGPD, incompatibles ? (20)

Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...
Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...
Quel potentiel et canaux pour la vente d'actifs immatériels - Kevin Jourdan &...
 
Mercredis French Tech Morbihan Mars 18 RGPD
Mercredis French Tech Morbihan Mars 18  RGPDMercredis French Tech Morbihan Mars 18  RGPD
Mercredis French Tech Morbihan Mars 18 RGPD
 
Tracking et Analytics comme avantage compétitif
Tracking et Analytics comme avantage compétitifTracking et Analytics comme avantage compétitif
Tracking et Analytics comme avantage compétitif
 
Presentation CRYPTO DAY
Presentation CRYPTO DAYPresentation CRYPTO DAY
Presentation CRYPTO DAY
 
Mon site web est hacké ! Que faire ?
Mon site web est hacké ! Que faire ?Mon site web est hacké ! Que faire ?
Mon site web est hacké ! Que faire ?
 
Artisans : comment utiliser le web pour augmenter votre CA ?
Artisans : comment utiliser le web pour augmenter votre CA ?Artisans : comment utiliser le web pour augmenter votre CA ?
Artisans : comment utiliser le web pour augmenter votre CA ?
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
 
« Je code, tu codes, nous codons... et le code civil dans tout ça ? » Confére...
« Je code, tu codes, nous codons... et le code civil dans tout ça ? » Confére...« Je code, tu codes, nous codons... et le code civil dans tout ça ? » Confére...
« Je code, tu codes, nous codons... et le code civil dans tout ça ? » Confére...
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
 
Un site web conforme à la loi - le pourquoi et comment
Un site web conforme à la loi - le pourquoi et commentUn site web conforme à la loi - le pourquoi et comment
Un site web conforme à la loi - le pourquoi et comment
 
Formation M2i - Le big bang du tracking digital
Formation M2i - Le big bang du tracking digitalFormation M2i - Le big bang du tracking digital
Formation M2i - Le big bang du tracking digital
 
L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...
L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...
L’actualité High-Tech de la semaine : 4K, Github, Linkedin, Dropbox, Streamwe...
 
Matinée Micropole GDPR
Matinée Micropole GDPRMatinée Micropole GDPR
Matinée Micropole GDPR
 
Viuz conference28 mai2013_vdef
Viuz conference28 mai2013_vdefViuz conference28 mai2013_vdef
Viuz conference28 mai2013_vdef
 
Webinar EEIE #08 : Le RGPD
Webinar EEIE #08 : Le RGPDWebinar EEIE #08 : Le RGPD
Webinar EEIE #08 : Le RGPD
 
Big Data by Soft Computing
Big Data by Soft ComputingBig Data by Soft Computing
Big Data by Soft Computing
 
Inforum ProLibre 26 novembre 2003
Inforum ProLibre 26 novembre 2003Inforum ProLibre 26 novembre 2003
Inforum ProLibre 26 novembre 2003
 
Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'EmbarquéMeetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
 
Le numérique, levier de compétitivité
Le numérique, levier de compétitivitéLe numérique, levier de compétitivité
Le numérique, levier de compétitivité
 
Conf 3 VWD - l BOURRELY REBELLET - Cocon sémantique
Conf 3 VWD - l BOURRELY REBELLET - Cocon sémantiqueConf 3 VWD - l BOURRELY REBELLET - Cocon sémantique
Conf 3 VWD - l BOURRELY REBELLET - Cocon sémantique
 

Más de Publicis Sapient Engineering

Más de Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuXebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs Musique
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
 
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
 
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningTech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
 

XebiCon'18 - Event Sourcing et RGPD, incompatibles ?

  • 1. @Xebiconfr #Xebicon18 @_cdufour Build the future Event Sourcing et RGPD, incompatibles ? Charles Dufour 1
  • 2. @Xebiconfr #Xebicon18 @_cdufour Qui suis-je ? Charles Dufour Développeur & Manageur @_cdufour 2
  • 4. @Xebiconfr #Xebicon18 @_cdufour Qui suis-je ? Charles Dufour Développeur & Manager 4 @_cdufour
  • 5. @Xebiconfr #Xebicon18 @_cdufour Cette conférence ne sera pas 1. Un rapide rappel sur l’event sourcing ainsi que les points essentiels du RGPD 2. Axée sur les impacts en termes de développement et d’architecture 3. Une exploration de deux idées pour marier RGPD et event sourcing 4. Un premier pas vers toutes les questions qu’amène le RGPD Mais sera 1. Un décorticage point par point du RGPD 2. À destination exclusive des décideurs 3. Une réponse clé en main à la problématique de compatibilité entre le RGPD et l’event sourcing 4. Une réponse au défi RGPD tout court... 5
  • 6. @Xebiconfr #Xebicon18 @_cdufour Event sourcing Qu’est-ce que c’est ? 6
  • 7. @Xebiconfr #Xebicon18 @_cdufour Event sourcing - Qu’est-ce que c’est ? ● Architecture orientée sur la séquence des évènements qui ont modifié l’état de l’application. C’est donc : ○ Une architecture orientée évènements ○ Qui se concentre sur la persistence des données ○ Qui ne persiste pas (nécessairement) l’état de l’application ○ Qui stocke la suite d'évènements qui mène à cet état ● Ne dépend d’aucun framework / outil ● Cette séquence d'événements est votre source de vérité 7
  • 8. @Xebiconfr #Xebicon18 @_cdufour Event sourcing - Avantages ● Audit de l’application ○ Pouvoir lire avec précision le passé ● Reprise de données ○ En cas d’erreur, pouvoir reconstruire facilement l’état de l’application ● N’est cependant pas la réponse absolue ○ Peut avoir un coût important 8
  • 9. @Xebiconfr #Xebicon18 @_cdufour Event sourcing - Exemple du compte bancaire Je souhaite créer une application qui me permet de gérer le compte bancaire de mes clients 1. Un utilisateur crée un compte 2. Il crédite son compte de 100 euros 3. Puis débit son compte de 80 euros 9
  • 10. @Xebiconfr #Xebicon18 @_cdufour Compte bancaire - Implémentation classique 10
  • 11. @Xebiconfr #Xebicon18 @_cdufour Compte bancaire - Implémentation event sourcing 11
  • 12. @Xebiconfr #Xebicon18 @_cdufour RGPD Quel impact pour les développeurs ? 12
  • 13. @Xebiconfr #Xebicon18 @_cdufour RGPD - Résumé ● Règlement général sur la protection des données ● Applicable depuis le 25 mai 2018 ● Concerne tous les clients européens ● Peut engendrer de lourds impacts financiers en cas de non respect ● Accentuation de la responsabilité des sous-traitants 13
  • 14. @Xebiconfr #Xebicon18 @_cdufour RGPD - Points clés pour le développement ● Le droit d'être informé (sur l’utilisation des données personnelles) ○ La fameuse popup lors de la première visite sur un site ● Le droit à la rectification (Modification des données personnelles) ● Le droit à la portabilité des données (export des données personnelles) ● Le droit d'accès (affichage humainement lisible des données personnelles) ● Le droit à l'effacement (des données personnelles) ○ Y compris chez les tiers à qui les données sont transmises ● Le droit à la restriction du traitement (des données personnelles) 14
  • 15. @Xebiconfr #Xebicon18 @_cdufour Donnée personnelle ? C’est quoi au juste ? 15
  • 16. @Xebiconfr #Xebicon18 @_cdufour Donnée personnelle - Qu’est-ce que c’est ? ● Donnée qui peut-être ○ Fournie directement par l’utilisateur ○ Récupérée par le biais d’un tiers ○ Basée sur son activité sur l’application 16
  • 17. @Xebiconfr #Xebicon18 @_cdufour Donnée personnelle - Qu’est-ce que c’est ? ● Toute donnée pouvant être croisée avec d’autres données pour identifier de manière unique une personne physique ○ Prénom ○ Date de naissance ○ Géolocalisation (via Google maps par exemple) 17
  • 18. @Xebiconfr #Xebicon18 @_cdufour Donnée personnelle - Qu’est-ce que c’est ? ● Toute donnée identifiant directement une personne physique ○ Numéro de téléphone ○ Numéro de sécurité sociale 18
  • 19. @Xebiconfr #Xebicon18 @_cdufour RGPD - Points concernant l’event sourcing ● Le droit d'être informé ○ La fameuse popup lors de la première visite sur un site ● Le droit à la rectification ● Le droit à la portabilité des données ● Le droit d'accès ● Le droit à l'effacement ○ Y compris chez les tiers à qui les données sont transmises ● Le droit à la restriction du traitement 19
  • 20. @Xebiconfr #Xebicon18 @_cdufour RGPD - Points concernant l’event sourcing ● Le droit d'être informé ○ La fameuse popup lors de la première visite sur un site ● Le droit à la rectification ● Le droit à la portabilité des données ● Le droit d'accès ● Le droit à l'effacement ○ Y compris chez les tiers à qui les données sont transmises ● Le droit à la restriction du traitement 20
  • 21. @Xebiconfr #Xebicon18 @_cdufour RGPD - Points concernant l’event sourcing ● Le droit d'être informé ○ La fameuse popup lors de la première visite sur un site ● Le droit à la rectification ● Le droit à la portabilité des données ● Le droit d'accès ● Le droit à l'effacement ○ Y compris chez les tiers à qui les données sont transmises ● Le droit à la restriction du traitement 21
  • 22. @Xebiconfr #Xebicon18 @_cdufour Quel rapport avec l’event sourcing ? Immutabilité et droit à l’effacement 22
  • 23. @Xebiconfr #Xebicon18 @_cdufour Event sourcing ● Le RGPD demande de pouvoir effacer les données d’un utilisateur RGPD ● La source donnée est une suite d’évènements immutables 23
  • 26. @Xebiconfr #Xebicon18 @_cdufour Chiffrement raw keysencrypted Peut être ce que l’on veut. Kafka, in memory, postgres etc. 26
  • 28. @Xebiconfr #Xebicon18 @_cdufour Oui ! ● L’algorithme de chiffrement est-il suffisamment robuste ? ○ Nécessité rechiffrer toutes les données toutes les X années ● Le chiffrement a un coût en termes de ressources ● Doit-on chiffrer la donnée intégrale ? Ou champ par champ ? Mais... ● On est maintenant en mesure de rendre les données personnelles inaccessibles ! 28
  • 32. @Xebiconfr #Xebicon18 @_cdufour Oui ! ● On ne peut plus vraiment parler d’event sourcing… ● Comment bien discriminer les données ? ● Comment gérer le versionning des évènements ? Mais... ● On a supprimé le surcoût lié au chiffrement ! 32
  • 34. @Xebiconfr #Xebicon18 @_cdufour Il existe des solutions ● Attention à bien étudier son use case, car le choix de l’event sourcing, ainsi que la gestion du RGPD seront critiques ● L’immutabilité n’existe pas que dans l’event sourcing. Comment être en totale conformité avec ○ Les backups de données ○ Les logs ○ etc. À prendre avec des pincettes ● Le RGPD complexifie l’implémentation de l’event sourcing mais ne la rend pas impossible ● Le plus simple reste peut-être de n’implémenter l’event sourcing que si on ne manipule pas de données personnelles... 34
  • 35. @Xebiconfr #Xebicon18 @_cdufour Remerciements ● Vincent Segouin ● Clément Héliou ● Aurore de Amaral ● Jonathan Raffre Ressources : ● https://danlebrero.com/2018/04/11/kafka-gdpr-event-sourcing/ ● https://bohzo.developpez.com/rgpd-guide-pratique-developpeurs/ ● https://blog.xebia.fr/2017/01/16/event-sourcing-comprendre-les-bases-dun-systeme-e venementiel/ 35