Réseaux de neurones 3

Bande dessinée humoristique sur la simplification des processus en utilisant le cloud computing

Ce billet fait partie d’une série qu’il vaut mieux avoir lu avant, mais c’est vous qui voyez.

Nous avons vu que pour jouer avec un neurone, il fallait calculer son potentiel (la somme pondérée des sorties des neurones qui lui sont connectés), puis sa sortie grâce à sa fonction d’activation. Je n’en ai pas encore parlé, mais pour pouvoir modifier les coefficients du réseau, il faut aussi connaître la dérivée de la fonction d’activation du neurone. Idem pour la variable « erreur » dont je parlerai un peu plus tard, pendant la phase d’apprentissage du réseau.

Si vous êtes étudiant et que vous souhaitez travailler sérieusement sur les réseaux de neurones, je vous conseille d’étudier attentivement le code source d’une bibliothèque telle que FANN qu’un lecteur m’a recommandé et qui a l’air très bien. Dans mon cas, je suis partisan d’un travail artisanal qui permet de mieux comprendre les différents mécanismes en jeu. Et puis, j’aime bien le blog de Libon: fabriqué à mains nues, alors…

Pour moi, un neurone, en langage C, c’est donc cela:

Capture d'écran de code C déclarant une structure typedef pour un neurone

Avec cette déclaration, un réseau de neurones peut être le simple tableau suivant: NEUR* neurone[NBMAXNEUR]; où NBMAXNEUR est une constante indiquant le nombre total de neurones (y compris les entrées du réseau).

La création d’un réseau se fera alors de manière dynamique avec un petit programme du type:

Capture d'écran de code C créant dynamiquement un réseau de neurones en mémoire

Note à moi-même pour plus tard:  ne pas oublier un appel à « free() » pour chaque appel à « malloc() ».

Parmi tous les réseaux de neurones possibles, j’ai choisi de travailler avec un réseau complètement connecté à une seule sortie. Il s’agit du type de réseau possédant le plus de liens possibles entre les neurones.

Il est assez facile à construire:

– le 1er neurone est relié à toutes les entrées du réseau

– le neurone suivant est relié à toutes les entrées du réseau, et à la sortie du premier neurone,

– le Nème neurone est relié à toutes les entrées du réseau, et à la sortie de tous les neurones précédents,

– la sortie du réseau est la sortie du dernier neurone.

Je vous ai fait un petit dessin qui montre ce type de réseau:

Schéma d'un réseau de neurones avec 3 entrées, 3 couches neuronales et une sortie

Figure 1: Réseau complètement connecté

avec 3 entrées, 3 neurones et une sortie

Dans un réseau de neurones, le cœur du problème, ce qu’il faut rechercher, ce sont les coefficients des liens reliant les neurones entre eux. Le coefficient reliant le neurone j vers le neurone i s’appelle Cij. Par exemple, sur la figure 1, le coefficient reliant 3 à 5 s’appelle C53 (attention au sens).

Pour faire très simple, et suivre la notation utilisée, j’ai choisi une matrice pour stocker les coefficients Cij : double coef[NBMAXNEUR][NBMAXNEUR];

où NBMAXNEUR contient le nombre d’entrées et le nombre de neurones (soit 6 sur la figure ci-dessus). Ainsi, le coefficient C53 est stocké dans coef[5][3]. Ma matrice aura beaucoup de zéros, mais je privilégie la simplicité.

La propagation de l’information au sein du réseau se fait donc de la manière suivante:

Capture d'écran de code C implémentant la propagation avant dans un réseau neuronal

La sortie du réseau est donc neurone[NBMAXNEUR-1]->sortie

Les entrées du réseau sont considérées comme des neurones particuliers très simples (pas de liens vers eux, pas de fonction d’activation, potentiel égal à l’entrée).

Le prochain billet sera consacré à l’apprentissage d’un tel réseau de neurones (ie: au calcul des coefficients du réseau). On révisera aussi un peu les fonctions. Il vaut mieux aller doucement.

Expert près la Cour Administrative d' Appel

Publicité Komatsu : personnage musclé écrasant une ficelle entre ses doigts

Pour la première fois, les Cours Administratives d’Appel sont tenues de mettre en place un tableau des experts. Si vous souhaitez postuler pour y être inscrit, il faut déposer la demande d’inscription avant le 15 septembre prochain. Je vous recommande d’anticiper cette date le plus possible pour éviter le rejet inéluctable de votre demande en cas de dossier incomplet.

Mais avant, revoyons tout cela tranquillement.

Qu’est-ce que donc que la justice administrative ?

N’ayant jamais étudié le droit, je fais parti des Mékeskidi en la matière. Heureusement, il y a d’excellents sites qui expliqueront tout cela mieux que moi, à commencer par celui de Maître Eolas:

le grand divorce de 1790 : la séparation des autorités administratives et judiciaires

L’autre justice

L’autre Justice (2)

Pour ceux qui ont le tort de ne pas lire ces trois billets, voici un raccourci :

Il existe en France deux juridictions séparées : l’ordre administratif et l’ordre judiciaire. L’existence de ces deux ordres de juridictions distincts est en France le produit de l’histoire, fruit de la volonté d’empêcher le juge judiciaire de s’immiscer dans les questions de l’administration (source Wikipédia).

Tenant compte des déboires qu’ont connus les Rois de France avec les parlements et craignant d’être entravés à leur tour dans leur action, les révolutionnaires construisent un système visant à empêcher les magistrats d’influer sur la vie politique et législative.

Du juge, ils n’attendent que la stricte application de la loi, émanation de la souveraineté populaire, qui ne souffre ni interprétation, ni détournement -interdiction leur est faite de prendre des décisions de règlement, et obligation leur est faite d’en référer au législateur pour interpréter la loi. Mais avant tout, les révolutionnaires interdisent aux juridictions judiciaires d’exercer leur contrôle sur les différends susceptibles de naître entre les administrés et l’administration.

Dès lors, sont créés deux ordres distincts : un ordre administratif, chargé du contentieux administratif opposant les citoyens à l’administration, et un ordre judiciaire, chargé de régler les conflits entre personnes privées et de sanctionner les infractions à la loi. (source justice.gouv.fr)

Et les experts dans tout cela ?

