« Rust: the Future of Systems Programming » par Josh Triplett à l’Open Source Technology Summit 2019

Logo officle Rust

Voici un résumé complété de quelques notes d’une vidéo de Josh Triplett, ingénieur système chez Intel, sur l’utilisation de Rust dans ce qu’il appelle la programmation système.

Définition du « systems programming »

Josh Triplett définit le « systems programming » (programmation système) par le développement logiciel de composants tels que : BIOS, firmware, bootloaders, kernel, systèmes d’exploitation, équipements embarqués, machines virtuelles et (surprise) navigateurs webs ! De toute évidence ce dernier point ne fait pas l’unanimité. Selon Josh Triplett, la grande complexité des navigateurs web et leurs nombreuses fonctionnalités et interactions justifient leur intégration dans la définition. Ce n’est pas la 1ère fois que les navigateurs webs sont comparés à de véritables systèmes d’exploitation, d’ailleurs c’est sur cette base que Google a créé son système d’exploitation ChromeOS pour ses ordinateurs Chromebooks.

Le systems programming est autrefois passé de l’assembleur au langage C

Les ingénieurs ont longtemps continué à développer les BIOS, firmwares et bootloaders directement en assembleur tandis que pour les autres logiciels on utilisait déjà des langages de programmation avancés. Aujourd’hui, ils sont quasiment intégralement programmés en C et complétés en assembleur.

Que faut-il pour permettre un changement de langage ?

Un basculement d’un langage de programmation à un autre n’est possible qu’à 2 conditions : des fonctionnalités (features) inédites suffisamment intéressantes dans le nouveau langage, et la parité (parity) c’est-à-dire un nouveau langage au moins aussi « capable » ou autrement dit qui permet de faire tout ce que permet l’ancien langage aussi bien, sinon mieux.

Fonctionnalités intéressantes

Il est important que les apports soient non importants afin de compenser l’effort nécessaire pour changer de langage.
Exemples de fonctionnalités intéressantes : sûreté du typage (type safety), des constructions abstraites (high-level constructs), du code plus lisible, …

Parité du C avec l’assembleur

C peut faire à peu près tout ce que fait l’assembleur, n’est pas sensiblement moins rapide dans la plupart des cas, et permet si besoin d’exécuter directement du code assembleur. Sans cela, il n’aura probablement jamais remplacé l’assembleur en tant que principal langage de programmation système !

C is the new assembly

Aujourd’hui, de nombreux développeurs veulent utiliser d’autres langages que le C principalement pour 2 raisons :
– Les difficultés du C (notamment les buffer overflows ou la gestion de la mémoire mais pas seulement)
– Les fonctionnalités offertes par d’autres langages
La gestion automatique de la mémoire est une obligation incontournable pour tout langage de programmation de plus haut niveau que le C pour la programmation système mais ne suffit pas pour être une alternative intéressante.
La facilité d’utilisation et l’efficacité d’un langage vont de pair avec la sécurité : écrire moins de code permet de limiter les risques d’erreur. De la même manière, automatiser des tâches difficiles et promptes à l’erreur (exemple : la gestion de la mémoire) limite l’erreur humaine.

Hors, la parité est jugée difficile à atteindre par Josh pour la programmation système.

Is Rust the new C?

Rust peut être considéré comme une alternative intéressante au C pour la programmation système selon Josh.

Genèse du Rust

Développé par Mozilla, le langage de programmation Rust a été pensé pour être fiable et très performant pour permettre de construire des systèmes complexes comme un navigateur web.
Il faut savoir que Firefox est programmé dans plus d’une dizaine de langages de programmation ce qui rend très complexe certaines tâches de développement ou de maintenance !

Gestion de la mémoire automatique : la façon Rust

Rust gère automatiquement la mémoire, contrairement au langage C. Rust n’utilise pas de garbage collector (processus automatisé qui libère régulièrement la mémoire qui n’est plus référencée, au détriment des performances) comme les langages Python, C#, Go, Java ni de runtime comme le langage Java (on détaille à la suite les inconvénients d’un runtime).

Rust utilise son concept original de propriété (ownership).
Tout objet dans la mémoire a un propriétaire. La propriété d’un objet a toujours un périmètre donné / une durée de vie ou validité (appelé lifetime). Le propriétaire d’un objet peut être typiquement la variable qui « est » ou pointe vers cet objet, qu’il soit dans la pile ou sur le tas (selon le type d’objet). Si on veut manipuler un objet existant, on peut le faire de 2 manières : en l’empruntant ou en le copiant.

L’emprunt

