L’art de la copie d’écran

Il m’est arrivé, au début de mon activité d’expert judiciaire en informatique, d’assister des huissiers de justice lors de la constitution de preuves, en matière de publication sur internet.

En clair, aider un huissier à faire une copie d’écran.

Puis, avec le temps, les compétences informatiques des huissiers ont fortement augmenté, et il devient rare que l’on me demande de l’aide pour faire une copie d’écran.

Pourtant…

Comme vient de le montrer une affaire récente, une copie d’écran peut être refusée par un tribunal, si elle ne présente pas un caractère probant suffisant.

Extrait du jugement :

« Attendu que si la preuve d’un fait juridique n’est, en principe, et
ainsi qu’en dispose l’article 1348 du code civil, soumise à aucune
condition de forme, il demeure néanmoins que lorsqu’il s’agit d’établir
la réalité d’une publication sur le réseau internet, la production d’une
simple impression sur papier est insuffisante pour établir la réalité
de la publication, tant dans son contenu, que dans sa date et dans son
caractère public, dès lors que ces faits font l’objet d’une
contestation ; qu’en effet, et comme le souligne le défendeur
l’impression peut avoir été modifiée ou être issue de la mémoire cache
de l’ordinateur utilisé dont il n’est pas justifié que cette mémoire ait
été, en l’occurrence, préalablement vidée ; »

A l’intention de mes lecteurs, surtout s’ils sont huissiers, je propose une méthode de copie d’écran d’une page web qui me semble respecter les règles de l’art:

Étape 1: Choisir un ordinateur « sur » pour établir le constat.

Idéalement, il faut prendre un ordinateur réinstallé « from scratch », à partir d’un template de machine virtuelle par exemple, ou un ordinateur réinitialisé à partir de ses DVD de restauration.

Pour gagner du temps, il est souvent préféré l’utilisation d’une machine ayant déjà servi (le PC du directeur, de l’huissier, du secrétaire…).

[EDIT] Il est possible de booter une machine à partir d’un liveCD pour plus de sécurité (commentaire de KaitoKito). 

Étape 2: Vider le cache local.

Sur l’ordinateur choisi pour effectuer le constat, lancer le navigateur et vider le cache. Cette opération peut être complétée par l’utilisation d’un utilitaire de nettoyage (tel que CCleaner par exemple, qui existe en version portable sur une LiberKey par exemple).

Étape 3: Vérifier les DNS.

Vous allez surfer sur internet, en entrant l’adresse d’un site web. Il faut donc vérifier que sa traduction en adresse IP se fait correctement. Au besoin, il est possible de faire plusieurs essais avec des serveurs DNS différents.

Étape 4: Afficher la page incriminée.

Saisir l’adresse complète du site web dans le champ approprié du navigateur (et non pas dans un moteur de recherche).

Étape 5: Imprimer la page.

Une fois la page affichée, en faire l’impression sur une imprimante de confiance. Si l’imprimante n’est pas sure, faire une comparaison intégrale de l’impression papier. Vérifier que l’adresse complète de la page apparaît sur l’impression: en effet, en cas d’adresse longue, celle-ci est souvent tronquée. Il faut agir sur les paramètres de mise en page d’impression (variables en fonction des imprimantes). La date doit apparaître clairement et il faut vérifier qu’elle est correcte (et mentionner la vérification sur le procès verbal!).

Notez que cette étape peut être dématérialisée par la création d’un fichier PDF (à l’aide d’une imprimante pdf) ou la sauvegarde de la page complète dans un format approprié.

Je conseille également d’imprimer le code source de la page, contenant beaucoup plus d’informations pouvant être utiles à la manifestation de la vérité.

Étape 6: Recommencer avec un autre navigateur.

Une clef USB contenant par exemple les logiciels du kit Liberkey, peut accueillir différents navigateurs sans qu’il soit besoin de les installer: Chromium, Firefox, Chrome, Opera, QtWeb…

L’utilisation d’un autre navigateur permet de vérifier les différents comportements qu’une page web peut avoir (code source, plugings…).

Étape 7: Recommencer avec un autre ordinateur et un autre réseau.

Le plus simple est d’utiliser un smartphone fonctionnant en 3G, et de vérifier que les informations affichées par la page web incriminée sont les mêmes que précédemment.

Voilà. La procédure est complète. Vous avez votre copie d’écran et le PV mentionnant scrupuleusement toutes les opérations effectuées.

——————————————————————————-

Cela  suffit-il à constituer une preuve irréfutable ?

La réponse est non.

Si la partie adverse souhaite réellement contester cette procédure, rien de plus simple: il suffit de me contacter pour une contre expertise.

Exemples:

Étape 1: Choisir un ordinateur « sur » pour établir le constat.

Il est extrêmement rare que l’ordinateur utilisé pour faire le constat soit « sur ». Le seul moyen d’en être certain est un ordinateur tout neuf sorti de son emballage (et encore ;-). L’hypothèse d’une contamination par un malware ou un virus n’est pas à exclure. D’où la nécessité de faire les constatations avec au moins un autre ordinateur (un smartphone par exemple), ce qui est rarement fait.

Étape 2: Vider le cache local.

Il n’est pas rare que l’entreprise dispose d’un serveur proxy pouvant faire office de cache. Ce cache a-t-il été neutralisé?

Étape X: Quelles vérifications ont été faites sur le serveur hébergeant la page web incriminée? Qui a vérifié s’il n’y a pas eu falsification des codes sources à un moment ou à un autre? Qui peut assurer que la personne ayant créé les codes sources incriminés est la seule à pouvoir y accéder?

Je suis sur que parmi mes lecteurs férus de sécurité informatique, nombreux seront ceux qui trouveront des failles à la procédure que j’ai présentée.