Attention, en parlant d' »experts », il faut bien préciser le mot, tant la notion est floue et prête à confusion dans la langue française. Les tribunaux de l’ordre judiciaire, lorsqu’ils ont besoin de l’aide d’un technicien pour juger une affaire, font appel à des personnes inscrites sur une liste tenue par chaque Cour d’Appel. Les personnes inscrites sur ces listes sont appelés « experts judiciaires ».

Jusqu’au 31 décembre 2013, un seul article du code de justice administrative faisait référence à l’établissement des tableaux d’experts: « chaque année, le président procède, s’il y a lieu, à l’établissement du tableau des experts près la juridiction qu’il préside« . Depuis le 1er janvier 2014, cet article est remplacé et les Cours Administratives d’Appel doivent mettre en place une liste expertale.

Expert administratif ?

Quel sera le titre donné à ces « nouveaux » experts, je ne sais pas. Le décret n°2013-730 du 13 août 2013 portant modification du code de
justice administrative, ne parle en effet (dans son chapitre IV) que
« d’un tableau des experts auprès de la cour et des tribunaux
administratifs du ressort ». Mais les associations qui regroupent les personnes inscrites sur ce type de liste ont trouvé un terme: au lieu « d’expert judiciaire », il faudrait maintenant parler « d’expert de justice ». Toutes les associations ont donc changé leurs noms (ou sont en train de le faire), ce que vous pouvez constater dans votre moteur de recherche favori en tapant les mots clefs « compagnie » « expert » « judiciaire » (exemple ici avec mon moteur préféré).

Pour ma part, je trouve tout cela un peu confus, puisque l’inscription à une association d’experts n’est pas obligatoire, et qu’il y aura des experts judiciaires non administratifs, des experts administratifs non judiciaires et des experts judiciaires et administratifs… J’attends d’y voir plus clair avec un texte de loi. En attendant, je parlerai d’expert administratif, ou d’expert près une cour administrative d’appel.

Il est à noter qu’aucune procédure n’a été créée (à ma connaissance) pour le tableau des experts près le Conseil d’État, qui est le pendant de la Cour de Cassation.

La procédure d’inscription

Le président de la cour administrative d’appel procède aux inscriptions, après avis d’une commission composée des présidents des tribunaux administratifs du ressort et d’experts en nombre au moins égal au tiers de ses membres. Il arrête les inscriptions en fonction des besoins des juridictions dans les différents domaines d’activité dans lesquels les juridictions administratives peuvent avoir recours à une expertise. Ces domaines d’activité sont recensés dans une nomenclature arrêtée par le vice-président du Conseil d’Etat.

Vous noterez la ressemblance avec la nomenclature utilisée par l’ordre judiciaire.

Voici quelques rubriques pouvant intéresser un informaticien:

E. ― INDUSTRIES

E.1. Électronique et informatique.

E.1.1. Automatismes.

E.1.2. Internet et multimédia.

E.1.3. Logiciels et matériels.

E.1.4. Systèmes d’information (mise en œuvre).

E.1.5. Télécommunications et grands réseaux.

F. ― SANTÉ

F.5. Biologie médicale et pharmacie.

F.5.5. Biostatistiques, informatique médicale et technologies de communication.

G. ― MÉDECINE LÉGALE, CRIMINALISTIQUE ET SCIENCES CRIMINELLES

G.2. Investigations scientifiques et techniques.

G.2.5. Documents informatiques.

Si vous travaillez dans un service informatique:

G.3. Armes. ― Munitions. ― Balistique.

G.3.1. Balistique.

G.3.2. Chimie des résidus de tir.

G.3.3. Explosifs.

G.3.4. Munitions.

G.3.5. Technique des armes.

sans oublier

H.1. Interprétariat.

H.1.3. Langue française et dialectes.

H.3. Langue des signes et langage parlé complété.

(rhooo, je plaisante…)

Les conditions pour être inscrit au tableau des experts administratifs

Pour être inscrit, l’expert doit satisfaire à cinq conditions définies à l’article R. 221-11 du code de justice administrative :

– Justifier d’une qualification et avoir exercé une activité professionnelle, pendant une durée de dix années consécutives au moins, dans le ou les domaines de compétence au titre desquels l’inscription est demandée, y compris les qualifications acquises ou les activités exercées dans un État membre de l’Union européenne autre que la France ;

– Ne pas avoir cessé d’exercer cette activité depuis plus de deux ans avant la date de la demande d’inscription ou de réinscription ;

– Ne pas avoir fait l’objet d’une condamnation pénale ou d’une sanction disciplinaire pour des faits incompatibles avec l’exercice d’une mission d’expertise ;

– Justifier du suivi d’une formation à l’expertise ;

– Avoir un établissement professionnel ou sa résidence dans le ressort de la cour administrative d’appel.

Les experts déjà inscrits sur les listes d’experts judiciaires sont réputés satisfaire, à l’issue de la période probatoire, aux conditions énoncées aux quatre premiers points.

Comment s’inscrire ?

Le dossier de demande d’inscription doit être adressé au président de la cour administrative d’appel avant le 15 septembre (il serait folie de l’envoyer le 14 septembre!). La première inscription est faite pour une durée probatoire de trois ans à l’issue de laquelle l’expert peut demander sa réinscription pour une période de cinq ans (art. R.221-12).

Le président de la cour administrative d’appel prend l’avis d’une commission présidée par lui-même et composée des présidents des tribunaux administratifs du ressort de la cour et d’experts inscrits au tableau de la cour (au moins deux experts sans que leur nombre puisse excéder le tiers des membres de la commission) (art. R.221-10). La commission tient compte des besoins des juridictions du ressort (art. R.221-14). La décision de refus d’inscription ou de réinscription d’un candidat doit être motivée (art. R.221-15). Les décisions de refus d’inscription ou de réinscription d’un candidat, de retrait ou de radiation d’un expert du tableau peuvent être contestées. Elles sont examinées par une autre cour administrative d’appel (art. R.221-19).

Les experts inscrits au tableau d’une cour administrative d’appel doivent adresser à la fin de chaque année civile un état des missions qui leur ont été confiées, des rapports déposés et des missions en cours ainsi que des formations suivies au cours de l’année (art. R.221-16).

Il est important de noter que l’importance de la partie du document suivante :

