Archives de catégorie : Non classé

Le serverless pour les nuls

Dans cet article, je vais donc vous expliquer les concepts les plus importants à retenir de l’architecture serverless

L’architecture serverless est un modèle de cloud computing dans lequel le client peut créer et exécuter ses applications sans devoir gérer la partie infrastructures et notamment les serveurs, d’où le terme “serverless”, ou “sans serveur” en français.

Evidemment, l’application, et notamment son code, s’exécute toujours sur des serveurs. Parce que oui, on a toujours besoin des infrastructures IT pour faire tourner les applications.

La particularité du modèle serverless elle est simple : le développeur doit juste fournir son code. Tout le reste est pris en charge par le fournisseur de services cloud.

Le modèle “serverless” va donc faire abstraction de la partie infrastructures IT  pour le développeur. Ce qui veut dire que Le développeur s’affranchit ainsi des contraintes de l’infrastructure et peut se concentrer sur son travail : le développement.

Evidemment, il y a des règles à respecter pour rentrer dans le modèle serverless

Premièrement, le développeur va devoir repenser la conception de son code.  En effet, le code d’exécution n’est plus celui de toute l’application, le code d’exécution doit être décomposée en fonctions. Chaque fonction a un seul et unique but. Et l’ensemble de ces fonctions forme l’application. 

D’où le terme « Function as a Service » (FaaS) souvent associé au “serverless”. Le développeur a la responsabilité de coder sa ou ses fonctions. Et Le reste, c’est à la charge du fournisseur de services cloud.

En gros, pour le développeur, ça veut dire :

  • Plus besoin de définir le nombre de serveurs, leur puissance, plus besoin de mettre en service, de mettre à l’échelle, d’entretenir, de superviser, de les mettre à jour, et toutes autres actions concernant la gestion des serveurs.
  • Mais aussi et c’est important : plus besoin de gérer le déploiement de son application  sur les différents serveurs. 
  • Finis aussi les problématiques de stockage, de load balancing ou d’autres problématiques réseau, etc

Pour le développeur, il faut juste déposer son code et le reste c’est le fournisseur de services cloud qui s’en occupe!

Passons au fonctionnement de cette « fonction »

Cette fonction va être déclenchée par des événements. Par exemple si la fonction est sollicitée par une requête HTTP. La requête déclenche l’exécution du code et donc la fonction. Et ici, la requête va déclencher la fonction qui va interroger une base de données (donc une action sur un autre service)

A noter que les événements déclencheurs peuvent être divers : que ce soit l’ajout d’un fichier sur un espace de stockage ou alors une nouvelle entrée dans une BDD

Ensuite, l’hébergeur cloud garantit le scaling automatique de la fonction selon les pics de trafic. Imaginons que la fonction B est beaucoup plus sollicitée que les autres, dans ce cas là, la fonction B sera exécutée plusieurs fois, cad que plusieurs « unités de travail » de la fonction B tourneront en parallèle pour répondre à la charge de travail en hausse. Ici B1, B2 et B3 sont la même instance de la fonction B mais tournant en en même temps pour répondre au pic de charge.

Et a contrario lors de faible charge, seules les unités nécessaires sont éxécutées. Ici la fonction A ne nécessite qu’une seule unité de travail pour traiter la demande.

Et s’il n’y a pas de sollicitation de la fonction alors elle n’est pas exécutée. Comme la fonction C ici que vous ne voyez pas car elle n’est pas lancée car non sollicitée.

Pour aller plus loin sur ce modèle d’architecture par fonctions, je vous invite fortement à regarder sur les microservices où j’explique plus longuement les spécificités de ce type d’architecture.

Autre point structurant du modèle serverless : la facturation

La facturation est basée sur les ressources consommées ou le temps réel d’exécution du code, avec quand même la milliseconde comme unité de paiement. Ce qui veut aussi dire qu’en l’absence de trafic, l’utilisateur ne paie rien.

C’est là tout l’intérêt économique du modèle “serverless”, fini le coût des serveurs : leur achats, leur gestion, leur entretiens, etc. surtout quand ceux ci sont sous utilisés

Et en plus, ce modèle de paiement à l’usage incite à l’optimisation de la performance du code. Réduire le temps d’exécution d’une application serverless permet de diminuer le coût du service, et donc la facture à la fin du mois

Exemple concret : AWS Lambda

Maintenant que vous avez compris le principe, voyons quelques services serverless, le plus connu est AWS Lambda. AWS Lambda est un service d’Amazon Web Services (AWS) et il va suivre les principes que l’on a vu :

  • Il exécute le code seulement quand c’est nécessaire.
  • AWS lambda s’adapte automatiquement à la charge de travail
  • Et le client ne paye que le temps de calcul utilisé.

Le prérequis est d’avoir un code dans un langage compatible avec AWS Lambda comme Node.js, Java, C#  et Python et respecter le temps limite d’exécution de la fonction

Là je parle d’AWS parce que c’est l’offre que je connais le mieux. Mais c’est la même logique derrière Azure Functions de Microsoft et Google Cloud Functions de Google Cloud.

Allez maintenant, on va voir à quoi ressemble une architecture serverless sur AWS

Architecture serverless AWS

L’architecture serverless est la plupart du temps une conception en fonctions qui vont déclencher des actions sur d’autres services.

Dans notre exemple, les 2 fonctions sont développées en utilisant AWS Lambda et sont exposés via une API avec le service AWS API Gateway. Ces API sont le point d’entrée qui déclenche la fonction Lambda voulu.  Ici, on est sur un site web proposant la vente de cookies. Ici le client va demander la liste des cookies vegan. Dans ce cas, la fonction Lambda « Liste » extraire la liste des cookies avec que des ingrédients vegans. Ce qui déclenche le traitement du service dans le service de base de données DynamoDB. Ensuite, Lorsque le client fait un achat de cookies, il déclenche une fonction lambda « Achat » qui enregistre cette entrée dans AWS DynamoDB  