Donc, de nombreuses contestations sont possibles. Elles dépendent des moyens financiers que vous mettrez en œuvre pour vous défendre, de la compétence de votre avocat, et bien sur, de celle de votre expert judiciaire 😉

La copie d’écran est un art complexe.

———————————-

Source image Dessins de communication

Un expert judiciaire peut-il être mauvais dans votre domaine ?

Cela fait maintenant plus de 14 années que j’ai prêté le serment de l’expert judiciaire, et donc autant d’années où je suis confronté aux regards des autres sur cette activité, surtout depuis que j’ai ouvert ce blog, en septembre 2006.

Et une question revient souvent de la part de mes interlocuteurs: un expert judiciaire peut-il être mauvais dans son domaine d’expertise, qui se trouve être le votre?

La question n’est pas toujours posée aussi directement. Elle apparaît souvent en filigrane dans certaines critiques que je peux lire sur internet, et dans les questions que l’on me pose sur le processus d’inscription des personnes sur les listes auprès des tribunaux. La question est souvent posée par des spécialistes très compétents dans leur domaine, et qui ont été déçus par une rencontre avec un « expert ».

Je pourrais évacuer le problème en répondant: « oui, il y a des experts judiciaires nuls ». Je sens déjà la crispation des présidents de compagnies d’experts qui me lisent et la bronca de certains experts judiciaires qui ne portent pas mon blog dans leur cœur (mais qui me lisent quand même ;-).

Mais c’est vrai qu’on me dit qu’il y a des experts judiciaires nuls…

Tout dépend cependant de ce que l’on entend par « nuls ». J’ai déjà raconté ici cette anecdote du DSI d’un grand groupe qui venait d’être inscrit sur la liste des experts judiciaires et qui ne semblait pas connaître grand chose de l’analyse inforensique d’un disque dur… Effectivement, cette personne serait peu inspirée d’accepter une mission où il aurait à faire une telle analyse technique. Mais peut-on considérer pour autant qu’il soit un expert judiciaire « nul »? N’a-t-il pas des compétences (que je n’ai pas forcément) sur la gestion d’un grand service informatique, ou plutôt d’un service informatique d’un grand groupe? N’est-il pas avisé sur les questions de bonnes pratiques du management d’un système d’information? Sur son organisation?

Qui suis-je pour en juger?

Une des ambiguïtés du terme « expert judiciaire » vient du mot « expert ». Prenons tout d’abord sa définition dans le dictionnaire en ligne de l’académie française:

Expert:

Personne particulièrement qualifiée dont la profession consiste à se prononcer sur l’origine, l’authenticité, la valeur d’un objet d’art ou d’un objet de collection. Un expert en timbres, en meubles de style, en faïences, en livres anciens. L’expert estime que ce tableau, cet autographe est un faux. Faire appel à un expert pour fixer une mise à prix.

Par extension: Toute personne qui, connaissant bien un domaine particulier, en a fait sa spécialité. C’est un expert en architecture médiévale. Plus qu’un connaisseur, c’est un expert.

Pour autant, je trouve intéressante la page Wikipédia consacrée à l’Expert:

« L’expert n’est pas simplement celui qui sait, sur un champ délimité de savoir. Son expérience reconnue lui permet d’apporter une réponse argumentée à une demande d’expertise. Il faut le différencier du savant et aussi du spécialiste. »

Son expérience reconnue… Mais par qui et comment?

Un expert doit être différencié du savant et du spécialiste…

La confusion augmente quand on sait qu’un certain nombre de professions utilisent le mot « expert »:

– expert en assurances

– expert-comptable

– expert immobilier

– géomètre-expert

Une recherche du mot « expert » dans les fiches métiers de pole-emploi retourne 19 résultats…

Finalement, nos anciens auraient peut-être été bien inspirés d’éviter le mot « expert » et de lui préférer le mot « technicien ». Mais l’expression « technicien judiciaire » a du paraître moins prestigieuse à certains.

De mon point de vue, l’expert judiciaire est un généraliste de sa spécialité avec une bonne expérience. Il est moins bon qu’un spécialiste pointu (mais il peut le comprendre et échanger avec lui), mais il possède des connaissances plus larges (un minimum de connaissances en droit, une vision large de son domaine d’activité). Il faut également un minimum d’expérience pour pouvoir estimer les bonnes pratiques, les règles de l’art ou les préjudices subis.

La nomenclature qui définit les domaines dans lesquels l’on peut être expert judiciaire a été publiée dans l’arrêté du 10 juin 2005 (JO du 28/06/2005 texte 12 pdf). Concernant l’informatique, il y a plusieurs rubriques, comme par exemple:

– 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 oeuvre)

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

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

– G.2.5. Documents informatiques

Cette dernière rubrique (Documents informatiques) étant dans la section G: « Médecine légale, criminalistique et sciences criminelles », sous section G.2: « Investigations scientifiques et techniques »…

Je suis pour ma part inscrit uniquement dans la rubrique « Logiciels et matériels » (ne me demandez pas pourquoi). Tous les informaticiens comprendront que cette rubrique est extraordinairement vaste et couvre tous les aspects de l’informatique.

C’est pour cela que je me sens « généraliste ».

Suis-je pour autant bon dans ce domaine? Je dirais que je me sens tout petit quand je lis par exemple certaines épreuves d’Insomni’Hack, ou le programme du SSTIC 2013… Ce qui fait que les spécialistes en sécurité informatique, confronté à une expertise judiciaire, pourraient en déduire que je suis nettement moins bon qu’eux. Pour autant, je suis capable de comprendre leurs explications, voire de les rendre claires. Et c’est justement ce que me demande les magistrats (ou les avocats): déchiffrer la complexité technique d’un dossier pour qu’ils puissent prendre la décision juridique appropriée.