Il existe 2 types d’emprunt (borrowing) : mutable (modifiable) ou partagée (non mutable). Si on emprunte un objet en mutable, on ne peut pas l’emprunter par ailleurs simultanément (ni en mutable ni en partagé). On peut par contre avoir pour un même objet plusieurs emprunts partagés simultanés (comme le nom l’indique).
Chaque emprunt a un lifetime. Ce concept permet de garantir le partage fiable (safe) de la mémoire entre les variables et fonctions d’un programme via les emprunts.

La copie

Si on copie un objet, on est le propriétaire de la copie. On ne manipule plus l’objet original. Par exemple, copier un integer de 32 bits crée un nouvel integer de 32 bits sur la pile. Lorsqu’un objet est détruit, toute la mémoire est libérée (dans la pile et sur le tas suivant le type d’objet), en général sans impact notable sur la performance à l’exécution.

Au contraire en C, la mémoire est gérée manuellement par les développeurs. Un exemple est donné de scénario de problème de gestion de mémoire : dans le cas de l’usage d’une bibliothèque, la documentation peut préciser qu’une fonction renvoie un nouvel objet qu’il faudra libérer après usage, ou renvoie une référence à une partie d’un objet qu’il ne faudra pas libérer avant d’avoir terminer avec l’objet englobant. Une erreur d’un développeur peut alors mener à des bugs pouvant même affecter la sécurité du logiciel, hors l’erreur est humaine ! Au contraire, Rust s’occupe de ces aspects à la place du développeur.

Absence de runtime en Rust

L’absence de runtime est nécessaire en programmation système pour rivaliser avec le C. Un runtime ne permet pas efficacement la programmation système car il implique d’initialiser certains éléments avant l’exécution de tout code et ne permet pas de maitriser complètement tout le code qui est exécuté.

Programmation concurrente fiable

Rust permet plus facilement qu’avec d’autres langages comme le C de faire de la programmation concurrente fiable (« safe »). Il est utilisé par Firefox Quantum notamment pour mettre en forme les pages web via le CSS de manière fragmentée, en traitant en parallèle différentes parties de la page. C’est une tâche très complexe car elle nécessite de tracer exactement les interdépendances entre les différents éléments de la page. L’article Mozilla plus bas témoigne de plusieurs échecs de Mozilla de développer une telle fonctionnalité avec d’autres langages. Il se trouve par que la gestion automatique de la mémoire de Rust permet également de facilement suivre l’interdépendance des processus, threads et objets du langage.

Quelques enquêtes avec des chiffres intéressants sur Rust et les problèmes de gestion de la mémoire :
– Rust est le langage favori des développeurs depuis 3 ans (version 1.0) selon Stack Overflow
70% des bugs affectant la sécurité des produits Microsoft sont liés à la gestion de la mémoire
– 73.9% des bugs de sécurité du composant de firefox appliquant les feuilles CSS aux pages web n’auraient pas pu exister, le composant fut-il écrit en Rust

La parité du Rust vis-à-vis du C

Pour certains types de développement, Rust n’est pas encore aussi capable que le C.
Voici 3 fonctionnalités de C incontournables que Rust permet et qui les rendent interopérables :
– Les fonctions : Rust peut utiliser les fonctions C ou fournir des fonctions que C peut utiliser
– Structures : Rust permet de construire des structures compatibles avec les structures C et peut manipuler les structures C
– Pointeurs : Rust permet de manipuler les pointeurs directement, comme le C

Rust est donc souvent utilisé par-dessus du C pour construire des structures plus complexes (et compatibles avec le code C existant) comme des APIs.

Josh travaille actuellement à la parité du Rust avec le C. Il a travailler à l’intégration de l »union (fonctionnalité du C) à Rust dans le cadre d’un projet de machines virtuelles en Rust. Il a créé et fait partie d’un working group pour la full parity entre Rust et le C, notamment ses plus communes extensions. Il travaille à la réduction de la taille des binaires produits par le compilateur de Rust, l’intégration de l’assembleur dans le Rust de manière plus fiable que le C, la meilleure maitrise des fonctionnalités offertes par les processeurs sous-jacent : vérifier que certaines fonctionnalités sont disponibles lors de la compilation, utiliser des formats nouveaux comme le bfloat16 (utilisé par exemple en machine-learning par Tensorflow sur des processeurs Intel).

Beaucoup d’autres fonctionnalités sont actuellement en cours de développement pour permettre la full parity, et plus encore.

Notes de fin

Première article sur un langage de programmation, le Rust est plutôt en vogue. Mozilla semble avoir frappé fort, espérons qu’ils continuent à contribuer à l’informatique en développant des technologies fiables et sécurisées !
Merci à Victor pour ses éclaircissements sur le concept de propriété du Rust.