Ensuite, l’architecture serverless est adaptée pour la construction de workflows automatisés basées sur les fonctions Lambdas qui vont servir de liens entre les différents services AWS.

Dans cet exemple : Un nouveau fichier est déposé sur un bucket S3 (bucket S3 étantun service d’espace de stockage dans le cloud). Cette action déclenche une fonction qui va le décompresser et l’insérer dans DynamoDB. Cette écriture dans Dynamo DB va lui même déclencher une autre fonction Lambda qui va lancer le service SNS pour envoyer un SMS de notification

Les limites du modèle

Le serverless n’est pas adaptés à tous les cas d’usage. Les contraintes de temps d’exécution du serverless ne sont pas adaptées pour l’exécution de tâches lourdes et complexes (comme le traitement vidéo par exemple). et plus généralement les applications qui ont un trafic constant. Il y a donc une nécessité de bien concevoir l’architecture d’une application en amont : cela permet de décider si une architecture serverless convient pour l’application.

Enfin, dernière contrainte de ce modèle : c’est la forte dépendance au fournisseur de services cloud et plus particulièrement à son framework : chaque fournisseur de service cloud impose des règles différentes (timeouts, langages supportés, etc.). Ce qui veut dire que pour migrer après ça va être très compliqué. Vous êtes souvent donc prisonnier des règles du fournisseur de services cloud qui peuvent changer.

 

La Transformation digitale / numérique pour les nuls

Le développement technologique s’accélère et les innovations sont de plus en plus nombreuses.  Face à ces changements inévitables, les entreprises ont le choix :

  • Soit elles s’adaptent en s’appropriant ces nouvelles technologies pour innover
  • Soit elles peuvent ne pas réagir et mourir, dépassé par les concurrents qui auront réussi à tirer bénéfices de ces nouvelles technologies.

Et c’est en ça que la transformation numérique est vitale pour les entreprises.

Alors en quoi consiste la transformation numérique( ou appelé aussi transformation digitale)?

 

Il s’agit d’un processus continu permettant aux entreprises d’intégrer les nouvelles technologies, comme par exemple le cloud, l’IoT ou l’intelligence artificielle, et ceci à tous les aspects de leurs activités et aux différents niveau de l’entreprise.

Mais attention, la transformation numérique, ce n’est pas que des problématiques technologiques, il y a un aspect humain très important. Que ce soit par exemple une nouvelle culture à mettre en place, une nouvelle façon de gérer l’humain ou une nouvelle approche des métiers et des process, etc

La transformation numérique est donc une transformation globale de l’entreprise.

 

L’objectif c’est de capitaliser sur ces nouvelles technologies pour créer de la valeur et bénéficier de nouvelles opportunités business.

Sinon il y a risque de se faire damer le pion face par des concurrents plus rapide, ou alors par les GAFA championne du numérique mais aussi par nombreuses start-up qui menace les positions des plus grandes entreprises.

 

Maintenant qu’on a vu les enjeux, voyons 3 piliers cles d’une transformation numérique réussie  :

Le premier est l’expérience client qui doit être une priorité. Pour l’optimiser, les entreprises doivent tirer le meilleur du digital pour pouvoir satisfaire, fidéliser et faire rêver le client. Sinon il ira voir ailleurs. Les nouvelles technologies du digital permettent ainsi de créer de la valeur pour le client.

Pour être un peu plus concret, je vais prendre l’exemple des nouvelles technologies autour de la donnée. La donnée est considéré aujourd’hui par tous comme un élément clé dans cette révolution numérique.

Les entreprises qui vont se demarquer sont celles qui vont maitriser les technologies capable de capitaliser sur ces données pour en créer de la valeur. par exemple avec le big data, et l’intelligence artificielle,

 

Le deuxième pilier est une organisation tournée vers l’agilité . Dans un marché changeant et incertain; être agile est fondamental pour mieux s’adapter aux changements et inbtégrer rapidement les nouvelles technologies. Les projets sont alors plus nombreux et plus rapides à mettre en place.

Cela passe par la simplification de l’organisation de l’entreprise mais aussi les bonnes pratiques pour permettre d’être plus réactif. Par exemple les principes du lean start-up, les méthodes agiles ou le devops.

L’objectif de tout ça est d’avoir surtout avoir un  « time to market » rapide! Le time to market c’est le délai entre la naissance d’une idée et sa mise en place sur le marché. Ce qui veut dire que plus le Time To Market est rapide, plus l’entreprise aura des chances de saisir les opportunités business en proposant des produits ou services intégrant les dernières technologies

Essayer, s’adapter et évoluer en permanence devient un mode de fonctionnement pour les entreprises.

 

Enfin dernier pilier :  La transformation est avant tout une question d’humains !Rassembler les collaborateurs autour d’une vision commune est essetntiel. La simplification de l’organisation et donc la suppression des silos favorise le travail collaboratif, l émerge,ce d’idées et les prises d’initiatives, tout ça étant nécessaires pour développer l’innovation.

Il est aussi primordial attirer, développer et fidéliser les meilleurs profils. Parce que oui, c’est aussi une guerre des talents.

 

Comprendre le métier d’architecte technique

Je suis architecte technique et dans cet article, je vais vous expliquer le métier d’architecte technique.

Avant de savoir ce que fait un architecte technique, il faut d’abord savoir ce qu’est  l’architecture d’un SI. Dans le langage courant quand on parle d’architecture par exemple de pont, d’immeuble, de maison par exemple, on parle de plans de comment ils ont été conçus, structurés, organisés, ils ont été élaboré pour répondre à tels ou tels objectifs. L’architecture d’un SI, c’est la même chose, c’est comment est structuré le SI pour répondre aux objectif de l’organisation.