Je suis un généraliste de l’informatique confronté à des spécialistes. Et comme en médecine, parfois, les spécialistes regardent un peu de haut le médecin généraliste.

Donc, pour répondre à la question qui fait l’objet du billet, oui, un expert judiciaire peut vous sembler mauvais dans votre domaine d’expertise. Mais ce n’est pas ce qu’on lui demande. On lui demande de comprendre vos explications de spécialistes et de répondre clairement et scientifiquement à des questions posées par un magistrat ou un avocat.

Et de donner son avis en son honneur et sa conscience.

La prépa

Dès le lycée, je savais que l’informatique serait le domaine dans lequel j’allais travailler. Il faut dire aussi qu’à l’époque, je parle de la fin des années 1970, l’informatique commençait à suffisamment se démocratiser pour sortir des entreprises, et tout le monde sentait bien depuis déjà longtemps que le domaine aurait un développement prometteur.

J’avais réussi à suivre la filière scientifique de l’époque (on ne disait pas 1ère ou Terminale « S » en ce temps lointain, mais « C ») et j’envisageais avec ambition l’entrée en Classe Préparatoires Aux Grandes Ecoles, les fameuses CPGE ou « classes prépas ».

Tous mes professeurs de lycée m’en avaient vanté les mérites, et le métier d’ingénieur semblait correspondre à mes aspirations. Et pour devenir ingénieur, une seule voie possible, la voie royale: la prépa.

Première étape: obtenir l’inscription dans la meilleure prépa possible. Renseignements pris auprès des profs de maths, les prépas parisiennes avaient la côte. Henri IV, Louis-le-Grand, Janson-de-Sailly, Saint-Louis étaient les noms donnés comme étant les plus prestigieux. Mais, bien que bon élève dans mon lycée de province, mon dossier de candidature ne fut pas retenu. Je me consolais en intégrant ce qui m’était donné comme la meilleure prépa de l’époque dans le Nord de La France: le lycée Faidherbe de Lille.

J’ai toujours aimé les mathématiques et les sciences physiques.
J’étais abonné à tout ce qui comptait comme revues scientifiques
accessibles au public: Sciences et Avenir, Pour la Science… J’aimais
les énigmes, les casses-têtes mathématiques. J’aimais ressentir le
frisson des grandes questions scientifiques et techniques: conquête de
l’espace, maitrise de l’énergie, bizarreries de la physique quantique,
comportement des objets mathématiques « étranges » comme les attracteurs. L’intelligence artificielle et l’informatique m’attiraient inexorablement…

Deuxième étape:

En septembre 1981, j’entrais comme interne en prépa scientifique, autrement appelée « Math Sup ». Je devenais taupin, sans savoir que j’allais vivre les trois années les plus difficiles de ma vie, ni qu’il me faudrait des années pour m’en remettre.

J’ai suivi le chemin royal.

J’ai accepté le formatage mental.

J’ai accepté la mainmise d’adultes qui ne connaissent rien du métier d’ingénieur que j’avais choisi.

J’ai accepté leurs diktats, leurs enseignements, leurs idées.

J’ai creusé la tombe de ma créativité, de mon innocence.

J’ai accepté leur évaluation des individus, des formations.

J’ai appris quelles écoles étaient « les meilleures », quelles formations étaient « pour les élites ».

J’ai appris à classer les listes d’écoles et de concours par « valeur ».

Un taupin qui réussit, c’est quelqu’un qui apprend beaucoup de choses, vite et bien. C’est quelqu’un qui connait son cours AVANT d’aller en cours. C’est quelqu’un qui est capable de faire des dizaines et des dizaines d’exercices jusque tard dans la nuit pour obtenir la meilleure note au devoir surveillé ou à l’interrogation orale du lendemain. C’est quelqu’un qui met sa jeunesse entre parenthèse pendant deux, voire trois ans, pour se consacrer corps et âme au gavage de son cerveau.

Pendant deux années complètes, chaque jour de la semaine, chaque semaine de l’année, j’ai absorbé des concepts, des outils, des formules, des réflexes qui n’avaient pour seul but de me permettre de préparer le concours d’entrée des grandes écoles. Chaque concours avait sa propre « réputation » auprès des professeurs, et donc auprès des étudiants. Il y avait les grandes « grandes écoles » et les petites. Nous regardions avec condescendance les écoles qui recrutaient sur dossier, les petites écoles inconnues et les écoles peu « cotées ».

Après deux années de travail acharné, j’avais réussi à être pris dans plusieurs écoles d’ingénieurs. Mais mon échelle de valeur, imposée par mes professeurs et par l’esprit sectaire du système prépa, m’imposait de redoubler, de repasser les concours pour obtenir MIEUX, une école plus PRESTIGIEUSE, parce j’en avais la CAPACITE, le POTENTIEL, parce que JE LE VALAIS BIEN.

J’ai donc redoublé, comme un bon tiers de mes camarades, pour avoir mieux, pour aller PLUS HAUT.

Et après cette troisième année de gavage, j’ai réussi à intégrer une école prestigieuse: l’École Nationale de Mécanique de Nantes (ENSM) qui proposait une option informatique qui commençait à avoir une assez bonne réputation. Je tiens à préciser que cette école s’appelle maintenant École Centrale de Nantes (ECN). Cette école a contribué à faire ce que je suis aujourd’hui.

Bien sur, je ne renie pas ces trois années de ma jeunesse, ni les
choix que j’ai pu faire, ni les amitiés que j’ai pu forger dans ces
moments difficiles. Mais je n’ai compris que bien plus tard que j’aurais
pu faire autrement, qu’il existait des voies moins royales mais plus
humaines. La prépa est un système de sélection poussé jusqu’à l’absurde. Qui décide de ce qu’est une bonne prépa, une bonne école? Très souvent des personnes qui n’ont aucune idée de ce qu’est le métier d’ingénieur.