« Les organismes de droit public ou privé intervenant dans mon domaine d’activité avec lesquels j’entretiens des liens directs ou indirects sont les suivants : …… » où le candidat doit mentionner les organismes de droit public (État, collectivités territoriales, établissements publics tels que CHU, etc.) ainsi que les organismes de droit privé (sociétés de droit commercial, compagnies d’assurances, laboratoires privés, associations, etc.) avec lesquels il entretient des relations qui ne sont pas occasionnelles, sous quelque forme que ce soit.

Et après ?

Je suis en train de constituer mon dossier. Je suis toujours enthousiaste à l’idée de mettre mes compétences au service de la justice. Mes contacts au sein de la magistrature administrative sont dubitatifs sur l’idée d’avoir besoin d’un expert en informatique. Cela m’étonne: n’y aurait-il pas de litiges entre les citoyens et l’administration en France où l’informatique serait partie prenante ?

On verra bien si mon dossier est retenu. Si non, tant pis, je retenterai une deuxième fois (comme pour celui d’expert judiciaire).

Je ne manquerai pas de vous tenir au courant du suivi.

Je vous prie de croire, chère lectrice, cher lecteur, à l’expression de mes salutations distinguées.

Zythom

Réseaux de neurones 2

Bonnet rose en forme de cerveau porté par une femme, vue de face et de profil

Ce billet est la suite de celui-ci qu’il est préférable de lire avant mais c’est vous qui voyez.

Après quelques heures passées sur l’apprentissage du langage Go, je me suis résolu à revenir à mes fondamentaux: le langage C. Cela fait 20 ans que je n’ai pas codé sérieusement, et j’ai eu peur de perdre trop de temps à m’initier à un nouveau langage. Ce qui suit va faire sourire tous les développeurs actuels et définitivement me décrédibiliser auprès d’eux…

Il y a 20 ans, j’étais chercheur et je programmais sur une station de calcul Apollo, dans un environnement de développement équivalent à vi (sous Domain/OS). J’appelais quelques routines graphiques de base, à une époque où l’environnement graphique informatique était en pleine révolution. Mes langages favoris étaient le langage OCCAM et le langage C.

Lorsque de chercheur, je suis devenu professeur en école d’ingénieurs, j’ai enseigné le langage C. La mode était alors au Turbo C de Borland. Mon enseignement n’incluait pas la partie graphique. Mes étudiants se contentaient très bien des tableaux de pointeurs de fonctions de structures doublement chaînées, et des envois de données sur le réseau.

Me voici donc aujourd’hui (enfin, il y a quelques mois), à me demander ce qui pouvait être utilisé comme IDE aujourd’hui, avec tous les progrès informatiques. Je me suis dit qu’un environnement multiplateformes pourrait être intéressant, pour profiter du meilleur des univers Windows ou GNU/Linux.

J’ai choisi Code::Blocks.

Me voici donc en train de compiler quelques programmes simples trouvés sur les différents sites d’initiation à cet IDE. Je redécouvre alors la joie de compiler un code source, d’éditer les liens avec les bibliothèques standards, et de voir les premiers « Hello world » à l’écran. J’ai eu une petite pensée pour Dennis MacAlistair Ritchie

Très vite, je me suis retrouvé à écrire quelques procédures de calcul concernant les réseaux de neurones. J’ai créé mon premier réseau, mes premières structures, mes premiers malloc (et à chaque malloc son free correspondant ;-).

Comme 20 ans auparavant, j’ai vite trouvé l’affichage standard limité: il me fallait tracer des courbes, des nuages de points, des évolutions de critères en cours de minimisation. Il me fallait appeler quelques fonctions graphiques…

Et là… Grosse déception !

En 20 ans de foisonnement d’interfaces graphiques et d’amélioration de processeurs spécialisés, aucune bibliothèque graphique SIMPLE n’a l’air de s’être imposée. Un truc du genre: j’ouvre une fenêtre, je dessine un pixel dedans quand je veux et basta. Si je suis sous Windows, ça m’ouvre une fenêtre Windows, si je suis sous GNU/Linux, et bien ça m’ouvre une fenêtre GNU/Linux… Bon, j’avoue que je n’ai pas beaucoup cherché, et je compte un peu sur vous pour me montrer la voie si je me suis fourvoyé.

J’ai choisi la bibliothèque graphique SDL parce que pas mal de sites ont l’air de dire que c’est très bien pour s’initier. Ça tombe bien, parce que je ne souhaite pas devenir un professionnel du graphisme, je veux juste dessiner quelques courbes.

Ce qui m’a un peu surpris, c’est de devoir « bidouiller » Code:Blocks pour que mes premiers programmes utilisant SDL puissent fonctionner (je n’ai pas conservé les messages d’erreur, mais j’ai ramé). Heureusement, pas mal de monde utilise le combo Code::Blocks + SDL et la communauté publie des tutos bien faits.

Me voici donc en train de faire mes premières courbes. Bon, mes programmes sont devenus beaucoup moins lisibles maintenant que je les ai truffé d’appels à des routines graphiques plus ou moins claires, mais j’ai compris les bases du truc. Jusqu’au jour où j’ai voulu tracer une courbe dans une nouvelle fenêtre… En effet, SDL ne permet pas d’ouvrir plusieurs fenêtres. Mais heureusement SDL2 peut le faire! Sauf qu’il faut tout réécrire car les concepts graphiques n’ont rien à voir. Je me suis donc tapé le guide de migration SDL1.2 vers SDL2.0 dans la même journée que l’apprentissage de SDL1.2. Je râle, je râle, mais je remercie tous les développeurs qui consacrent leur vie à créer tous ces outils (et les manuels qui vont avec). Je sais maintenant manipuler (un peu) les pointeurs de fenêtres et de Renderer.

Comme SDL2 est sortie en août 2013, j’ai un peu galéré à trouver comment adapter Code::Blocks pour faire fonctionner mes premiers programmes SDL2 (mais j’ai trouvé!). Et j’ai pleuré des larmes de joie quand j’ai vu mes premières courbes tracées dans deux fenêtres séparées.

J’ai ensuite pu attaquer les choses sérieuses avec la mise au point des routines d’optimisation. J’en ai déjà expliqué une partie dans ce billet. Mes premiers programmes ont consisté à mettre au point les routines suivantes:

– calcul du gradient par rétropropagation de l’erreur

– méthode d’optimisation par descente de gradient à pas constant