Et ce SI, il est organisé en différentes 4 couches, et à chaque couche correspond un type d’architecture :

  • Architecture métier définit les processus métiers, la structure organisationnelle, les périmètres métiers des différentes application, c’est là aussi où on va mettre en avant les éléments stratégiques d’un projet
  • Architecture fonctionnelle : c’est la traduction en exigences fonctionnelles des besoins métier. On s’assure que les nouvelles évolutions respectent les besoins exprimés, et plus largement les objectifs de l’organisation.
  • Architecture applicative ou logicielle : c’est l’étape où on va traduire des besoins fonctionnels en fonctionnalités logicielles.  C’est à cette étape que seront décrit les différents composants applicatifs d’une solution mais aussi la communication entre cette solution et les autres applications du SI
  • Et enfin le dernier niveau c’est l’Architecture technique correspond à la mise en oeuvre dans le SI de ce qui a été défini successivement dans les niveaux précédents.Et cette partie ’infrastructure regroupe tous moyens techniques qui constitue le socle technique sur lequel on va faire tourner les applications. Au sens large, l’infrastructure technique inclut les serveurs évidemment, mais aussi le réseaux, systèmes d’exploitation, bases de données, les protocoles de communications, etc.

On parle d’ailleurs souvent d’architecte infrastructure pour désigner les architectes techniques. Et vous l’avez donc compris, moi en tant qu’architecte technique, je m’occupe de ce dernier niveau.

En gros, je vais intervenir sur les projet ou demandes d’évolutions ayant impact sur l’architecture technique du SI (que ce soit des projets de l’infrastructure ou des nouvelles applications qui vont utiliser l’infrastructure)

Sur la partie Infrastructure :

  • L’architecte technique participe à la définition des différentes briques techniques (hébergement cloud, virtualisation, stockage, middleware, etc) et évidemment il doit aussi garantir la cohérence de ces différentes briques techniques
  • Le but est d’avoir in fine des standards techniques pour répondre aux besoins des applications. Par exemple pour un besoin d’environnements virtualisés,, vous avez telle ou telle offre, pour les BDD ou OS, vous avez telle ou telle techno avec tel ou tel version, etc
  • Et c’est justement grâce à ces connaissances que l’architecte technique pourra accompagner la mise en oeuvre des applications sur le SI

Sur le papier, ça a l’air simple mais ça ne l’est pas forcément dans la pratique :

  • D’un côté, le projet va arriver avec une expression de besoins, une feuille de route, les caractéristiques de la solution éditeur, des contraintes de coûts et de planning et des exigences techniques (en terme de perforamnce, de disponiblité ou d’intégrité, ou tout ce qui est SLA)
  • De l’autre côté, Un architecte a un cadre d’architecture à respester ou plutôt à faire respecter, avec des principes d’architecture, des bonnes pratiques, des normes, un catalogues de services d’infrastructures disponibles, des orientations stratégiques, etc
  • Et le but ca va être d’essayer de faire matcher tout ça pour répondre aux différents points structurants dont on vient de parler

L’implémentation de cette application sur le SI sera décrite dans un dossier d’architecture rédigé par l’architecte technique. Et ce dossier d’architecture, c’est en gros comment on réponds aux différents besoins et exigences et autres contraintes :

  • comment les différents les composants applicatifs de l’application seront mis en production  dans le SI existant,
  • et du coup, dans ce DAT, je vais décrire tout ce qu’il faut pour que l’application puisse être mis en production : les machines nécessaires, les composants techniques à installer sur cette machine et dans quel datacenter se situe cette machine, comment cette nouvelle application s’intégre dans le SI, les services d’infra qu’elle va utiliser et les ouvertures de flux à faire qu’il lui faut pour communiquer avec le reste du SI, qu’est ce qui se passe en cas de problème, etc

 

A la fin, je dois garantir au projet que la solution est exploitable et pérenne dans le SI :

  • Et c’est après la validation du DAT que le projet peut commander ses environnements, demander les ouvertures de flux et autres prérequis nécessaire pour mettre en production son application.
  • Et les équipes d’exploitation vont ensuite se baser sur ce DAT pour mettre en production l’application

Par contre, même si l’architecte technique est responsable de la rédaction du DAT. La conception et la validation de la solution n’est pas décidée seul par l’architecte technique. Parce qu’il y a d’une part plusieurs parties prenantes qui valident ce DAT.

Par exemple :

  • Les CDP,
  • les autres architectes, applicatif, fonctionnelles et des architectes d’entreprise,
  • La sécurité notamment les RSI
  • etc.

D’autre part, L’architecte technique c’est un “expert” de haut niveau qui est donc assez généraliste pour lui permettre d’avoir une vision globale du système d’information. mais c’est surtout quelqu’un qui va travailler et s’appuyer sur plein de personnes référentes dans leur domaines que ce soit sur le réseau, les middlewares, exploitation, sur des services d’infrastructure mais aussi sur des experts sur des technos spécifiques.

Là on parle d’acteurs en interne d’une organisation mais cela peut aussi être des prestataires externes que ce soit les editeurs, des intégrateurs, des infogérants, etc

Voilà maintenant, vous savez ce que je fais en tant qu’architecte technique!

La Blockchain pour les nuls

La blockchain qui est juste présentée comme la plus grosse révolution depuis Internet. Rien que ça. Pourquoi?

Parce que tout comme Internet, la blockchain va créer de nouvelles opportunités et faire tomber les barrières à l’entrée de nombreux secteurs d’activité aujourd’hui détenus par des gros acteurs.

La Blockchain sera à la transaction ce qu’Internet a été à l’information. Et dans le cas de la blockchain, ce sont les acteurs qui jouent le rôle d’intermédiaire de confiance dans les transactions qui vont voir leur position être remise en question (banque, notaire, et même les plateformes numériques comme Uber ou AirBnb).

 