J’ai passé les premières années de ma vie professionnelle à désapprendre les comportements élitistes que le système prépa m’avait inculqués. J’ai découvert d’autres diplômes, d’autres compétences, d’autres formations. J’ai rencontré des personnes très intéressantes, très compétentes, très intelligentes dans mon domaine d’expertise, et qui avaient suivi d’autres voies. Des voies plus efficaces, moins destructrices de l’individu. Et j’ai parfois eu du mal à admettre que je m’étais trompé, que j’avais choisi de souffrir pour rien.

Je travaille aujourd’hui dans une école d’ingénieurs qui propose cinq années d’études directement après le bac, sans classe préparatoire intégrée. Le concours d’entrée est un ensemble d’épreuves basées sur le programme du bac S, avec un effort sur la suppression du biais social.

L’école a pour objectif de former le meilleur ingénieur généraliste possible, en s’appuyant sur toutes les disciplines concernées, et dispose de cinq années pleines pour cela. Une fois entré dans l’école, il n’y a pas de concours interne pour passer en année supérieure. Le travail demandé est raisonnable. L’école est une structure privée de type association 1901. Les frais de scolarité sont importants mais couverts en grande partie par les bourses. Nous n’avons pas la chance d’avoir un mécène pour nous soutenir, mais 30% du budget est amené par les travaux de recherche (R&D appliquée) du personnel et la recherche de subventions de la direction. Mais ce n’est pas l’objet de ce billet.

Quand je vois les compétences acquises par les étudiants que je côtoie, et leurs conditions de travail, je me dis que mes professeurs de terminale m’avaient bien mal renseigné.

Il existe aujourd’hui un nombre important de formations qui permettent à chacun d’arriver à exprimer le meilleur de lui-même sans sacrifier sa jeunesse. Un bon ingénieur n’est pas nécessairement une éponge à Maths, Physique, Chimie.

Un bon ingénieur est avant tout quelqu’un de passionné.

Un bon professeur est quelqu’un qui sait alimenter cette passion.

Une bonne école est une structure qui arrive à rassembler ces deux catégories de personnes et à les respecter.

Enfin, c’est ce que je me plais à croire.

———————————————–

Source image xkcd.

Game of gones

Ce dimanche, mon fils fêtait son anniversaire avec ses copains. Il nous avait demandé si nous acceptions de les emmener tous dans une salle de jeux portant le doux nom de « laser game évolution« .

Les parents organisant des anniversaires connaissent l’énergie dégagée par la réunion de 9 enfants de 11 ans et les dégâts pouvant en résulter. J’ai le plus grand respect pour les instituteurs, dont le métier et le savoir faire consistent à empêcher d’atteindre le point de fusion thermonucléaire d’un groupe pouvant aller jusqu’à 30 composants plus ou moins stables.

J’ai donc étudié avec la plus grande attention la requête de mon petit dernier.

Mmmmmm, laser game, qu’est-ce que c’est que ça…

Waaaouuuu, un jeu où l’on enferme les monstres gamins drôles gones dans une pièce et où ils peuvent courir partout en se tirant dessus, mais ça a l’air géniaaal !

Et en plus, on se tire dessus avec des pistolets lasers…

Mon rêve !Il faut que j’y participe aussi !

Et nous voilà donc tous réunis, mes 9 compagnons de jeu et moi, sous le regard un peu embarrassé attendri de mon épouse pour accomplir un rêve d’enfance : un combat au laser… Certes, loin du mythique sabre laser qui a nourri mon adolescence (encore que j’étais plus intéressé par Z6PO et R2D2), mais suffisamment près de mon univers mental mélangeant Halo, Call of Duty et autres jeux où l’on trouve des rayons de la mort, des armes Tesla et autres Wunderwaffen.

La préparation est très simple: une vidéo nous indique comment ajuster le harnais sur lequel se trouvent les cibles lumineuses et les règles de combat. On utilise le pistolet laser pour viser l’une des 9 cibles du harnais d’un des adversaires (il y a deux couleurs de joueurs, les rouges et les bleus), si l’on « touche » on gagne 100 points et l’adversaire visé en perd 50. En cas de « tir ami » chacun perd 50 points. On ne doit pas « tuer » quelqu’un dans les escaliers. Si l’on se fait tuer en hauteur, il faut redescendre. On ne doit pas masquer ses cibles. Quand on s’est fait toucher, les lumières sont éteintes pendant 8 secondes avant de pouvoir rejouer. On ne doit pas s’affronter à une distance inférieur à un mètre. Un peu de fumée dans la pièce permet de visualiser les rayons lasers sur toute leur longueur. Les parties durent 20 mn, et à ma grande surprise, les 9 gones avec lesquels j’ai joué ont parfaitement respecté ces règles.

La stratégie que j’ai choisie s’est avérée plutôt gagnante: il vaut mieux être très mobile et bouger sans arrêt, mort ou vivant, pour rencontrer le plus de cibles possibles. Sniper de temps en temps peut être amusant, surtout assisté d’un spotter. Mais on est vite repéré et encerclé.

Le jeu en équipe est assez difficile à faire comprendre à des enfants de 11 ans. J’ai donc opté pour la stratégie du mouvement brownien : chacun court de son côté dans tous les sens et vise la couleur adverse… En fait, je n’en ai parlé à personne et la stratégie s’est mise en place toute seule 😉 Je reconnais qu’il y a eu un peu de confusion lors de la deuxième partie quand les équipes ont été modifiées et qu’un certain nombre d’entre nous ont changé de couleur: il a fallu comprendre qu’il fallait tirer sur une autre couleur que lors de la partie précédente, ce qui, dans un jeu où les tirs réflexes ont une priorité importante, a valu quelques tirs amis malencontreux.