certbot : fin de TLS-SNI-O1, mise-à-jour et changement du mode d’authentification

alt text

Le 18 et le 26 janvier 2019, j’ai reçu 2 mails de noreply@letsencrypt.org

Voici le 1er :


De : noreply@letsencrypt.org
Sujet : Action required: Let’s Encrypt certificate renewals

Hello,

Action is required to prevent your Let’s Encrypt certificate renewals from breaking.

Your Let’s Encrypt client used ACME TLS-SNI-01 domain validation to issue a certificate in the past 60 days.

TLS-SNI-01 validation is reaching end-of-life and will stop working on February 13th, 2019.

You need to update your ACME client to use an alternative validation method (HTTP-01, DNS-01 or TLS-ALPN-01) before this date or your certificate renewals will break and existing certificates will start to expire.

If you need help updating your ACME client, please open a new topic in the Help category of the Let’s Encrypt community forum:

https://community.letsencrypt.org/c/help

Please answer all of the questions in the topic template so we can help you.

For more information about the TLS-SNI-01 end-of-life please see our API announcement:

https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209

Thank you,
Let’s Encrypt Staff


Suivi du second qui le complète :


De : noreply@letsencrypt.org
Sujet : Action required: Let’s Encrypt certificate renewals

Hello,

Action may be required to prevent your Let’s Encrypt certificate renewals
from breaking.

If you already received a similar e-mail, this one contains updated
information.

Your Let’s Encrypt client used ACME TLS-SNI-01 domain validation to issue
a certificate in the past 60 days. Below is a list of names and IP
addresses validated (max of one per account):

l.q.d.n (1.2.3.4) on 2018-MM-JJ

TLS-SNI-01 validation is reaching end-of-life. It will stop working
temporarily on February 13th, 2019, and permanently on March 13th, 2019.
Any certificates issued before then will continue to work for 90 days
after their issuance date.

You need to update your ACME client to use an alternative validation
method (HTTP-01, DNS-01 or TLS-ALPN-01) before this date or your
certificate renewals will break and existing certificates will start to
expire.

Our staging environment already has TLS-SNI-01 disabled, so if you’d like
to test whether your system will work after February 13, you can run
against staging: https://letsencrypt.org/docs/staging-environment/

If you’re a Certbot user, you can find more information here:
https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210

Our forum has many threads on this topic. Please search to see if your
question has been answered, then open a new thread if it has not:
https://community.letsencrypt.org/

For more information about the TLS-SNI-01 end-of-life please see our API
announcement:
https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209

Thank you,
Let’s Encrypt Staff


(j’ai remplacé mon nom de domaine par l.q.d.n et mon adresse IP publique correspondante par 1.2.3.4)

Ces mails expliquent que la méthode d’authentification que j’utilisais jusqu’à maintenant pour obtenir ou renouveler des certificats TLS Let’s Encrypt sera bientôt obsolète et que je dois en changer.
J’ai toujours utilisé certbot pour configurer mes certificats TLS obtenus via let’s encrypt. Je fais partie de cette « jeune » génération qui n’a jamais eu besoin de payer pour avoir ses sites personnels en HTTPS 🙂

Comme toujours lorsqu’il faut modifier un système auquel on touche peu (j’avais automatisé le renouvellement de mes certificats par un cron puis par un timer systemd pour m’amuser, je n’avais pas touché à certbot depuis un certain temps) j’ai une certaine appréhension. Bien souvent, il va falloir dépatouyer 3-4 autres problèmes avec de traiter le sujet.