Aujourd’hui une transaction financière entre 2 personnes nécessite l’intervention d’un tiers de confiance.

  • Coralie veut faire un virement à Christophe pour lui payer ses carottes,
  • Elle envoie l’ordre de transfert d’argent à sa banque,
  • La banque va vérifier si Coralie possède déjà bien le montant sur son compte et elle va aussi vérifier que c’est bien Coralie qui demande le virement,
  • Et si c’est le cas,  la banque va faire le transfert du montant demandé du compte de Coralie vers le compte de Christophe.

Ensuite, le rôle de la banque est aussi de garder une trace de tout ce que possède ses clients et une trace de l’ensemble des transactions effectuées. Pour notre explication, on dira que la banque stocke toutes ces informations dans un grand livre de compte.

 

Voyons maintenant comment avec la blockchain il est possible de s’affranchir de cet intermédiaire de confiance.

Tout d’abord, avec la blockchain, ce livre de compte devient public . C’est à dire qu’il n’est plus détenu que par un seul acteur mais est distribué à tous : chaque personne possède alors une copie de ce livre de compte et peut consulter l’ensemble des échanges présents et passés. Toutes les personnes qui possèdent ce livre de compte constitue le réseau de la Blockchain.

Reprenons le même exemple mais en appliquant les principes d’une transaction avec la Blockchain :

  • Coralie lance l’ordre de virement
  • Les différentes personnes du réseau vont alors vérifier dans leur livre de compte que Coralie possède bien le montant nécessaire pour la transaction.
  • Si c’est le cas, alors la transaction est validée.
  • Chaque personne va alors écrire cette transaction dans une nouvelle page de son livre de compte, ce qui met à jour tous les livres de compte de la blockchain.

Vous l’avez compris avec la blockchain ce n’est pas un seul acteur central qui valide ou non une transaction mais c’est l’ensemble des membres du réseau.

Maintenant imaginons que vous essayez de tricher par exemple en prétendant posséder plus ou en essayant de falsifier votre livre de compte, eh bien cela se va se remarquer car tous les autres verront que ce n’est pas ce qui est inscrit dans leur copie du registre. Ils contesteront donc l’information.

Et si on y réfléchit bien, dans ce système, on n’a même plus besoin de monnaie physique.

Dès que vous faites une transaction financière, il suffit de l’annoncer et tous les livres de compte mettront à jour l’information. Les livres de comptes font foi sur ce que chacun possède et sur l’historique des transactions. Vous pouvez vérifiez ce que vous possédez et ce que les autres possèdent. Et oui c’est le principe des monnaies virtuelles comme le bitcoin. On y reviendra plus tard.

Dans la vraie vie évidemment, ce ne sont pas des livres qui stockent et traitent l’information mais des machines avec de la puissance de calcul comme des ordinateurs ou des serveurs.

Techniquement, la blockchain peut donc être vu comme une base de donnée distribuée sur différents noeuds de stockage. Ces noeuds de stockage, ce sont les utilisateurs qui vont apporter avec leur machines de la puissance de calcul et de l’espace de stockage pour faire fonctionner la blockchain.

La blockchain est donc un système décentralisé maintenu par les participants du réseau eux-mêmes.

 

Tout comme le livre de compte est constituées des pages de transactions, la blockchain est une chaîne formée de “blocs de transactions”.

Chaque échange effectué entre ses utilisateurs est enregistrés sous forme de « blocs » qui, mis bout à bout, forme donc une « chaîne ». D’où la notion de “blockchain” chaîne de blocs.

Chaque bloc de la blockchain contient :

  • un ensemble de transactions, évidemment
  • Ensuite un bloc est caractérisé par un “hash”, le hash c’est une suite de caracteres unique servant à identifier le bloc, c’est l’empreinte du bloc en gros
  • Enfin, le bloc contient aussi le “hash” du bloc précédent qui est donc l’identifiant unique du bloc qui le précède (pour garantir l’ordre du bloc dans la blockchain)

 

Bon, maintenant, je vais entrer un peu plus dans le détails pour vous expliquer ce hash. Cela fait appel à des notions de cryptographie mais pas de panique je vais vous expliquer ça simplement.

En gros, un algorithme de hashage : c’est une fonction mathématique qui  va transformer un ensemble de données de départ en une suite de caractères.

Cette suite de caractère est donc le hash et il est spécifique et unique aux données qui ont été prises au départ, ce qui veut dire que Tout changement même infime dans le message implique un important changement du hash.

Ensuite, les fonctions de hashage ont une spécificité : elles ne marchent que dans un sens. Il n’est donc pas possible de retrouver le message initial à partir du hash,

On ne peut rien faire de la seule suite de caractère du hash

Le hash permet seulement d’avoir la garantie que les données de départ n’ont pas été modifié par quelqu’un.

Parce que s’il est modifié, le hash sera modifié et vous le verriez tout de suite.

Ici par exemple, on peut voir de façon évidente que le hash du bloc 5 de Christophe est différent, on peut donc en déduire que son bloc a été modifié.

 

Revenons maintenant au hash d’un bloc. Un nouveau bloc est identifié par son hash comme on l’a vu.

Et ce hash est notamment calculé à partir du:

  • hash du bloc précédent
  • et Les transactions validées du bloc

 

Passons maintenant au dernier point important de la Blockchain liée à la cryptographie : la signature électronique.

Chaque demande de transaction dans la Blockchain doit être signé par l’émetteur pour être validé.

Ainsi, si Nicolas essaye de dire que « Coralie donne 1000 BTC à Nicolas », les autres ne vous croiront pas tant qu’ils n’auront pas la preuve que c’est bien Alice qui a envoyé le message, et cette preuve c’est la signature d’Alice.