Le décor est assez bien fait: la pièce est dans la pénombre, on se déplace dans un labyrinthe sans réelle possibilité de se cacher. L’une des parties s’est déroulée dans une pièce où se trouvait une voiture sans porte ni coffre ni toit. Les gones ont adoré! Il y a des tours permettant de se placer au dessus de la mêlée, mais l’on est vite repéré avec toutes les lumières que l’on a sur soi. 

J’ai beaucoup aimé les deux parties que j’ai faites. Un grand dadais de 49 ans qui court partout au milieu de neuf gones, ça ne passe pas vraiment inaperçu…

Un dernier détail: on joue à ce jeu comme on surfe sur internet, sous pseudonyme. Mon fils a choisi « Dark Vador ». En bon père, j’ai donc choisi « Luke »… La prochaine fois, je serai Muad’Dib, ou Ripley, ou T800, ou Dave.

A moins que pour ce « game of gones », je ne choisisse Jon Snow

————————————————–

Source image: nowhereelse.fr

La sécurité sous toutes ses formes

Je viens de finir mon recyclage de conduite des chariots élévateurs. Il s’agit du CACES (Certificat d’Aptitude à la Conduite En Sécurité) cariste catégorie 3. Pendant deux jours, j’ai réappris à conduire un chariot que je ne conduis qu’une fois ou deux par an, voire qu’une fois tous les deux ans.

Mais j’ai fait cela pour être avec mes collaborateurs techniques, qui eux utilisent régulièrement le chariot élévateur de l’entreprise. Je serai un chef moins nul que d’habitude (enfin j’essaye).

C’est un moment curieux que de s’écarter des ordinateurs où je me sens à l’aise et de se (re)mettre à conduire un engin bizarre, de soulever des charges de plus d’une tonne, de faire des slaloms avec et de les poser sur des paletiers

Le hasard fait que cette année, je dois faire plusieurs formations de recyclage en quelques semaines: CACES chariot élévateur, CACES nacelle, manipulation des extincteurs, habilitation électrique et Sauveteurs Secouriste du Travail.

L’informatique mène à tout…

Et il y a encore beaucoup d’efforts à faire sur la sécurité 😉

Trois tranches de mort

1ère tranche.

Je marche tranquillement vers mon petit restaurant de midi, quand tout à coup, j’entends un bruit métallique assez fort, assorti d’un cri du genre « haaaaaaaaaa ».

Je me retourne et assiste à la fin de glissade d’un motard précédé de sa moto. Je reste immobile de surprise, puis fait demi tour pour m’approcher de l’homme allongé sur la chaussée, en plein carrefour. Heureusement, il y a peu de véhicules qui circulent à ce moment là.

Son pantalon est déchiré, il saigne un peu à la jambe, son blouson est sérieusement rappé dans le dos. Il regarde sa moto couchée sur le flanc, et alors que je m’inquiète de ses blessures, toute son attention est tournée vers sa moto vers laquelle il rampe en disant: « Oh putain, ma bécane ».

J’arrive à l’aider à se relever et à aller s’asseoir sur le trottoir. Je lui pose quelques questions pour voir s’il est en état de raisonner un peu, mais lui me demande si je peux m’occuper de sa moto. Je retourne alors près de sa superbe Kawasaki de 240 kg que j’arrive péniblement à relever. Le carter du moteur est percé et une partie de l’huile est répandue sur le sol. Quelques protections sont rappées et un cale-pied est brisé, mais dans l’ensemble la moto semble réparable. Je la pousse difficilement jusqu’au trottoir.

Je garderai une douleur au dos pendant quelques jours et dans le poignet pendant deux mois.

Je discute un peu avec le motard, je lui conseille d’appeler son assurance : il appelle sa copine. Après quelques appels infructueux, il raccroche rageur : « Putain, ça sert à quoi qu’elle ait un portable si c’est pour pas répondre ! ». J’essaye de sauver son couple en suggérant qu’elle n’est peut-être pas joignable…

Je m’assure qu’il va bien, qu’il n’a plus besoin de moi et le laisse appeler une dépanneuse. La mort l’a raté de peu, mais toutes ses pensées sont pour sa « bécane ».

2ème tranche.

Je sors de l’école par une petite porte. Je jette un bref regard à droite pour ne bousculer personne et me dirige vers la gauche. Je marche quelques pas et m’arrête interloqué. Dans ma mémoire courte se trouve stockée l’image d’un homme allongé sur le sol. Je me retourne et aperçois une forme sur le sol : un homme gît par terre, ce n’est pas normal…

Je m’approche de lui et constate qu’il baigne dans une flaque d’eau. Il respire et est conscient mais ne répond pas à mes questions. Il sent fortement l’alcool.

Il fait froid, à peine quelques degrés. S’il reste immobile dans cette flaque d’eau, affaibli par l’alcool, il risque d’y passer vite fait. Je suis rejoins par une dame de l’immeuble d’en face qui a vu la scène : l’homme titubait, ce qui a attiré son attention depuis la fenêtre de sa cuisine. Elle l’a vu s’appuyer sur la balustrade près de l’école et basculer par dessus.

J’appelle le 112 sur mon téléphone portable et je décris la situation. Je réponds aux questions du régulateur et il me rassure rapidement : les secours sont en route. Effectivement, quelques minutes plus tard, l’ambulance des pompiers chante dans le lointain. Je les guide depuis le bord de la route à grand renfort de gestes.

Je les laisse faire leur travail : résultat, suspicion de fracture de la jambe. L’homme est embarqué avec précaution. Il aurait pu mourir seul dans cette flaque à l’abri des regards. Si cette femme ne l’avait pas vu. Si je ne l’avais pas vu. Détresse humaine.

3e tranche.