– amélioration de la méthode précédente avec calcul économique d’un pas variable (méthode de Wolfe et Powell)

– amélioration de la méthode précédente avec calcul itératif de l’inverse du Hessien (méthode de Broyden, Fletcher, Goldfarb et Shanno).

Je suis toujours bluffé par l’accélération foudroyante des méthodes quasi-newtoniennes pour s’approcher du minimum de la fonction.

J’en suis là aujourd’hui.

J’ai un programme illisible qui fonctionne malgré tout parfaitement: je peux créer un réseau de neurones complètement connecté qui peut apprendre virtuellement n’importe quel ensemble d’apprentissage, dès lors que celui-ci est constitué d’un nombre fini de couples {entrées connues, sorties désirées}. Je suis à la recherche d’un problème pas trop complexe, en évitant si possible tous les problèmes de classification (type mémorisations de visage ou reconnaissance de caractères). J’aimerais plutôt un problème de modélisation, comme par exemple la prédiction des éruptions du « Old Faithful » (si quelqu’un a des données récentes sur ce geyser, avec températures, pression, etc.).

Il me faut du temps pour rendre mes routines plus lisibles, pour sauvegarder les coefficients calculés, pour tester d’autres environnements, pour créer un tableur Excel et OpenOffice, pour trouver un problème intéressant à ma portée…

Il me faut aussi comprendre comment faire pour exploiter toute la mémoire de ma machine. Je n’arrive pas encore à créer des matrices de grandes tailles (du genre 10000×10000 réels double précision). Je suis pour l’instant limité à un réseau d’au maximum 50 neurones et 1224 connexions.

Mais 50 neurones, c’est déjà beaucoup 😉

42 ans

Chien trempé assis seul sur route pluvieuse avec voitures

Nous avons tous des êtres chers qui disparaissent trop tôt. Je ne suis pas épargné par la grande faucheuse qui tranche autour de moi. Cette peine intime, je la garde pour mes proches et pour moi.

Pourtant, tous les 27 avril sur ce blog, je parle du geste désespéré d’un de mes étudiants qui a mis fin à ses jours en pleine jeunesse. J’étais jeune maître de conférences et il avait brillamment effectué son stage avec moi. Il s’était enthousiasmé pour les réseaux de neurones avec lesquels je jouais.

C’était il y a longtemps, il y a 22 ans.

Dans sa lettre d’adieu à ses parents, il a écrit qu’un des rares bons moments qu’il avait passé dans les derniers mois de sa courte vie était avec moi, pendant son stage. Cet aveu m’a toujours déchiré le cœur.

Avec en plus le regret de n’avoir pas vu son mal vivre, alors que nous étions complices de travail.

Il aurait fêté aujourd’hui son anniversaire.

Bon anniversaire Stéphane, tu es toujours dans mon cœur et tu as toujours vingt ans.

I’m too weak

I’m fascinated by her looks of infinite sadness, despite her fake smile. The face of this little girl is filled, eaten up by her two big brown eyes. I have her face on dozens of photos, taken under different angles. Sometimes she looks the objective, sometimes she stares into emptiness. The hardest is when her eyes dive into mine.

In every picture of her, a man’s sex. Close to her face, in her mouth or in her hands. Without being a doctor, I think she is five or six years old. I’m fully into a forensic assessment on child pornography photos.

I’m alone in my office, at home, door closed, with ban on disturbing me to my children. I hear them pass near the window laughing. It’s shining, it’s a beautiful weekend of spring. 

New photo, always of her. Her big eyes obsess me. Her little naked body seems so fragile that we want to protect her, to go through the screen to prevent this man from approaching her, from hurting her, from raping her. But I’m powerless to act, I can only watch and take notes for my report.

I’m ashamed of my weakness, of my reactions, of my sensibility. So many people work in difficult conditions : doctors, firemen, “gendarme”, policemen etc. But they help each other, talk to each other, shares, evacuates in words all of the horrors they are next to.

Me, I’m alone. I don’t have any training to manage what I feel, what I see. I’m a simple IT that help the justice. I only have this blog.