Pour comprendre le concept de signature électronique, on va rapidement voir le concept de cryptographie asymétrique.

Prenons encore l’exemple de Coralie qui veut signer son message, pour ça, elle va avoir besoin de génèrer un paire de clés de chiffrement :

  • Une clé privée, qui ne doit être communiquée à personne. Alice doit être la seule à posséder cette clé privée
  • Et une clé publique, qui peut et doit être communiquée à tout le monde. Ces clés publique sont stockés sur chaque ordinateur du réseau.
  • Ces 2 clés publiques et privées sont liés mathématiquement. On va voir maintenant en quoi.

 

Coralie veut lancer un ordre de virement (ex : »Je donne 10 BTC à Christophe), elle va chiffrer ce message à l’aide de sa clé privée. Chiffrer un message, ça veut dire le rendre incompréhensible. Pour pouvoir lire ce message de nouveau, il est nécessaire de le déchiffrer et le seul moyen c’est d’utiliser la clé publique associée créée par Coralie. En fait seule cette clé publique est capable de déchiffrer les messages qui ont chiffres avec cette clé privée.

Pour déchiffrer ce message sensée venir  de Coralie, les autres personnes du réseau vont donc utiliser la clé publique donnée par Coralie.

Si on a réussi à déchiffrer son message à l’aide de la clé publique de Coralie , alors on sait que que le message est bien de Coralie, parce que seul Coralie possède la clé privé associé.

C’est comme ça que dans la blockchain, les différentes personnes du réseau s’assure bien de l’identité du donneur d’ordre

Point suivant encore lié à la cryptographie et c’est le dernier rassurez-vous!

Dans la Blockchain, il n’y a pas de vrais noms.  Et heureusement! Vous n’avez tout de même pas envie que tout le monde sache ce que vous possédez et ce que vous faîtes comme transactions. Dans la pratique, on transfère les actifs d’une adresse à une autre.

L’adresse est tout simplement une hash de la clé publique. Quand un utilisateur génère une paire de clés, il génère donc automatiquement une adresse à partir de sa clé publique. C’est à cette adresse que les BTC seront envoyé. Grâce à ce système, l’anonymat des utilisateurs est préservés

C’est justement pour pouvoir garder l’anonymat que les cybercriminels demandent des versements en bitcoins via leur ransomware.

 

 

Les 2 blockchains les plus connus sont aujourd’hui Bitcoin (principalement) et Ethereum qui commence à faire parler d’elle. Ces blockchains fonctionnent avec leur propre cryptomonnaie

La blockchain Bitcoin a une cryptomonnaie qui porte le même nom, Bitcoin donc alors que la cryptomonnaie de la BC Ethereum est l’Ether. D’ailleurs Ethereum permet bien plus que les transactions en cryptomonnaie mais ça on verra plus tard dans la vidéo avec les smart contracts.

A noter que les noeuds du stockage sont aussi appelés les “mineurs”. Et Lorsque l’on parle de « miner » des bitcoins, cela veut dire utiliser la puissance de calculs des machines pour la résolution des problèmes mathématiques pour générer un nouveau bloc. Les mineurs qui ont permis de créer un nouveau bloc sont ensuite rémunérés pour ce travail avec de nouveaux bitcoins

 

Maintenant, prenons un exemple de transaction en bitcoin pour voir comment ça marche maintenant qu’on a tous les principes de la blockchain en tête.

  • Coralie veut transférer un bitcoin à Christophe. Elle transmet cette demande à l’ensemble du réseau.
  • Les mineurs vont vérifier l’ensemble de la blockchain pour s’assurer que Coralie possède bien ce bitcoin mais ils vont aussi vérifier que l’ordre donné émane bien de Coralie
  • Si tout est OK, alors chaque mineur travaille à forger un bloc contenant cette transaction
  • Le premier mineur qui réussit à créer le bloc transmet ce bloc aux autres membres pour vérification.
  • Pour qu’un nouveau bloc soit validé, il faut qu’il y ait un consensus entre les différents membres du réseau.
  • Revenons à notre transaction. Une fois le bloc validé par les membres du réseau, chacun ajoute ce dernier bloc deans leur copie de la blockchain
  • Et enfin, Christophe possède alors un nouveau bitcoin

Chaque nouvelle transaction ajoutée à la blockchain, ne pourra être effacée. Cela permet d’assurer la validité et l’authenticité d’une transaction

Jusqu’à présent on a parlé que de cryptomonnaies mais on peut très bien étendre ce principe de transferts à d’autres actifs

C’est par exemple le cas avec les titres de propriétés.

Au Ghana, une majorité des territoires ruraux ne sont pas enregistrés dans un cadastre officiel. Bitland, une organisation basée au Ghana, propose alors aux institutions et aux personnes d’enregistrer les titres de propriété sur la blockchain. La blockchain fournit un enregistrement permanent et vérifiable, et permet de cette façon d’aider le gouvernement ghanéen à résoudre les conflits.

Autre exemple d’actifs stockés dans la blockchain? Les diplômes. Le Massachussets institute of Technology  ou MIT commence à utiliser la blockchain pour certifier le diplôme de leurs étudiants. Le MIT associe le diplôme avec l’identifiant unique de l’étudiant. Ces données sont cryptées, grâce à une clé privée du MIT, et stockées dans la blockchain.

Les jeunes diplômés peuvent ensuite transmettre leur diplôme aux recruteurs, qui peuvent vérifier l’authenticité des informations sur un site du MIT.

Et à terme On peut même imaginer stocker dans la blockchain tous les documents légaux  (par exemple des certificats de naissance, mariage, divorce, testament, etc).

Autre cas d’usage : le caractère inaltérable et transparent de la blockchain permet de garantir la traçabilité d’un actif.