Ce soir, en rentrant du travail à vélo, je manque de tomber sur un scooter renversé dans un virage. Je m’arrête. Un homme a la jambe coincée sous le scooter. Je gare rapidement mon vélo et soulève le scooter pour dégager l’individu. Celui-ci reste allongé, le regard un peu vide. Je mets le scooter sur sa béquille et me penche sur l’homme pour lui parler. Il me regarde et tente de se relever. Je l’aide tout en me demandant s’il est en état de se lever. Je ne sais pas s’il est blessé. Une fois debout, il titube et retombe de tout son long sur le sol. Heureusement, son casque l’empêche de se faire mal.

Il est complètement ivre.

Je l’aide une deuxième fois à se relever et il arrive tout juste à tenir debout. Il veut remonter sur son scooter… Je lui conseille de ne pas essayer de conduire, mais il veut à tout prix rentrer chez lui en scooter. Quelques personnes s’arrêtent à notre hauteur et observent la scène. Je ne sais pas trop quoi faire.

Je décide d’enlever les clefs du scooter et de m’écarter un peu.

L’homme est un peu énervé, mais n’arrive pas à monter sur le scooter. Il a vu que j’avais enlevé les clefs et je continue à lui parler pour le dissuader de rouler dans cet état. « Je suis le diable », me dit-il. « J’ai fait de la prison », ajoute-t-il.

Qui suis-je pour juger une personne ? Ai-je le droit d’empêcher quelqu’un de faire ce qu’il lui plait ? Mon cerveau un peu fatigué réagit quand même correctement : il n’est pas question que cet homme mette sa vie en danger sur un scooter dans cet état, ni d’ailleurs celle des autres.

Un instant, je pense appeler la police pour qu’elle gère ce problème. Je réalise qu’il finira au poste en cellule de dégrisement et qu’il sera probablement verbalisé pour conduite en état d’ivresse. Je n’arrive pas à me résoudre à cette solution de facilité. Je dois pouvoir l’aider sans me défausser.

Je lui rends le trousseau de clefs après avoir ponctionné la clef du scooter et lui propose de le raccompagner à pied chez lui. Curieusement, il accepte aussitôt. Je gare mon vélo près de son scooter pendant qu’il range son casque et récupère ses papiers. Nous voilà parti tous les deux : lui titubant d’un bord à l’autre du trottoir, et moi avec mon casque de vélo sur la tête et mon gilet jaune bien voyant, à ses côtés. J’essaye de l’empêcher de traverser n’importe où, et de l’amener sain et sauf jusque chez lui. Nous marchons ainsi 1/2 heure…

D’un seul coup, il me regarde et me demande qui je suis, où est son scooter et pourquoi je l’accompagne… Il se met en colère, crie et me demande de le laisser. Je lui propose de s’asseoir sur un banc, mais il continue de m’insulter et s’éloigne en zigzagant.

Je le regarde s’éloigner sur le trottoir.

Je me rends compte à ce moment que j’ai laissé dans les sacoches de mon vélo tous mes papiers et mon portefeuille. Je jette un dernier coup d’œil à mon diable titubant. Il marche sur l’herbe vers un immeuble. Il ne court a priori aucun danger. Je cours jusqu’à mon vélo et vérifie que rien ne manque. Je range le scooter dans un coin en espérant que personne ne le vole et qu’il le retrouvera plus tard. J’enfourche mon vélo et retourne surveiller mon gars.

Je ne l’ai pas retrouvé.

J’espère qu’il est rentré correctement chez lui.

J’espère qu’il ne lui est rien arrivé.

Je me fais un sang d’encre et je trouve le monde injuste.

J’ai cette réponse en tête : « IL N’Y A PAS DE JUSTICE, IL N’Y A QUE MOI »

——————————————————————————————-

Source image boumbang (dessin de Jean-Jacques Sempé)

La dernière phrase du billet est une citation de Terry Pratchett (La Mort dans Les Annales du Disque-Monde).

Réseaux de neurones 1

Depuis que je me suis mis en tête de reprendre mes travaux de recherches sur les réseaux de neurones (lire le billet « désir de vieux quadra« ), j’essaye de voir comment aborder cette question sur ce blog.

Je crois que je vais le faire de la manière la plus simple du monde: en mélangeant les billets avec les autres thèmes abordés ici, dans un joyeux chaos qui me correspond tellement bien.

Les lecteurs qui ne sont pas intéressés pourront rapidement zapper les billets qui seront intitulés « réseaux de neurones N », et ceux éventuellement intéressés pourront s’abonner au flux Rss (ou Atom) de la rubrique « Réseaux de neurones« .

Mais je vous préviens tout de suite, je n’ai aucune idée de où cela va mener, ni du temps que je pourrai y consacrer, ni même si j’arriverai à quelque chose. Ce que j’appelle ici « recherche » est un travail personnel que je souhaite partager sur ce blog. Vous y verrez certainement des défauts, des failles et des maladresses que je vous encourage à signaler.

Je rappelle enfin aux nouveaux lecteurs que ce blog est un blog personnel sans prétention mais pour lequel j’ai des principes d’indépendance.

Je suis allé regarder la page Wikipédia consacrée aux réseaux de neurones, et je la trouve très bien faite. Elle constitue une très bonne introduction à ce billet et je vous invite à aller l’étudier.

Les neurones biologiques peuvent être modélisés d’une manière très très simplifiée de la façon suivante:

– un neurone reçoit de l’information de la part d’un certain nombre d’autres neurones. Ces informations seront supposées être de nature principalement électrique. Je noterai ces informations Xi où i sera le numéro du neurone dans le réseau.

– toutes les liaisons entre neurones ne sont pas équivalentes en importance, il est donc judicieux de pondérer l’information électrique avec un coefficient associé à la liaison concernée. Ce coefficient sera noté Cij où i et j sont les numéros respectifs de deux neurones reliés l’un à l’autre dans le réseau.