Next photo. It has been three hours now that, my brain is absorbing those photos, I’m inventorying them. I’m taking a break, closing my eyes. Why can’t I contain my tears ? I am a human being, I consider nothing that is human alien to me (https://en.wikipedia.org/wiki/Terence).
I’m a weakling.

I return to my investigations, a little apathetic. Nothing force me to spend as much time on each photo. I accelerate the visualization. Other girls, other faces, other ages, other men, so many positions.

It’s late, the night is advanced. I finish my report, I write the annexes, burn the DVDs. To make easier the reading of the paper report by the “OPJ”, court recorders and magistrates, I avoid illustrations, I reject them at the end of the report, enclosed.
I chose some photos among the most significant. I chose those where this children looks the camera with her big sad eyes, with in her mouth that man’s sex as large as her head.

I still have this picture in my head.
I’ve to manage my emotions.
Other experts are able to do that.
I’m too weak.

--------------------------------------
Translation by TearsOfSky.
Photo credit chilloutpoint.com

The original note is here: /2013/09/je-suis-trop-faible/

Les géants

Montage : structures géantes rayées et personnages miniaturisés à la plage

Parfois, je me rend compte à quel point je peux être pitoyable, à mes yeux tout au moins. Pour beaucoup de lecteurs (à ce que je comprends de certains emails que je reçois), je suis une sorte de héros hypercompétent capable de tout faire en informatique. C’est très loin d’être le cas: je suis nul en sécurité informatique, je suis nul en développement informatique moderne, je ne capte rien en téléphonie mobile, je ne connais pas la différence entre un processus et un thread, je ne dispose pas d’outils extraordinaires, ni de connaissances incroyables…

J’ai déjà expliqué tout cela en images dans le billet « expert judiciaire, ce qu’on pense que je fais« .

La justice n’ayant aucun moyen technique à m’offrir, les services de l’état (police ou gendarmerie) ne fournissant aucun logiciel ni matériel aux experts judiciaires hors de leur rang, je me débrouille comme je peux. En voici un exemple.

Un scellé m’est remis pour analyse, avec comme mission principale de relever la présence éventuelle d’images ou de films pédopornographiques. Après la copie du disque dur, me voici à analyser tous les fichiers encore présents, entiers ou sous forme de traces dans les recoins du disque dur.

A un moment de mes observations manuelles, je note la présence du logiciel Shareaza. Je n’ai bien évidemment rien contre le partage P2P, technologie parfaitement légale, mais dans le cas que l’on m’a confié, je m’intéresse de près au contenu partagé.

N’ayant pas la chance de disposer d’un logiciel de type P2P Marshal, me voilà avec sur les bras des dizaines de fichiers avec des noms longs comme un jour sans pain et des extensions « .partial » et « .sd ».

Les fichiers « .partial » contiennent les données en cours de téléchargement (ou de partage) et les fichiers « .sd » contiennent des données de gestion des téléchargements. Une ouverture de ces fichiers .sd avec Notepad++ montre une partie en clair contenant le nom du fichier en cours de téléchargement. Intéressant ! Je trouve dans la plupart des fichiers .sd des noms contenant des références pédopornographiques. Je note tout cela dans mon rapport.

J’installe sur un ordinateur monté pour l’occasion (une machine virtuelle en fait) le logiciel Shareaza que je récupère sur internet dans la même (ancienne) version que celle trouvée sur l’ordinateur placé sous scellé. Je télécharge quelques vidéos et documents mis en partage de manière légale par des internautes, et j’observe le comportement des différents fichiers .part et .sd lors des différentes manipulations.

A un moment, je réalise que, comme la plupart des fichiers .part nommés dans les fichiers .sd contiennent des vidéos, il me suffit de renommer les fichiers en question avec l’extension correspondant au type de vidéos qu’ils sont censés contenir: j’ajoute .avi/.mpg/.mov au choix après l’extension .partial et j’essaye d’ouvrir la vidéo avec VLC.

VLC est un logiciel fantastique qui a entre autre la capacité de lire des vidéos incomplètes, avec des pans entiers manquants.

Bingo, j’arrive à lire toutes les vidéos (ou presque), dont celles de nature pédopornographique. Je passe encore un week-end pénible, à classer les vidéos, à en extraire des images choisies pour le rapport et à les graver sur un DVD annexé au rapport.

Rien d’autre qu’un travail fastidieux, loin de l’image d’Épinal de l’expert omniscient et omnipotent, enfermé dans mon bureau pour éviter que mes enfants ne voient leur père regarder des images pédophiles sur ses écrans.

Je l’ai déjà écrit moultes fois ici même: je suis nul et je suis faible.

« Nous sommes des nains juchés sur des épaules de géants. Nous voyons
ainsi davantage et plus loin qu’eux, non parce que notre vue est plus
aiguë ou notre taille plus haute, mais parce qu’ils nous portent en
l’air et nous élèvent de toute leur hauteur gigantesque. » (Bernard de Chartres, XIIe siècle)

Évidemment, les géants représentent nos prédécesseurs, mais aussi le
savoir accumulé dans les livres ou sur internet. C’est aussi
l’expérience de nos collaborateurs, les conseils de nos aînés, les avis
de nos confrères.

Merci à tous les géants.

La motivation d'un élu local

Homme souriant dans une voiture avec la tête d'un cheval passée par la vitre

En septembre 2006, j’annonçais dans ce billet, ma première participation (dans le public!) à un conseil municipal de ma commune. J’ai ensuite participé à la tenue d’un bureau de vote. Et un jour, on m’a demandé si j’acceptais d’essayer de devenir conseiller municipal.

Et en 2008, j’ai été élu (brillamment) conseiller municipal.

Sur ce blog, j’ai raconté un peu quelques unes des facettes de mon activité de conseiller:

– l’élection du maire (Habemus Papam)

– la participation aux commissions (Fluctuat nec mergitur)

– les élections sénatoriales de 2008 (Un train de sénateur)

– les actions caritatives (La banque alimentaire et Merci)

– les collections de panneaux de limitation de vitesse (Les anciens et la vitesse)

– les élections européennes de 2009 (Journal d’un bureau de vote)

– les discussions en conseil municipal (Bio, nature et pollution)

– les élections régionales de 2010 (De l’autre côté du bureau)

– l’accueil des gens du voyage (Au nom de la commune)

– la décision contestée (L’insolence des riches)

– l’archaïsme salutaire (Vous ne pourrez pas vérifier)

Jusqu’au jour où il a bien fallu se représenter devant les électeurs (Ensemble, avec Vous et pour Tous, continuons) et cherchez à les convaincre de voter pour nous (Porte à porte).

Maintenant que les élections municipales de 2014 sont terminées, et que je suis réélu pour six ans, le travail continue.

Mes motivations ont-elles changées ?

En 2006, j’avais 42 ans, l’âge magique. J’étais curieux de savoir ce qu’il se passait sur ma commune. J’avais envie de connaître ses développements, son avenir, ses potins.

En 2008, j’avais envie de donner mon avis, même s’il n’était pas toujours suivi.

En 2014 (à 50 ans donc), j’ai envie de vraiment faire avancer certains dossiers qui me tiennent à cœur. C’est pour cela que j’ai proposé au Maire de me confier tous les dossiers en rapport avec le numérique. Il a accepté de me nommer « conseiller délégué au développement du numérique ». Je vais pouvoir travailler aux propositions d’évolutions de la commune dans ce domaine, les présenter en commission, puis ensuite au conseil municipal.

Mes objectifs sont les suivants:

– améliorer la communication élus-citoyens, mairie-citoyens et élus-mairie (listes de diffusion, panneaux d’affichage numérique, espaces numériques de travail, réseaux sociaux, textos, etc.)

– encourager l’utilisation maximale des logiciels open source

– promouvoir l’open data

– préparer l’arrivée (un jour?) de la fibre jusqu’à l’habitant (FTTH) par la pose de fourreaux sur tous les travaux de voirie et lors de tous les aménagement de lotissements

– encourager la formation numérique des aînées

– faciliter la circulation de l’information

– permettre les réunions à distance grâce aux visioconférences logicielles

– dématérialiser les documents dès que c’est utile…

J’ai quelques idées qui paraissent farfelues au premier abord: filmer le conseil municipal et mettre en ligne les vidéos sur une chaîne YouTube communale, créer un festival numérique, une page Facebook pour la mairie, un atelier GNU/Linux, un atelier d’échange de clefs GPG…

Les idées ne manquent pas, la motivation non plus.

Il reste à prendre en compte les aspects légaux, administratifs, les habitudes, les avis des autres, les aspects financiers, l’inertie générale, la peur du changement, la peur de l’inconnu…

Maintenant qu’un grand nombre de citoyens disposent d’un ordinateur dans leur téléphone, cela devrait être plus facile car l’informatique fait moins peur.

Il suffit juste de ne pas oublier ceux qui n’y ont pas accès.

Il ne faut pas non plus oublier ceux qui ont des handicaps (visuels, auditifs, etc.).

Il ne faut laisser personne sur le côté.

Yapuka…

Le témoin

Grimpeur escaladant une paroi rocheuse vertigineuse surplombant des montagnes

Il arrive qu’on demande à l’expert judiciaire de venir témoigner lors d’un procès. Un de mes confrères à bien voulu me faire l’honneur de raconter son expérience sur mon blog dans ce billet.

Cela ne m’était jamais arrivé, jusqu’à cette semaine.

Je dois dire que je n’étais pas pressé de vivre cette expérience (mais suffisamment curieux quand même pour souhaiter le faire au moins une fois dans ma vie).

J’ai reçu il y a quelques mois l’email suivant:

Bonjour Monsieur l’expert,

Je vous informe que je vais vous citer comme témoin dans le dossier X dans lequel vous m’avez adressé un rapport d’expertise privée particulièrement clair et précis.

Vous allez recevoir une convocation pour une audience qui aura lieu le 1er avril (ce n’est pas une plaisanterie) au TGI de Vulcain.



Je vous remercie de me dire si vous acceptez de venir témoigner, afin que je lance la procédure.



Je vous prie d’accepter, Monsieur l’expert, mes salutations respectueuses,



Signé: Maître Spock

Enfin, ce moment tant craint était arrivé: participer à un procès, devant une cour, dans un tribunal, en public, devant tout le monde, comme dans les séries ! J’en parle aussitôt à mon épouse qui me répond d’un air entendu: « j’espère que tu seras indemnisé vas-y ça me fera des vacances« .

Je réponds donc « oui » à Maître Spock et quelques jours plus tard, un huissier de justice sonne à ma porte pour me remettre en main propre une citation comme témoin pour l’audience du 1er avril (je ne m’en remets pas) d’un tribunal situé à l’autre bout de la galaxie France…

Je note le rendez-vous dans mon agenda de ministre, je pose un jour de congé auprès de mon employeur pour cette date, je déplace les rendez-vous déjà programmés.

Le temps passe.

La date s’approchant, je prend mes billets de train et j’achète les tickets de métropolitain nécessaires à mon transport jusqu’au tribunal. Le week-end précédent, je me plonge dans le rapport que j’avais déposé dans ce dossier, j’apprends par cœur les faits, les dates et tous les éléments techniques du rapport, les annexes, les critiques remarques de la partie adverse sur mon travail, les éléments de procédure… Bref, je passe un bon week-end (qui en plus est celui du second tour des élections municipales où j’ai tenu un bureau de vote et soit dit en passant fêté ma la victoire de ma liste et ma brillante élection). Bref je bosse à fond le dossier.

Plus le jour approche et plus je sens une boule d’angoisse se former. Mon épouse me rassure: « tu vas en chier y arriver, tu es le meilleur ».

Le jour J, je prends le train le matin très tôt pour traverser la France, tellement tôt que, malgré 4 heures de train, j’arrive devant le tribunal avec deux heures d’avance. J’en profite pour repérer les lieux, trouver la salle d’audience, me présenter au greffe, me faire expliquer un peu la procédure: « bah, vous allez prêter serment, puis vous faire cuisiner répondre aux questions ».

Je trompe mon stress en allant me glisser dans le public (peu nombreux) d’un procès d’assises qui se tenait dans la salle voisine (véridique). Une histoire de cambriolage par des pieds nickelés, de coups de couteaux, de séquestration, de vol… On se détend comme on peut.

Un quart d’heure avant l’audience, Maître Spock arrive et m’explique comment il voit les choses: « vous allez être isolé dans la salle des témoins, puis l’huissier viendra vous chercher, vous prêterez serment, puis je vous poserai quelques questions, puis la cour vous posera aussi quelques questions, ainsi que la partie adverse ». Devant mon visage transpirant, il ajoute: « mais ne vous inquiétez pas, rien de compliqué. Soyez vous même et répondez sans trop entrer dans les détails techniques ».

Ok.

Donc l’inconnu total.

Je ne sais pas quand on va venir me chercher.

Je n’assiste pas aux débats.

Je ne connais pas les questions qui vont m’être posées.

Je ne sais pas où je vais poser mon sac, mon manteau, mon pull, mon écharpe (je suis en chemise car je transpire déjà 10L d’adrénaline).

Je ne sais pas qui est qui dans la salle (Président, procureur, avocats, parties). Je ne connais que deux personnes: Maître Spock et l’innocent qu’il défend.

Ah si, je sais une chose: la presse judiciaire est là.

Ok, ok.

Mon coeur bat la chamade.

[minute historique: autrefois afin de parlementer ou lors d’une reddition, on émettait un
signal avec un tambour ou une trompette ; on appelait cela battre la
chamade
, source Wikipédia]

Me voici en train d’attendre dans la salle des témoins (en fait dans la salle des pas perdus, le tribunal ne disposant pas de salle pour isoler les témoins).

Comme d’habitude, je constate avec un étonnement tout scientifique, que si l’on note t le temps d’attente, mon niveau de stress augmente proportionnellement à t, alors que mon encéphalogramme varie en 1/t…

Je fais alors la seule chose que je sais faire dans ces cas là: je récite la litanie contre la peur des sœurs du Bene Gesserit:

Je ne connaîtrai pas la peur car la peur tue l’esprit.

La peur est la
petite mort qui conduit à l’oblitération totale.

J’affronterai ma peur.

Je lui permettrai de passer sur moi, au travers de moi.

Et lorsqu’elle
sera passée, je tournerai mon œil intérieur sur son chemin.

Et là où
elle sera passée, il n’y aura plus rien.

Rien que moi.

J’appelle mes followers Twitter à l’aide. Ils me remontent le moral.

Les minutes passent.

Je ne sais pas si mon affaire passe en premier (il y a plusieurs affaires convoquées à la même heure).

Les minutes semblent être des heures.

Des personnes entrent dans la salle d’audience: des personnes en robes noires, des personnes à l’air sombre, des personnes angoissées, des personnes avec des blocs notes, des avocats rigolards, un policier…

Les minutes deviennent une heure.

Je sursaute à chaque sortie d’une personne dont je suis persuadé qu’elle vient me chercher. Je n’ai pas hâte d’entrer dans l’arène, j’ai envie qu’on m’oublie, je suis pressé d’en finir, j’ai hâte d’entrer dans l’arène.

Les minutes deviennent deux heures.

J’entends quelques bribes de mots en provenance de la salle, je reconnais la voix de stentor de Maître Spock. Je sens que je vais bientôt être appelé.

Je regarde sur internet l’origine du mot « stentor » [minute culturelle: dans la mythologie grecque, Stentor (en grec ancien Στέντωρ / Sténtôr) est le crieur de l’armée des Grecs lors de la guerre de Troie. Son nom vient du verbe στένειν / sténein qui signifie « gémir profondément et bruyamment, mugir ». Il reste dans l’expression populaire « avoir une voix de Stentor » qui, dès l’Antiquité, signifie avoir une voix très puissante, retentissante et parfaitement audible. Les scholiastes d’Homère précisent que Stentor est d’origine thrace, qu’il est le premier à se servir d’une conque comme trompette de guerre et qu’il est mis à mort après avoir été vaincu par le dieu Hermès dans une joute vocale. Source Wikipédia]

J’en profite également pour relire le serment des témoins: « Je jure de parler sans haine et sans crainte, de dire toute la vérité, rien que la vérité. » (source Wikipédia: liste des serments).

Je relis la litanie contre la peur.

(normalement, si j’ai réussi mon exercice d’écriture de billet, vous êtes là maintenant chaud bouillant comme je pouvais l’être).

Quand, soudain, l’huissier audiencier sort de la salle et

(roulement de tambours)

(sonneries de trompettes)

(mon cœur s’arrête)

(je me lève, au ralenti, style « Matrix »)

(ça fait mal au doigt, hein)

Ah, tiens, non, ce n’est pas l’huissier audiencier, c’est Maître Spock.

Maître Spock:

« Bonjour Monsieur l’expert, je suis désolé, mais l’affaire est reportée ».

Ah, ok.

« Mais elle est reportée à une date ultérieure que je vous communiquerai dès que j’en aurai connaissance ».

Oui. Bien sur.

« Je suis désolé »

Oui, moi aussi.

Nous sommes sortis du tribunal pour aller prendre un verre avec la presse judiciaire. Après quelques bières, mon sang contenait à nouveau quelques globules rouges. Les discussions portaient sur le futur nouveau gouvernement. Fidèle à ma longue habitude des réunions publiques (c’est-à-dire lorsque je participe à un groupe de plus de deux personnes), je suis resté dans un coin à écouter et à boire les paroles des célébrités présentes.

Bilan:

Points négatifs:

– un procès auquel je ne pouvais pas assister (puisque cité comme témoin)

– 8h de transport (TGV, métro, RER)

– 2h d’attente car arrivé en avance

– 2h d’attente en salle des pas perdus faisant office de salle des témoins

– une journée de congés perdue

– je ne sais pas si je serai remboursé (car je n’ai pas été appelé à la barre)

– ce billet de blog qui est frustrant pour tout le monde

Points positifs:

– j’ai servi la justice et tenté de participer à la défense d’un innocent

– j’ai révisé la litanie contre la peur

– j’ai serré la main (deux fois) de Pascale Robert Diard et pris un verre avec elle.

That just made my day.

L'informatique et les divorces difficiles

Mer turquoise avec kayakiste et requin visible; texte 'Il vaut mieux ne pas savoir'

Je suis souvent contacté, en tant que blogueur – expert judiciaire, par des internautes qui me demandent ce qu’ils doivent faire pour prouver telle ou telle malversation de leur futur ex-conjoint sur leur matériel informatique…

La situation est en général la suivante : un couple est en procédure de divorce, le climat est très conflictuel, et au milieu trône… un ordinateur. Non que le couple se dispute la garde de la machine (encore que certains courriels que j’ai reçus montre un certain attachement parfois et en général à du matériel « Pomme »), mais plutôt que l’un accuse l’autre d’avoir piégé l’ordinateur et de collecter illégalement un certain nombre de données.

Comment constituer un dossier de preuves permettant d’accabler l’adversaire afin de lui faire rendre gorge et de le mettre minable plus bas que terre ?

Tel est en substance la question qui m’est posée à travers ce blog. Et comme j’accepte volontiers les consultations gratuites, mais que je souhaite optimiser mes réponses sur ce thème, j’en profite pour écrire mes quelques conseils sous la forme d’un billet, ce qui me permettra d’adresser à mes interlocuteurs un simple lien plutôt qu’un copié/collé…

Exemple: Daenerys et Cersei, qui vivaient ensemble avant de gagner récemment le droit de divorcer, se livrent toutes les deux une bataille terrible, avec coup bas, dénigrements et stratégies de haine meurtrière. Daenerys accuse Cersei d’avoir installé sur son ordinateur personnel un keylogger lui permettant d’avoir eu accès à tous ces mots de passe, et de surveiller à distance toute sa correspondance. Il faut dire que Cersei est plutôt calée en informatique, la preuve, c’est elle qui a configuré le Facebook de Daenerys.

La guerre fait rage.

Heureusement, être blogueur a ses petits avantages : je suis contacté par Daenerys qui me confond avec Drogo demande de l’aide… Elle se retrouve sans le sou, nomade errant d’un appartement à un autre, avec pour seules richesses des oeufs pas frais un ordinateur MacBook Pro 15″ sous les pixels la puissance©, un iPad Air qui peut le plus pèse le moins© et un iPhone 5s 64Go toujours plus loin©. Et une seule idée: comment faire payer le plus possible Cersei pour cette infamie, elle va morfler cette salope© !

Savez vous quelles sont les professions qui voient les gens toujours sous leur plus mauvais côté ? Les proctologues et les avocats spécialisés dans les divorces… Et les avocats qui me lisent savent que la colère d’un conjoint cela peut prendre des proportions extrêmes…

Oui, mais comment faire mordre la poussière à son adversaire ?

Comment prouver sa faute ?

Comment expliquer au juge que l’autre c’est le mal et que la surveillance de ma vie privée ne relève pas ici des prérogatives de la NSA ?

Comment démonter le disque dur pour l’analyser sans risque ?

Comment le copier sans compromettre les preuves ?

Comment établir les preuves de manière irréfutables ?

De même qu’un bon avocat sait calmer la colère de son client et essaye toujours de le guider vers la procédure de divorce la moins conflictuelle possible, dans l’intérêt de tous, un bon expert saura guider son client vers le meilleur conseil technique, dans l’intérêt de tous.

Première chose à faire : éteindre son ordinateur et le ranger proprement à l’abri de l’humidité et des chocs. Le plus tôt sera le mieux. Oui, je sais, c’est un cadeau de votre amant auquel vous tenez beaucoup. Oui, c’est une machine hors de prix à laquelle vous attachez beaucoup d’importance.

Mais n’y touchez plus ! Investissez dans un nouvel ordinateur, ce ne sera que le début d’une longue série de dépenses.

Ensuite, réinitialisez tous vos mots de passe (de toutes manières, vous n’en avez qu’un ou deux, pas vrai ?). Faites le pour tous vos comptes.

Et réinitialisez vos téléphones (tant pis pour vos contacts, de toutes manières, avec le divorce, beaucoup de contacts vont disparaître…) et réinitialisez vos tablettes à leurs configurations d’origine. Recréez des comptes emails, recréez des comptes iTunes, recréez des comptes Ubuntu… Bref, recommencez une nouvelle vie numérique.

Puis contactez votre avocat, Maître Tyrion, pour lui demander conseil sur les suites à donner au piratage de votre ordinateur. Si vous êtes sur que celui-ci a été perverti par votre maintenant-ennemi-juré.

Et parmi les moyens de constitution de preuve, il y aura l’analyse réalisée par un expert judiciaire en informatique.

Je précise ici : PAS l’analyse faite par un ami qui s’y connaît, la preuve, il travaille comme informaticien dans une grosse boîte. Non : une analyse de ce type doit être faite par une personne assermentée et habituée à procéder à une analyse inforensique de matériel informatique confié par la justice. Vous ne demanderiez pas à un ami de faire un constat d’huissier, non ?

L’expert judiciaire n’est pas nécessairement le meilleur technicien du monde, ou le plus grand spécialiste en sécurité informatique, mais c’est une personne expérimentée et habilité par la justice à intervenir pour établir un rapport sur les faits et rassembler de manière scientifique les preuves avérées qu’il aura constatées.

J’oubliais : cette analyse aura un coût. Mais Daenerys est prête à tout pour se venger, non ?

La justice française ayant l’un des budgets honteusement les plus faibles d’Europe, il faudra probablement quelques années mois avant qu’un expert ne soit désigné pour procéder à l’analyse de l’ordinateur incriminé. L’expert judiciaire analysera ensuite les centaines de gigabits du disque dur. Si vous êtes sous Windows, ce sera simple mais long. Si vous êtes sous GNU/Linux ou MacOS, ce sera plus compliqué car mieux protégé. N’oubliez pas de lui fournir les différents mots de passe utilisés à l’époque.

Puis viendra la contre expertise, le procès, l’appel du procès, la cassation.

Donc, si vous êtes sûr que votre ex-conjoint a piégé votre ordinateur et que vous en avez subi un préjudice terrible, oui, cela en vaut la peine. Mais n’oubliez pas qu’un grand avocat a dit récemment: « La justice, c’est une administration à laquelle on a donné le nom d’une vertu. Ça n’est rien d’autre que cela. Elle a les qualités et les défauts d’une administration. Moi, je ne voudrais pas avoir à faire à la justice. » (source)

Une autre manière de faire consiste à se poser et à réfléchir. Le jeu en vaut-il la chandelle ? Mon conjoint m’a certes joué un mauvais tour en espionnant toutes mes correspondances, mais n’est-il pas plus simple de tourner la page ? Cela mérite-t-il que j’y consacre toute cette énergie et tout cet argent ?

L’expertise judiciaire informatique peut être la bombe atomique de votre divorce. Mais un simple reset est parfois la meilleure solution – et le meilleur conseil d’ami.

Le petit garçon qui est en moi

Chien assis sur une terrasse en bois, regard contemplatif vers le lointain

En lisant ce billet de l’astronaute Alexander Gerst
sur le blog d’Anne @Cpamoa, je me suis posé la question « quelle part y
a-t-il encore en moi des rêves du petit garçon que j’ai été »…

Enfant, je me nourrissais des exploits des astronautes américains. La conquête de l’espace ouvrait des horizons infinis. J’étais persuadé aller dans l’espace avant la fin du (20e) siècle. Je rêvais d’impesanteur et de chute libre dans un ascenseur. Je rêvais de marcher sur Mars.

L’astrophysique regorgeait de mystères qui me fascinaient. Je regardais plein d’espoir des formules incompréhensibles dans l’encyclopédie Universalis de mes parents. Je rêvais de courbure d’espace et d’écoulement du temps.

Je dévorais tous les articles scientifiques des revus dont j’attendais l’arrivée dans la boite aux lettres avec impatience. Les Tokamaks n’avaient pas de secret pour moi. J’en avais même fait le sujet d’un exposé devant ma classe de seconde qui me laisse le souvenir d’un silence gêné et d’un professeur prompt à passer à l’exposé suivant… Je rêvais des bienfaits d’une énergie abondante et non polluante.

J’étais fasciné par la programmation des petits calculateurs qui
apparaissaient ça et là. Les progrès rapides de la puissance de calcul
et des capacités de stockage me laissaient entrevoir l’arrivée proche
d’une intelligence artificielle dont j’essayais d’imaginer les
conséquences sur la vie de tous les jours. Je connaissais tout sur la
programmation de ma petite calculette, et mes idoles s’appelaient SHRDLU et Lisp. Je rêvais d’interroger un Multivac ou un HAL 9000. Mes héros sont alors Ada Lovelace et Alan Turing.

Je passais mon temps à construire des automates cellulaires

Je construisais des vaisseaux spatiaux avec mes pièces de Meccano.

La science était ma religion, le progrès scientifique ne s’arrêterait jamais et améliorerait le monde.

Aucun de ces rêves d’enfant ne sont devenus réalité.

Il ne reste en moi que l’amertume de leur disparition.

On ne devrait jamais grandir.