Et c’est pour ça que Carrefour a créee la première blockchain alimentaire en Europe. Le but est de garantir aux consommateurs  une traçabilité complète des produits commercialisés. Ainsi, tous les poulets d’Auvergne de Carrefour intégre un QR Code. Avec ce QR code, vous accèdez à l’historique des événements de la vie, de l’élevage, de la mort et du transport du poulet. Le client pourra s’assurer que le poulet a été élevé dans les conditions exigées par Carrefour.

Et enfin il y a une dernière utilisation de la blockchain qui très peu évoqué et qui pourtant peut être à l’origine de nombreuses d’innovations : ce sont les smart contracts. Et c’est ce que je vais vous expliquer maintenant.

Un contrat légal traditionnel définit les règles d’un accord entre plusieurs parties. Un Smart Contract va lui figer ces règles dans une Blockchain. Mais ce n’est pas tout : Dans un second temps,le Smart contract permet de déclencher automatiquement des actions en fonction des conditions fixés par le contrat, et tout ça sans nécessité d’action humaine. C’est pour ça qu’on les qualifie de « smarts »ou intelligents en français

Concrètement, c’est du code logiciel qui fonctionnent sur une chaine de blocs et est déclenché par des données externes

Allez un petit exemple de smart contracts :

Et c’est d’ailleurs en s’appuyant sur la Blockchain Ethereum que la société d’assurance Axa a lancé son premier smat contract Fizzy qui une assurance voyage pour les retards de vol d’avion entre Paris et les Etats-Unis.

Ce smart contrat déclenche automatiquement l’indemnisation de l’assuré en cas de retard de son avion  et tout ceci sans avoir besoin d’une intervention humaine

 

Et comme je l’ai dit au début, la blockchain a le potentiel pour « ubériser Uber ». Avec la  blockchain, les utilisateurs peuvent effectuer des transactions de pair-à-pair c’est à dire directement entre eux : que ce soit avec un chauffeur, un loueur ou un autre particulier.

Ce qu’il est possible de se passer des plateformes intermédiaires, comme Uber, AirBnB, Blablacar qui constituent aujourd’hui le cœur de la révolution numérique apportées par Internet

 

Démystifier le RGPD / GDPR (avec la CNIL)

Vous avez dû surement voir énormément de titres racoleurs sur le RGPD :

  •         “Etes-vous prêt pour le RGPD?”
  •         “Attention, le RGPD arrive! Préparez vous !”
  •         “Faites le quizz pour savoir si vous êtes conforme au RGPD”
  •         “Le TOP 10 des raisons pour se mettre au RGPD, le 4ème va vous étonner!” (Bon OK, ça je l’ai inventé)

Tout ça montre que le RGPD est un sujet qui suscite beaucoup d’interrogations. Et c’est pour cette raison qu’avec la CNIL, on a décidé de faire cette vidéo FAQ spécial RGPD pour répondre à vos questions.

 

 

 

Petit rappel du RGPD

RGPD veut dire Règlement général sur la protection des données. On voit aussi souvent le terme GDPR qui est la traduction en anglais pour General data protection Regulation.

Il s’agit du texte de référence européen en matière de protection des données personnelles pour les résidents de l’Union européenne. En gros, le RGPD va harmoniser la régulation des données personnelles  dans l’ensemble des pays de l’Union Européenne.

Et Il est applicable à partir du 25 mai 2018.

Par donnée personnelle on entend « toute information se rapportant à une personne physique identifiée ou identifiable » donc, à la fois des données de type nom, prénom, un numéro d’identification, des données de localisation, un identifiant en ligne, etc,

 

 

Q1 de Philippe par mail : Vous parlez des structures qui vont être impactées dans votre vidéo  mais il semble après avoir surfé sur le Web que toutes les entreprises ne sont pas concernées.

Pourriez-vous me dire précisément quels sont les critères qui font qu’une structure doit mener des actions en lien avec RGPD ?

La règle d’or, c’est que le RGPD s’applique à une organisation à chaque fois :

  • qu’ elle traite des données personnelles,
  • qu’un résident européen est directement visé par un traitement de données.

En d’autres termes cela veut dire que le RGPD s’applique aussi bien sur

  •  une organisation établie sur le territoire de l’Union européenne
  •  qu’une organisation hors UE qui met en œuvre des traitements pour fournir des biens et des services aux résidents européens.

Exemple : Les entreprises US comme Uber, les GAFA ou les sites de ecommerce chinois doivent donc respecter le RGPD dès lors qu’ils ciblent les résidents européens.

Le RGPD s’applique à tous les organismes quelque soit leur taille, leur secteur ou leur caractère public ou privé.

Le RGPD concerne donc :

  •         Les entreprises
  •         Les organismes publics,
  •         Les associations
  •         Ainsi que les sous-traitants dont les activités rentrent dans ce cadre

Toutes les entreprises doivent respecter le règlement.

Mais en fonction de la sensibilité des données, de leur volumétrie et des impacts des données sur le business, le travail de conformité au RGPD de l’organisation sera différent.

Exemple : Une grosse entreprise multinationale (de grande surface par exemple) qui traite de volumétrie importante de données aura des problématiques plus importantes sur la gestion et le suivi, et l’organisation interne de ses données.

Alors qu’une startup de santé qui gère peu de clients mais qui traite des données relatives à leur santé (donc avec un fort impact sur les libertés des personnes). Cette startup va avoir un plus gros travail de sécurisation des données (peu de données mais des données très sensibles)

Voici les types de données considérées comme sensibles

  • des données qui révèlent l’origine prétendument raciale ou ethnique, les opinions politiques, philosophiques ou religieuses, l’appartenance syndicale,
  • des données concernant la santé ou l’orientation sexuelle,
  • des données génétiques ou biométriques,
  •  des données d’infraction ou de condamnation pénale,