– le neurone reçoit toutes les informations pondérées et en fait la somme (comme pour un potentiel électrique). Cette somme sera appelée « potentiel du neurone ». On le notera Vi.

– un neurone ne peut pas avoir une sortie Xi trop importante, sinon il va « griller ». Il faut donc limiter la valeur de Xi par le haut.

– inversement, un neurone ne génèrera un signal d’information Xi que si son potentiel Vi est suffisamment élevé. Il faut donc fixer un seuil d’activation (au dessous duquel le neurone restera inactif).

Toutes ces constations, issues plus ou moins d’observations sur les neurones biologiques, amènent à établir les relations suivantes:

Le potentiel Vi du neurone i = somme des produits ( Cij Xj ) où j parcourt l’ensemble des indices des neurones qui sont reliés au neurone numéro i, où Cij est le poids de la synapse reliant le neurone j au neurone i (on dit également coefficient synaptique) et où Xj est la sortie du neurone j.

La sortie Xi du neurone i = f ( Vi ) où f est une fonction de transformation du potentiel limitant la valeur de la sortie quand Vi est grand et permettant d’avoir une sortie Xi nulle si Vi est trop faible. Cette fonction est appelée fonction d’activation.

Soit, grace à la concision du langage mathématique, pour chaque neurone d’indice i :

où Pi est l’ensemble des indices des neurones envoyant leurs valeurs au neurone i

La fonction d’activation :

Comme indiqué précédemment, cette fonction a pour rôle d’introduire une non linéarité dans le réseau. Elle limite la valeur maximum de la sortie d’un neurone et reste nulle pour des potentiels trop faibles.

La fonction d’activation souvent utilisée est la fonction sigmoïde ou la tangente hyperbolique. Pour ma part, je choisis cette dernière car elle est centrée sur zéro, ce qui permettra d’amorcer plus facilement l’algorithme d’apprentissage, comme nous le verrons plus tard.

Fonction tangente hyperbolique – Image source Wikipédia

En préparant ce billet, je me suis demandé s’il n’était pas plus simple d’utiliser une fonction sinus pour les potentiels compris entre -pi/2 et +pi/2 et deux demi-droites horizontales à -1 et +1 pour le reste. Je n’ai jamais testé, mais cela me semble une idée intéressante pour abréger l’apprentissage (qui dépend des fonctions dérivées). On verra.

Pour simplifier le comportement du futur ensemble de neurones que l’on appellera « réseau de neurones », je fais l’hypothèse que tous les neurones utilisent la même fonction d’activation, ce qui me permet de retirer l’indice « i » sur le « f » des formules précédentes.

J’ai volontairement omis des formules précédentes le fait que les potentiels (et donc les sorties) des neurones vont varier au cours du temps. Vi et Xi sont donc des fonctions du temps. J’aurais du écrire Vi(t) et Xi(t). Mais comme je vais travailler dans un univers discrétisé, je préfère écrire Vi(n) et Xi(n).

Nous aurons donc comme modèle pour un neurone i à un instant n :

où Pi est l’ensemble des indices des neurones envoyant leurs valeurs au neurone i.

Un schéma est peut-être plus explicite :

Modèle de neurone

La mise en réseau :

Un réseau de neurones de ce type est un ensemble de neurones reliés les uns aux autres de façon à ce que l’information puisse circuler sans boucle pour que tous les potentiels soient calculables à un instant n.

En outre, afin de relier le réseau au monde extérieur, le réseau dispose de capteurs d’entrée qui seront considérés comme des sorties de neurones imposées par le monde extérieur.

Voici un exemple de réseau de 3 neurones avec deux entrées :

Le monde extérieur impose le comportement des neurones d’entrée E1 et E2.

J’ai choisi de mesurer les sorties des deux neurones X4 et X5.

La sortie du neurone numéro 3 est interne au réseau.

Tous les choix faits ici sont pour l’instant arbitraires (nombre d’entrées, nombre de neurones, architecture des connexions, sorties sélectionnées…).

Il est important de comprendre que les six coefficients Cij de ce réseau sont les inconnues à calculer si l’on souhaite que le réseau ait un comportement particulier pour un ensemble de stimuli imposés.

Nous verrons tous cela dans un autre billet.

Pour l’instant, j’ai beaucoup de choses à apprendre sur le langage Go que Stéphane Bortzmeyer m’a fait découvrir sur Twitter, et cela va me prendre beaucoup de temps… Ça parle de parallélisme, de passage de messages sur des canaux, toutes choses prometteuses pour mes futures simulations. Mais je ne dois pas oublier qu’il va aussi me falloir mettre en place mes routines d’optimisation favorites

Je me sens l’âme d’un étudiant (et j’aime ça ;-).

———————————————-

Source image Megaportail

Désir de vieux quadra

J’ai écrit sur ce blog deux billets consacrés à une période de ma vie où j’espérais beaucoup faire progresser la science dans le domaine de l’intelligence artificielle. Le premier, intitulé « Intelligence artificielle« , et le second, intitulé « Minimisation« , portaient en eux une certaine nostalgie de cette époque.

Aujourd’hui, je partage mon existence entre ma famille, mon travail comme responsable informatique et technique dans une école privée d’ingénieurs, mon activité de conseiller municipal dans une ville de 5000 habitants (c’est d’ailleurs bientôt les élections !), mon activité d’expert judiciaire en informatique, et des loisirs comme l’aviron, la lecture de SF, le suivi de l’exploration spatiale, la tenue de ce blog ou la lecture de mon fil Twitter.

J’aime beaucoup cette existence et je me considère comme un homme heureux, très heureux même. Bien sûr, j’ai quelques petits coups de blues comme tout le monde, et il m’arrive de me demander ce que je serais devenu si j’avais fait tel ou tel choix différemment.