1ère étape : suivre le lien du mail concernant les utilisateurs de certbot. 1ère mauvaise surprise : mon certbot des dépôts stretch debian stable est en 0.10.2-1 (comme on peut le voir sur packages.debian.org tandis que le guide précise que certbot devrait être mis à jour au moins à la version 0.28. En suivant le lien vers le site officel de certbot puis en choisissant nginx puis Debian 9 stretch je vois qu’il faut que j’installe certbot via les dépôts stretch backports de Debian.

Je commence donc par supprimer ma version actuelle :
apt remove certbot
puis j’installe la version backports (le dépôt était déjà configuré ainsi que le plugin nginx (que j’utilise en reverse-proxy donc c’est mon serveur web accessible depuis l’internet) :
apt install -t stretch-backports certbot python-certbot-nginx

Ensuite, puisque j’ai des fichiers de configuration de renouvellement de mes certificats let’s encrypt dans /etc/letsencrypt/renewal il me suffit de lancer la commande :
certbot renew --dry-run
pour vérifier que tout se passe bien. L’option --dry-run permet selon la doc de tester la commande sans sauvegarder de certificat.

Voici un de mes fichiers de fichiers de configuration de renouvellement de mes certificats :

version = 0.28.0
archive_dir = /etc/letsencrypt/archive/l.q.d.n
cert = /etc/letsencrypt/live/l.q.d.n/cert.pem
privkey = /etc/letsencrypt/live/l.q.d.n/privkey.pem
chain = /etc/letsencrypt/live/l.q.d.n/chain.pem
fullchain = /etc/letsencrypt/live/l.q.d.n/fullchain.pem

# Options used in the renewal process
[renewalparams]
authenticator = nginx
account = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
server = https://acme-v02.api.letsencrypt.org/directory

(j’ai remplacé mon nom de domaine par l.q.d.n et mon numéro de compte par des x)

Dans cette nouvelle version de certbot (par rapport à celle que j’avais) le renouvellement des certificats est automatique. Pour ce faire, un cron est ajouté à /etc/cron.d/certbot et un timer systemd (si vous utilisez systemd) à /etc/systemd/system/timers.target.wants/certbot.timer. Le fichier cron indique que le cron n’est pas lancé si systemd est utilisé car le timer a la « priorité ».

Par défaut, le timer va tenter le renouvellement toutes les 12h. C’est un peu abusif à mon goût, les certificats étant valables 90 jours… le renouvellement ne s’effectuera que pour les certificats expirant dans moins de 30 jours. En calculant, le script de renouvellement ne se lancera donc que 1/120 fois !

Je voudrais modifier le timer afin que le renouvellement se fasse au plus dans un délai de 20 jours. C’était ce que je faisais avant avec un timer personnel, malheureusement il a été supprimé lorsque j’ai désinstallé le certbot installé depuis les dépôts stretch stable. Ce sera l’objet d’un autre billet (peut-être) car ce n’est pas si évident que ça en a l’air : les timers sont plus puissants que les cron mais aussi plus complexes.

Note de fin

1er article sur une configuration technique. Je compte en faire d’autre suivant les difficultés que je pense se retrouveront chez beaucoup d’autres. C’est surtout une manière pour moi de conserver une trace au cas où je devrais itérer la manip’ (ce qui arrive de temps en temps).

Télécom Paristech Santé – Conférence Télécom ParisTalk : Les Données dans le Système de Santé

Cet article provient d’un mail que j’ai envoyé au mois de juillet 2018. J’ai décidé de publier quelques notes prises lors d’évènements sur le blog afin de publier quelque chose (ça me motivera à terminer mes articles).

L’évènement a eu lieu le 05/07/18. Il rassemblait plusieurs acteurs de santé présentés à la suite pour débattre sur le sujet dans le titre. On peut saluer la diversité des profils conviés.

Chaque présentation durait environ 15 minutes.

Liste des intervenants

La conférence est introduite et conclue par Geneviève Metz, directrice de Télécom Evolution, les débats sont modérés par Alain Tassy, président du groupe Santé de Télécom ParisTech alumni.

Ayant intervenu :
– Dominique Andrieux, Avocat associé, Labonne et associés
– Charles-Etienne de Cidrac, Directeur Santé, Groupe AXA
– Edouard Geoffroy,Responsable Data analytics imagerie France, GE Healthcare
– Guillaume Vogt, Laboratoire de génétique humaine négligée – Inserm (Laboratory of Neglected Human Genetics)

Absent et remplacé :
– Docteur Nourédine Sadeg, spécialiste en toxicologie et pharmacologie clinique

Ayant participé à la table ronde :
– Etienne Bouché, co-fondateur de la startup Kuranda Labs
– Anne-Sophie Taillandier, Directrice de TeraLab à l’IMT
– Alexandre Mignon, Directeur des partenariats et du développement, iLUMENS
– Florent Parmentier, Responsable du laboratoire d’innovations publiques à Sciences Po Paris

Présentations

1. Maître Andrieu : RGPD & Santé

NB : je passe les généralités approximatives sur le RGPD
Le RGPD donne des généralités mais il y a dans l’état actuel de la legislation trop peu de précisions sur les réalités sectorielles.
La notion de gestion par le risque, omniprésente dans le RGPD concernant la sécurité des traitements, est très à la mode dans les textes de lois récents.
Sur certains points, le droit de la santé (code de la santé publique) l’emporterait sur le RGPD soit le cadre légal de l’UE (ah bon ?)
**Les enjeux les plus importants en e-santé **:
– Le consentement
– La sous-traitance
– Les droit à l’oubli et à la rectification (parfois limités par l’intérêt publique)

Commentaire

Une présentation très approximative du RGPD : des concepts clés sont évités ou oubliés, plusieurs graphes censés représenter le RGPD qui ne se contredisent, …
De mon point de vue, voici comment le code de la santé publique ou le droit français peut intéragir avec le RGPD :
– la loi peut imposer de réaliser une activité de traitement donnée. Dans ce cas, cette activité aura pour base une obligation légale, elle n’aura donc pas besoin du consentement des personnes concernées et celles-ci ne pourront pas s’opposer à ce traitement (à moins que la loi ne le permette)
– la loi peut imposer de conserver des données pendant une durée donnée. Dans ce cas, si une personne concernée fait une demande de suppression de ses données, celles-ci seront conservées en archive (mais plus exploitées) la durée légale précisée
A part ces 2 points, je ne vois pas en quoi la loi Française l’emporterait sur la règlementation Européenne. Sans être juriste, c’est la règlementation Européenne qui prime afaik.
Commentaire amusant du maitre de conférence avant la présentation de l’avocat : faites attention aux consultants, ils ne cherchent qu’à faire du chiffre ! Contrairement aux avocats qui sont gratis.

2. M. Brousse d’un laboratoire de toxicologie analytique : Les contrôles toxicologiques en entreprise

Les salariés d’une entreprise peuvent être contrôlés sur leur toxicologie, cela est validé par différentes instances et textes :
– le Conseil d’état
– le Comité consultatif national d’éthique (CCNE) dans son avis 114/2011
– l’Agence nationale de sécurité du médicament et des produits de santé (ANSM) concernant les stupéfiants

Cycle de vie pour les analyses :
1. Prélèvement
2. Pseudonymisation double des données
3. Analyse, compte-rendu et interprétation

Seul le médecin du travail pourra finalement faire le lien entre les analyses et les personnes.
Tout est sécurisé par beeeeeeeeeeeeeeeep (pas plus de détails à ce propos).

Commentaire

C’est encourageant, étant donnée la sensibilité des informations, de voir qu’ils se soucient du RGPD. Espérons qu’ils mènent des analyses d’impact sur la protection des données (PIA, des analyses de risques pour les personnes) de manière convenable et gèrent leurs risques : en cas d’erreur, une personne pourrait se faire diagnostiquer de l’alcoolisme à tort ou encore ses données pourraient être dévoilées et donc violer son respect au secret médical.

3. M. GEOFFROY : Big Data et données en imagerie médicale

DoseWatch rassemble une très grande quantité de méta-données de scan aux rayons et notamment l’exposition aux rayons X de patients sur un grand nombre de centres médicaux.
Cela permet ensuite par exemple de vérifier le taux d’exposition des patients aux rayons et de lever une alerte si un patient risque de dépasser un seuil dangereux qui pourrait lui causer des maux terribles.
Par exemple, un patient pourrait refaire de manière rapprochée des tests déjà réalisés.

Exemples de maux :
– les maux déterminisites, qui parviennent à court terme et sont nécrose de la peau, perte de cheveux, …
– les maux stochastiques, qui sont plus difficile à prévoir et qui peuvent se révéler que bien plus tard et même sans surdose de rayons X, et qui sont des cancers et autres affectations graves

Exploitations possibles de ces données :
– prévention et détection des surdoses
– amélioration des méthods de scan par l’analyse de la qualité des images passées
– optimisation des scans et de l’exposition (jusqu’à -60% par des scans plus fin et précis)

Pour des raisons de secret médical, ils ne sont (qu’ils disent) pas capables de faire le lien avec les personnes. Ils ne peuvent pas non plus rassembler les données de chaque site et doivent se limiter donc aux analyses site par site. C’est très limitant étant donné l’avantage indéniable de la masse d’information dans ces technologies big data.

Commentaire

Il y a une contradiction : ils ne sont pas capables d’identifier les personnes MAIS ne peuvent pas rassembler les radios de différents sites et font leurs analyses séparément ? J’hésite entre être très dubitatif de leur anonymisation des radios mais je ne serais pas non plus surpris qu’ils soient bloqués par d’obscures règlementations protectrices qui, malheuresement, porteraient atteinte à la recherche médicale. On pourrait déplorer un manque de collaboration entre le milieu de la recherche en santé, les législateurs et les juristes…

4. M. Vogt : La collecte de données génétiques en France

On parle là typiquement des entreprises qui donnent des informations essentielles comme :
– les données d’ancestralité (25% italien, 14,2% chinois, 0.1% viking, 176% martien, …)
– le %age de « néandertalité » (sic)
– les prédispositions génétiques et les risques et tolérances détectables

Ces entreprises facturent cher leurs services (j’avais entendu 1000€ l’analyse d’ancestralité ?) et exploitent les données à d’autres fins que l’information à la personne (avec leur « consentement », comprendre le faux consentement pré-RGPD). Elles collectent en général beaucoup d’informations directement auprès des personnes. Un business à 10M de personnes et 10 milliards de $ !!!! Où les personnes sont à la fois les clients ET le produit. Si c’est pas beau ça ? Qu’est-ce qu’on ferait pas pour savoir d’où on vient ?

Ce type de service en France est interdit sans l’intermédiaire d’un médecin ! Bien sûr il est possible de faire appel à des entreprises étrangères. Il existe même des entreprises Françaises qui offrent ce genre de service (ex: myheritage.fr) pourtant illégal.

En France, il y a le principe du patrimoine corporel : on ne peut pas analyser le corps et l’ADN sauf pour des besoins de soin ou pénal. Les laboratoires en France et en Europe arrivent néanmoins à collecter des informations génétiques et du corps pour réaliser des analyses de masse pour la recherche dans l’intérêt publique.

A partir de là, le présentateur parlait à la fois de choses existantes, de projets en cours et de projets futurs et ce n’était pas évident de suivre ce qui était quoi. Les laboratoires constitueraient des banques d’information génétique qu’elles interrogeraient à souhait pour leurs analyses (bien sûr cela est fortement encadré dans l’UE). On peut par exemple avoir besoin de faire des liens entre la couleur des yeux et la qualité de la vue. A ce moment là, on aura besoin d’avoir à disposition tout le patrimoine génétique possible pour la couleur des yeux et en grande quantité. Le présentateur introduit la notion de « consentement dynamique » : on va alors demander aux personnes concernées si elles acceptent que leurs données peuvent être exploitées pour ses recherches.

Encore une fois, difficile à dire ce qui était de l’ordre de l’existant ou des perspectives…

Commentaire

On peut remercier le droit Français de nous protéger de ces conneries sans nom qui n’existent que pour exploiter a posteriori et de manière déloyales les données génétiques (voir cet article de Wired). Quoi de plus personnel et confidentiel que son ADN ? Il est unique, il ne peut pas changer, il raconte énormément de choses sur nous à mesure que la science progresse… J’en connais qui vont tiquer sur le prix de leur assurance 🙂 et c’est sans parler du fait que l’ADN permet (outre les prédispositions génétiques) de savoir qui est noir, qui est roux, qui est [n’importe quel critère habituel de discrimination]. Je ne vais pas développer sur l’importance de la vie privée, ce n’est pas le sujet.
Du point de vue de la recherche par contre, c’est une mine d’or, notamment parce que on ne peut pas remplacer les données génétiques Européennes (par exemple) avec des Asiatiques (autre exemple) car ils ne sont pas interchangeables (on parle bien d’histoire génétique, pas de géopolitique). Puisque chacun possède son ADN (c’est le patrimoine corporel), nous devrions tous pouvoir choisir pour quels types de recherches nos données sont exploitées et participer au débat public sur l’éthique de la recherche génétique.

5. M. De Cidrac : l’action d’AXA dans le domaine des données de santé

Pour celui-ci, j’étais assez sidéré de la sincérité de M. De Cidrac lorsqu’il expliquait comment les assurances étaient la panacée de la société moderne et qu’on ferait mieux de leur ouvrir toutes les données et les laisser nous sauver ! J’ai donc eu du mal à prendre des notes.

Les assurances ont intérêt à ce que leurs assurés se portent le mieux possible : cela réduit évidemment les coûts de remboursements. Ils cherchent donc toujours à réduire le risque. 100 milliars de CA : AXA ou AXA santé ?
AXA assure à peu près tout ce qu’on peut assurer, mais a une longue histoire avec la santé. Aujourd’hui, la santé est le secteur avec la plus grande croissance dans le groupe.

Une de leurs actions est l’analyse de données de santé des salariés d’une société et leur donner un « âge de santé » puis de restituer ces informations de manière généralisée à l’employeur. Je ne me rappelle plus à quoi ça sert.

Commentaire

L’enfer est pavé de bonnes intentions.

Table ronde

Je n’ai pas noté grand chose là-dessus.
Il a été globalement consenti que la législation dans le domaine de la santé et de la protection des données personnelles était trop restrictive et empêchait le progrès dans l’UE vs aux USA ou en Chine.
Note : Personne n’a parlé des historiques de salaires et impayés de 150M d’américains leakés de equifax ou de la surveillance de masse en Chine qui permet (à coups de reconnaissance facial notamment) de retrouver un ennemi du parti en moins de 30 minutes (parmi 1.4milliards d’habitants sur 9.6Mm² c’est quand même fort…).
Mais il y a tout de même du progrès à faire, on cite par exemple le rapport de Cédric Villani (avec qui j’ai discuté dans le RER le we dernier !!) sur l’intelligence artificielle notamment dans la recherche en santé.
Il faudrait pour la moindre startup au moins 1 an et demi pour obtenir un agrément d’hébergement de données de santé (AHDS) ! Ce qui rend le marché complètement impénétrable et qui permet à des dinosaures de perdurer dans les établissements de santé avec des système parfois vieux de plus de 30 ans et pas toujours (rires) mis à jour régulièrement et portés vers les systèmes d’exploitation plus récents.
Pas d’information sur le CHDS, mais cela n’est a priori pas plus simple pour les petites entreprises.
Apparemment, OVH serait AHDS mais pas Amazon (Amazon Web Services) ou Google (Google Cloud).

Un doyen ancien médecin très éloigné du phénomène informatique et des enjeux autour des données pose plusieurs questions très intéressantes et pertinentes sur le marché de la donné dans le Monde : sait-on précisément quantifier la valeur de la donnée et de ces marché dans le Monde ? Est-ce devenu un actif stratégique ? Et d’autres questions en plein dans le mille auxquelles personne bien sûr n’a pu donner de réponse…

Conclusion

On garde le sentiment général qu’en France et dans l’UE la recherche est plus difficile (mais possible) qu’aux US&A ou en Chine.
Malgré ça, les gens restaient positifs et conscients des enjeux que cela relève et de l’importance des valeurs de l’UE.
Le fait est que le marché est là et que la masse de données de santé des européens est une valeur protégée que ne peuvent pas complètement exploiter les acteurs étrangers. Notamment du point de vue génétique, la majorité des gènes européens se trouvant en Europe.
Globalement, le RGPD n’est pas compris et est vu comme une difficulté de plus pour leurs activités. Malgré qu’il y ait une grosse redondance entre différentes lois et normes (RGPD, ISO27000, CHDS, I&L, …) c’est trop difficile aujourd’hui de se faire guider sur tous ces sujets simultanément.
En conclusion, on peut donc considérer qu’il y a plus de demande que d’offre sur le marché de la protection des données en santé et que c’est un sujet globalement obscur pour ces acteurs ! A vos CHDS !

Florilège

« faites attention, ce que cherchent les consultants, c’est vendre » société capitaliste quand tu nous tiens…
« le cloude » (pour dire l’infonuagique)
« sécurisé par un phénomène de cryptage des pdf » celle là on me l’avait jamais faite, pas même avec vous savez qui !
« monitorage » bientôt le monitoraging
Voilà ce qu’on devrait apprendre dans les écoles : http://bitoduc.fr

Notes de fin

Sur l’article

Comme dit en introduction, je publie ici d’anciennes notes. J’ai dû m’appliquer en les rédigeant la 1ère fois et je les ai relues pour ajouter les commentaires à chaque intervenant, j’espère donc que le qualité sera à peu près au rendez-vous.

Sur le blog

Aïe. C’est vraiment pas évident de terminer ses articles. J’en ai démarré plusieurs que j’ai mis en pause ou à l’arrêt. J’espère en publier au moins un par mois en cette année de grâce 2019.

GTD : Getting Things Done

J’ai pris des notes et j’ai résumé une vidéo de David Allen présentant la méthode GTD chez Google, vidéo datée de janvier 2008. Je fais partager ma découverte 🙂

Une présentation sur la productivité

La GTD pour Getting Things Done (littéralement « faire en sorte de faire les choses » c’est pas super en français je le concède) est une méthode de gestion des objectifs personnels, professionels ou non. En fait, la méthode ne fait pas la différence entre vie professionelle et personelle, elle donne juste des méthodes pour réussir à se fixer et atteindre ses objectifs, depuis la vocation au passage à la laverie.

La méthode GTD est créée par induction, c’est-à-dire qu’elle s’est inspirée de l’expérience, de ce qui fonctionnait réllement pour en dégager une théorie, et non l’inverse. L’intérêt de la méthode est de parvenir à maitrisier sa gestion des actions avec de la hauteur plutôt que de nager dedans. Il est très facile d’entrer dans la méthode, mais également d’en sortir (puis d’y retourner !).

Naturellement, c’est seulement quand on se retrouve devant la difficulté ou l’adversité qu’on se pose ce genre de questions : comment rendre les choses meilleures, comment s’améliorer. Cela vient aussi avec l’âge : quand on a des enfants, une vie complexe, on comprend l’intérêt de mieux s’organiser, sans augmenter son stress (voir même en le diminuant). En fait, le livre de David Allen qu sujet de GTD s’appelle justement *Getting Things Done, the art of stress-free productivity *.

La GTD comme un art martial

La GTD est come un art martial : – elle aide à gérer la surprise – elle permet de mettre les choses au clair, de ne pas nager dans le brouillard des interruptions

La productivité en 3 principes

  • La capacité à être productif est proportionelle à la capacité de se concentrer
  • La capacité à se concentrer est proportionelle à la capacité de ne pas se laisser distraire
  • La distraction est générée par une mauvaise gestion de ses engagements

Un paradoxe : si on ne donne pas assez d’attention à ce qui attire malgré nous notre attention, cette chose finira par nous pomper trop d’attention ! Il faut comprendre pourquoi notre attention a été captée pour pouvoir sortir cette distraction et la gérer en temps et en heure. C’est comme ça qu’on apprend à se concentrer !

La concentration

Pour s’enlever quelque chose de l’esprit, il faut :

  • identifier, clarifier et organiser ses engagements à tous les termes (à toutes les échelles de temps)
  • s’engager consciemment à ses engagements aussi souvent qu’il le faut

La clef est la capacité à se reconcentrer rapidement sur ce qui compte au bon moment.

Les 2 facettes de la maitrise de soi

  1. le contrôle : l’engagement sur le moment, en ayant conscience de toutes les options et à tout moment
  2. la perspective : la vision sur les finalités, claire et en adéquation avec les décisions, décisions et priorités

Matrice de la maitrise de soi (j’avais essayé de faire un tableau en markdown ça n’a pas du tout fonctionné sur le blog alors voici)

Matrice GTD de la maitrise de soi[/caption] (oulala c’est moche !)

  • le réacteur : n’agit que d’après le dernier stimuli
  • le micro-manager : organisé, mais sans vision, sans réelle avancée
  • le crazy maker : abonde d’idées et de vision mais ne peut pas les mettre en oeuvre faute de maitrise. Est peu réaliste et conscient des contraintes
  • le master & commander : maitre de la GTD 🙂

Attention, vouloir trop de contrôle peut être néfaste : on ne peut pas tout structurer et maitriser.

Les 2 clefs du GTD

  • contrôler le workflow : 5 clefs
  • les niveaux de perspectives : 6 niveaux

I – Contrôler le workflow

  1. Collecter : faire l’inventaire des choses de valeur, à réaliser, à décider, à effectuer
  2. Clarifier : identifier les actions à réaliser, et quand les réaliser
  3. S’organiser pour avoir les moyens de réaliser l’action au moment donné
  4. Revoir et entretenir le système, pour l’alimenter et poursuivre les actions
  5. Agir ! : Ya un moment faut bien

II – Les perspectives

  1. Principes, vocation : connaitre ses valeurs, ce qui est vraiment important pour soi
  2. Vision : savoir ce qu’on veut faire dans la vie en accord avec ses principes
  3. Buts : identifier ses actions pour réaliser cette vision
  4. Responsabilités : agir pour le long terme, par exemple entretenir son corp, ses relations, ses activités quotidiennes. C’est de la maintenance.
  5. Projets : planifier au court terme pour réaliser ces buts
  6. L’action : Ben ouais quoi

Sans suivre de méthode, on s’attache à des choses futiles et on perd tout son temps dans ces choses. Par exemple, on se prend la tête toute la journée parce qu’il faut penser à s’acheter une brique de lait en rentrant. Ce n’est pas possible de faire toutes les étapes en même temps. Il faut séparer les choses selon leurs priorités : importance et urgence.

Notes de fin

Sur l’article

Le formatage n’est pas parfait, ça pourrait être plus beau, ça finira par le devenir 🙂 Sur le fond, j’ai beaucoup aimé la « façon GTD » au moins telle qu’elle est présentée par David Allen. Je ne connaissais pas (ou j’avais oublié) cette méthode et malgré ça, ma manière de gérer mon temps et mes objectifs est très proche sur de nombreux ! Je vais la mettre entièrement en pratique à partir de maintenant et essayer de m’y tenir pour voir si elle me convient.

Sur le blog

Merde, déjà 6 mois depuis le 1er article, c’est fou ce que ça passe vite. En écrivant le 1er article, Benjamin m’avait dit « On écrit un article par mois ? » ce à quoi j’ai répondu « Quoi ?? Un par mois ? Un par semaine plutôt ! » Voyez donc le résultats complètement conforme à nos pronostics. C’est dans la frustration de me voir procrastiner les demi-articles s’entassant dans mes notes que j’ai été attiré dans mes divagations sur cette vidéo de David Allen sur la productivité, que j’ai dévoré d’une traite (en prenant des pauses réflexives tout de même).

A bientôt (incessament) pour de nouvelles joyeusetés !