Enfin concernant les structures impactées, il faut aussi prendre en compte les sous traitants. Et c’est un grand changement du RGPD, il est à noter que les sous-traitants ont désormais une responsabilité propre et sont tenus de respecter des obligations spécifiques.

Ils ont notamment une obligation de conseil auprès du responsables de traitement (donc leur client) et doivent donc l’aider à respecter le règlement, ou encore une obligation d’assurer la sécurité des données qui leur sont confiées.

Le responsable du traitement (l’entreprise qui contracte avec le sous-traitant) n’est donc plus le seul responsable. Le sous-traitant l’est aussi.

Donc avec le RGPD, le responsable de traitement et le sous-traitant pourront être sanctionnés !

 

Q2 Quel impact aura le #RGPD pour le monde associatif ? Des infos précises au sujet de la mise en conformité de ces structures ?

Oui cela concerne les associations comme on l’a vu. Et voici plus concrètement les actions pour la mise en conformité au RGPD pour les associations.

Une petite association qui souhaite refaire son site et qui prévoit de collecter des données devra notamment prévoir des mentions d’information :

  •  informer les personnes de qui est derrière la collecte,
  •  combien de temps seront conservé les fichiers
  •  la finalité des données collectées
  •  et comment les personnes peuvent exercer leurs droits