Parmi les milliers de choix que j’ai pu faire dans mon existence (je ne crois pas au destin), l’un m’a particulièrement marqué: j’ai quitté un poste de Maître de conférences à Paris où je menais des recherches passionnantes. J’ai fait ce choix pour des raisons parfaitement justifiées, et si c’était à refaire aujourd’hui, je ferai le même choix sans hésiter. L’Amour emporte tout sur son passage… et je ne me voyais pas fonder une famille en région parisienne.

Cela ne m’empêche pas, à quelques mois de mes 50 ans, tout en profitant pleinement de la vie et du temps d’apprentissage que j’espère encore long devant moi, de regarder un peu derrière moi et faire un petit bilan.

Et tout à coup, je me suis dit: et si je reprenais mes recherches sur les réseaux de neurones, en douce, en solo, sur mon temps libre, par petits bouts… Est-ce une tâche possible et surmontable? Saurai-je trouver l’énergie et le temps nécessaires? Je ne sais pas. Mais qui peut répondre à l’avance à ce genre de question?

Il me faut reprendre le fil de mes travaux, arrêtés en 1993. Pour cela, je peux relire mes articles de l’époque, retravailler ma thèse de doctorat pour me rafraîchir la mémoire. Il me faut re-développer de zéro tous les outils logiciels qui me servaient à l’époque pour faire mes simulations. Ce serait l’occasion pour moi d’apprendre un nouveau langage de programmation (Prolog, OCCAM et C ont le charme désuet des langages d’antan) et d’exploiter les possibilités des mémoires et calculs des machines d’aujourd’hui. Il me faut ré-apprendre tous les outils mathématiques dont je vais avoir besoin et que le temps a effacé de ma mémoire: dérivées partielles, distances, représentation d’états, fonctions de Lyapunov… Aurai-je la patience de tout ré-apprendre? Il me faut ré-accepter de me prendre les pieds dans le tapis, d’explorer des voies sans issues, de passer pour un imbécile aux yeux de ceux qui les ont déjà explorées, de faire des bourdes de débutant, de redevenir un débutant…

Je pourrais tenir une chronique de cette activité sur ce blog, qui mélange déjà toutes mes autres activités. Cela m’obligerait à avoir les idées suffisamment claires pour pouvoir les exposer pédagogiquement, même si mon billet sur la minimisation n’a pas brillé sur ce point. Cela m’obligera aussi à afficher plus d’humilité. Cela donnera de l’eau au moulin de mes (dé)tracteurs.

Je me demande toutefois si je ne suis pas en train de courir après une chimère.

Je me demande si ce n’est pas un désir vain de vieux quadra…

On verra bien.

Je tente le coup.

——————————————

Image: Charlie Chaplin et Albert Einstein, lors d’une projection privée du film « Les Lumières de la Ville » (1931).

Léo 7 ans

Léo a sept ans. C’est un petit garçon volontaire. Il me dévisage sans peur, mais avec une lueur d’incompréhension dans le regard.

Il est 6h30 du matin.

J’accompagne un huissier de justice, avec un serrurier et deux policiers. Cinq hommes étrangers viennent d’entrer dans l’univers familier de Léo. Et de le réveiller.

Léo vit avec sa maman et son petit frère. Son papa est parti peu après la naissance du dernier. Sa mère a, paraît-il, commis un délit qui nous amène à cette perquisition matinale. Mais Léo n’en sait rien. Il s’interroge sur le bruit de la sonnette à 6h du matin. Il a entendu sa maman ouvrir la porte, puis des grosses voix dans l’entrée de la maison. Inquiet, il s’est levé et a appelé sa mère. Elle a tardé à venir le rassurer. Il est donc sorti courageusement de sa chambre.

Il est là devant moi, dans le couloir.

Je mets un genou à terre pour que mon regard soit au même niveau que le sien. Je suis un peu paniqué car mon domaine d’intervention à moi, ce sont les ordinateurs. Mon rôle dans cette perquisition consiste à suivre l’ordonnance du magistrat qui recherche des données précises « sur tout support informatique présent dans la maison ».

Je n’avais pas prévu de me retrouver face à un petit garçon affrontant un danger inconnu de lui.

Mon cerveau tourne à plein régime. Il ne me connaît pas, donc je ne peux pas me montrer familier en lui prenant la main. Je me demande ce que j’aurais aimé que quelqu’un dise à mes enfants en pareille situation.

Je lui fais un grand sourire. Je force mon visage à se détendre: « Ta maman a un petit problème avec son ordinateur. Nous sommes venus pour voir si on peut le réparer. »

C’est la seule chose qui m’est venue à l’esprit.

La mère de Léo est derrière moi et m’a entendu. Malgré son stress intense et la violence de l’intrusion dans son espace privé, elle comprend mon intention. Elle s’approche de Léo en souriant et lui confirme que nous sommes là pour résoudre un problème informatique.

Léo, sept ans, est rassuré mais continue de me regarder un peu inquiet: « J’espère que ce n’est pas mon nouveau jeu qui a abimé l’ordinateur de maman? »

Mon cœur se brise, mais aucun muscle de mon visage ne bouge. Je lui réponds qu’il y a peu de chance et que je suis sûr que c’est autre chose. C’est si compliqué les ordinateurs.

La dernière image que j’aurai de Léo est son départ pour l’école accompagné par une voisine et tenant son petit frère par la main. Je lui ai fait un petit signe de la main avec le pouce levé.

J’ai aussi fait en sorte que l’ordinateur soit toujours en état de fonctionner normalement avant le soir.

Mais que c’est dur une perquisition.

CA

Bonjour, je m’appelle Zythom, je suis caféinomane.

J’ai arrêté de boire du café depuis exactement quatre ans

Et ça va très bien bien bien.

(Tous ensemble) « Bonjour Zythom ! »

NDLR: nawak

Désolé…