Pour information, Vous avez même un Générateur de mentions dans les liens dans la description (qui a été fait par la CNIL pour vous aider : https://www.cnil.fr/fr/modeles/mention

Et comme l’association traite des données (un fichier d’adhérents, un fichier RH sur ses salariés…), elle devra :

  • tenir un registre des traitements de ces données.
  • être en mesure de répondre à des sollicitations d’une personne de qui on a récupéré des données à accéder à ces informations (accès, modification et droit suppression)
  • penser à prévoir des clauses sur la protection des données dans le contrat qu’elle passe avec un sous traitant.

 

Q3 Si je ne suis pas une organisation mais que je collecte des données personnel sur mon site je rentre dans le cadre de cette loi?

Cela dépend de la finalité, si c’est pour une activité exclusivement personnelle, le RGPD ne s’applique pas.

Mais si c’est dans le cadre pro et que vous tentez par exemple d’en tirer des revenus comme avec bannières publicitaires, vente de données, partenariats, etc, ça rentre dans le champ du RGPD

Autre cas, si c’est fait dans le cadre pro et même si vous ne retirez aucun bénéfice par exemple en tant que consultant d’une société X, vous donnez des conseils sur un blog pro, le RGPD s’applique

Et pour rappel, dans tous les cas, la protection de la vie privée est un  principe énoncé à l’article 9 du code civil et même dans la Charte des droits fondamentaux de l’UE et ça, ça concerne tout le monde !

 

 

Q4 : Le DPO c’est que pour les grandes entreprises ?

NON!

Toutes les organisations peuvent désigner un délégué. Dans certains cas, désigner un DPO est obligatoire.

Pour rappel, le DPO (Data protection officer) ou Délégué à la protection des données, c’est le « Chef d’orchestre » de la conformité en matière de protection des données au sein de son organisme,

Ses missions vont être  :

  • d’informer et de conseiller l’organisation, ainsi que leurs employés ;
  • de contrôler le respect du RGPD ;
  • de conseiller l’organisme sur la réalisation d’une analyse d’impact relative à la protection des données et d’en vérifier l’exécution ;
  • de coopérer avec la CNIL et d’être son point de contact privilégié

A noter que pour les petites structures (ex: startup où il y a peu personnes), il est évidemment possible de faire appel à un délégué externe, partagé avec plusieurs organismes.

Le DPO est obligatoire pour les cas suivants :

  •  Tous les organismes publics, (ex.une mairie, un ministère)
  •  Les organisations dont les activités de base exigent un suivi régulier et systématique à grande échelle des personnes concernées (ex : compagnie d’assurance, banques, publicité ciblée sur internet  exemple). Pas nécessaire pour un fleuriste
  •  Les organismes dont les activités de base les amènent à traiter à grande échelle des données dites « sensibles » (ex. un hôpital, une compagnie d’assurance, un site de rencontre).

Plus d’informations sur le DPO : https://www.cnil.fr/fr/devenir-delegue-la-protection-des-donnees

 

Q5 : Est-ce qu’il y a un label qui prouve qu’on est conforme au RGPD?

Alors, la CNIL délivre bien des labels qui sont pour l’instant que sur 4 domaines spécifiques. Oui des labels sont prévus pas le RGPD mais ce n’est pas obligatoire pour justifier qu’on est conforme au RGPD.

Pour prouver sa conformité au RGPD, le plus important est de mettre en place un certain nombre d’actions et  prouver par une documentation écrite que vous assurez une protection des données en continu. C’est ce qu’on appelle « l’accountability ». Cela revient donc à montrer comment des actions ont été mises en œuvre et à les rendre vérifiable. On pourrait le traduire en français par l’« obligation de rendre compte ».

Voici un exemple de démarches pour aller vers la conformité au RGPD

On va les séparer en 3 grandes étapes :

Pour commencer :

  • Il faudra mettre des mentions d’information sur vos formulaires. Et j’en ai déjà parlé mais j’insiste encore une fois mais il est très important d’informer de la finalité des différentes données collectées
  • mettre un formulaire de contact pour que les gens qui se souhaitent puissent accéder à l’ensemble des données qui les concernent,
  • Demander dans certains cas l’accord des personnes et leur donner la possibilité de retirer leur accord.
  • assurer, des mesures sécurité des données adaptées à la sensibilité du fichier.

Dans un second temps, il faudra :

  •  Analyser votre SI, vos fichiers et tous les documents qui contiennent des données personnelles.
  •  Vous devrez également élaborer un registre des traitements.
  •   Pensez aussi à revoir les clauses de confidentialité passées avec vos sous-traitants exemple de clause à adapter ici https://www.cnil.fr/fr/sous-traitance-exemple-de-clauses
  •  Notifiez à la CNIL les violations de données dont vous êtes victimes

Enfin, si vous traitez, par exemple, des données sensibles ou à risque ou que vous faite du tracking à grande échelle Une analyse d’impact sur la protection des données (PIA) est obligatoire car il y a un risque élevé pour les personnes concernées ! Elle vous permet d’anticiper et traiter les risques pour les droits et libertés des personnes.

 

 

Q6 Est ce que les sanctions touchent aussi les organisations publiques?

Pour rappel les sanctions du RGPD peuvent aller jusqu’à 4 % du chiffre d’affaires annuel mondial ou 20 millions d’euros.  La somme la plus importante entre les 2 est retenue.

 

Il y a une vrai nécessité pour les collectivités de prendre en compte les exigences car en cas de manquement – et outre des avertissements publics – les CNIL européennes pourront prononcer des amendes administratives allant jusqu’à 20 millions d’euros.

Enfin, il estr à noter que l’l’Etat ne peut pas recevoir de sanction financière, contrairement aux collectivités territoriales. Par contre, l’Etat peut quand même être sanctionné (avec des. sanction publiques par exemple)

 

Q7 Quel est le délai raisonnable de réponse d’un site internet pour la demande d’informations sur les données perso renseignées ?  

Délai raccourci pour les droits : meilleurs délais ! Ce qui veut dire 1 mois maximum après réception de la demande.

Prolongation possible de 2 mois mais uniquement si vous en informez la personne et que vous prouvez que la demande est complexe et nécessite un délai supplémentaire

 

Q8 Quid des délais obligatoires et réglementaires de conservation des données (paie, RH, compta, etc… ) vs droit d’effacement RGPD ?

Dans le cadre du futur règlement, les organismes doivent tenir une documentation interne complète et notamment « un registre » sur leurs traitements de données personnelles.

Un registre permet de justement de s’assurer que les différents traitements respectent bien les nouvelles obligations légales et notamment les durées de conservation.

Ce qui implique notamment de fixer des règles strictes pour déterminer :

  • Quelles données qui doivent être supprimées une fois que l’objectif est atteint ?
  • Quelles données qui doivent être conservées au titre d’obligations légales ?

Par exemple une facture doit être conservée 10 ans mais uniquement dans « vos archives intermédiaires ». En clair, les données existent toujours mais ne seront plus accessibles que par le comptable ou le service contentieux de l’entreprise.

 

Dernière partie :  les confusions

Parmi les questions qui ont été posées, j’ai vu qu’il y avait beaucoup de confusions et d’incompréhension, ou d’idées reçues du coup, je vais faire cette dernière partie pour revenir sur ça en disant ce que le RGPD n’est pas.

LE RGPD est un big bang :

RGPD ce n’est pas un big bang, le RGPD n’est pas apparu comme ça du jour au lendemain.

Pour rappel, il existait déjà la loi Informatique et libertés qui date de 1978 qui est une  loi française dont le but est de réglementer le traitement des données personnelles, c’est-à-dire préserver les libertés des personnes dans un contexte d’informatisation croissante de la société.

Depuis 1978, elle a été modifiée à plusieurs reprises pour se conformer aux directives européennes et à l’évolution des usages.

Le Règlement Général sur la Protection des Données (RGPD) vient donc renforcer la loi Informatique et libertés qui fera l’objet d’une adaptation.

RGPD : seulement des solutions techniques ?

RGPD, ce n’est pas une préconisation de solutions techniques d’anonymisation des données, de chiffrements, etc. parce qu’il y avait beaucoup de questions sur le sujet.

Le RGPD c’est un cadre pour définir ce qui est attendu en termes de protection des données personnelles des résidents européens pour que les organisations puisse s’y conformer et être sûr que ce soit le cas à différents niveaux (SI, process, documentation, etc)

En parlant de ça, on voit souvent des outils (logiciel, solution hardware) certifiés RGPD dont l’achat permet  d’être 100 % conforme au RGPD

La conformité au RGPD ne dépend pas d’une solution technique. La conformité s’obtient par un effort soutenu à tous les niveaux, combinant des mesures humaines (comme sensibiliser les utilisateurs), des mesures organisationnelles (prévoir des procédures pour gérer les incidents afin de pouvoir réagir en cas de violation de données, gérer la sous-traitance…) et des mesures techniques (comme authentifier les utilisateurs et gérer les habilitations, sécuriser les postes de travail, sécuriser les échanges avec d’autres organisations).

Et pour avoir un premier guide des chantiers à mener, vous avez le guide de sécurité de la CNIL : https://www.cnil.fr/fr/principes-cles/guide-de-la-securite-des-donnees-personnelles

Enfin, pour terminer ce post, je tiens à remercier la CNIL pour leur aide. Et ça a été un vrai plaisir de collaborer avec eux pour faire cette vidéo.

Liens utiles vers de la documentation rédigée par la CNIL pour vous aider à mieux comprendre le RGPD et se conformer au règlement :

https://www.cnil.fr/fr/principes-cles/guide-de-la-securite-des-donnees-personnelles

https://www.cnil.fr/fr/principes-cles/reglement-europeen-se-preparer-en-6-etapes

https://www.cnil.fr/fr/cartographier-vos-traitements-de-donnees-personnelles

https://www.cnil.fr/fr/outil-pia-telechargez-et-installez-le-logiciel-de-la-cnil

https://www.cnil.fr/fr/sous-traitance-exemple-de-clauses

https://www.cnil.fr/fr/modeles/mention

https://www.cnil.fr/fr/devenir-delegue-la-protection-des-donnees