Mon père

Mon père est né avant la 2nde guerre mondiale. Parisien pendant l’occupation, il est envoyé en province pour manger correctement. Il fait ainsi sa première communion à Bayeux, le 5 juin 1944, soit un jour avant le débarquement des troupes alliées. Bayeux fut l’une des premières villes libérées de France métropolitaine.

Il me raconte encore aujourd’hui comment, avec d’autres enfants de tous âges, il demandait aux GI qui ont traversé Bayeux tout au long des semaines qui ont suivies, des barres de chocolat et des chewing-gums.

Enfant jovial et un peu turbulent, mon père m’a toujours faire rire en racontant les bêtises qu’il a pu faire à l’école, les blagues de potache, les explosions en cours de chimie… Cela l’a empêché d’avoir le baccalauréat, mais grâce à la Capacité en Droit, il a pu devenir instituteur, puis directeur d’école primaire.

Mon père aime la vie, et aime aussi l’animation des jeunes. Il sera membre du Bon Conseil à Paris, puis y deviendra animateur. Il racontera plus tard à son fils passionné (moi) les parties de cache-cache à 40 gamins toute une après-midi dans le métropolitain. 40 gamins (chacun avec un ticket) répartis en deux équipes, qui doivent se chercher dans un périmètre délimité par plusieurs lignes de métro…

Il a vécu une partie de son enfance à la caserne Babylone, dans le 7e à Paris, son père étant garde républicain, en charge de la surveillance de l’Élysée.

Mon père a été appelé en Algérie française pour faire son service militaire. Il y a rencontré une jeune et jolie jeune femme qui devint sa femme (et qui devint ensuite ma mère). Il me raconte cette anecdote d’avoir été consigné dans ses quartiers (interdiction de sortir de la caserne) au motif d’avoir « tenu la main de sa fiancée pour l’aider à descendre du tram ». Le motif avait fait le tour de la caserne pour le plus grand plaisir des hommes de troupe…

Il épousera ma mère et s’installera dans un quartier populaire de Hussein Dey près d’Alger, elle et lui exerçant le même métier : instituteur.  Ils y vivront pendant toute la guerre d’Algérie perdant à jamais leurs jeunesses dans ce gâchis colonialiste. Ils rentreront en métropole dans les derniers. Fonctionnaires ayant abandonné leurs postes, ils ne devront leur salut qu’au fait que tous les fonctionnaires aient abandonné leurs postes en même temps, prenant d’assaut les bateaux pour sauver leurs vies. Ils ne trouveront un poste d’enseignant que dans le Nord de la France. Je vous laisse deviner comment ma mère se souvient de son arrivée en France métropolitaine pendant l’hiver 1962-1963 après avoir connu la douceur du climat méditerranéen…

Courageusement, ils (re)construisent leur vie et éduquent leurs enfants en les entourant d’affection, en nous donnant le bonheur et la joie d’une jeunesse qu’ils auraient voulu avoir. Leur histoire commune est difficile à raconter séparément, tant leur couple semble avoir été, jusqu’à encore aujourd’hui, solide comme un roc.

Aussi loin que mes souvenirs remontent, mon père a été directeur d’école. Nous vivions d’ailleurs DANS l’école, puisque nous occupions le logement de fonction prévu pour le directeur. Cette maison, très grande avec des plafonds très hauts (4,20m!) et des pièces difficiles à chauffer, avait la particularité d’avoir des murs en briques recouvertes de torchis. J’en parle un peu dans ce billet. Pas très pratique pour planter un clou…

Il a été un directeur d’école très aimé par ses élèves. Il leur a consacré sa vie, se levant à 6h tous les jours pour se coucher à 23h. Les parents d’élèves, souvent d’origine très modeste, le respectait pour son humanité, même si certains lui faisaient quelques misères. Tout en gardant son humeur joviale, il travaillait dur (ma mère également), donnant beaucoup à ses élèves, croyant à l’ascenseur social, et ajoutait à ses heures normales des cours du soir destinés aux adultes analphabètes.

Lors de la cérémonie de remise de ses palmes académiques, j’étais un grand adolescent ému qui écoutait son père faire un magnifique discours rempli de blagues et de citations.

Quand il a pris sa retraite, bien méritée, il a continué à aller, plusieurs fois par an, dans son ancienne école de Wattrelos où il fut directeur si longtemps. Il y retourne pour faire chanter les élèves, avec l’accord des instituteurs. Il a continué 26 ans après son départ en retraite, jusqu’à aujourd’hui où la fatigue de son âge se fait sentir et l’oblige à renoncer.

Quand ma fille aînée est entrée en primaire (et nous habitons à l’autre bout de la France, plus près du soleil qui leur a tant manqué), il est allé voir le directeur de l’école primaire de mon grand village, s’est présenté et lui a proposé de faire chanter les enfants des classes. Un peu surpris au départ, tous les enseignants ont accepté et apprécié ce moment magique qu’il leur propose une ou deux fois par an depuis plus de 10 ans. Les enfants l’adorent. Son surnom: « le papy chanteur » !

Cette année sera la dernière de sa tournée des deux écoles: il commence à fatiguer. Je le soupçonne aussi d’avoir cherché dans les yeux de ses propres petits enfants (qui tous les trois ont fait la même école primaire) la fierté qu’ils avaient de pouvoir dire à leurs copains: le papy chanteur, c’est MON papy ! Mais maintenant, mon petit dernier quitte l’école primaire pour la 6e…

Mon père a eu et a toujours une belle vie bien remplie. Il s’est mis à l’informatique depuis deux ans, motivé par ma mère et avec l’aide de leur mairie qui propose des cours pour seniors. Nous leur avons offert un beau « tout en un » avec grand écran tactile et ils participent à une réunion Skype tri-partie chaque week-end, avec ma sœur, eux et moi.

J’ai toujours été réservé dans mes déclarations d’affection envers mon père. Un truc fréquent semble-t-il dans les relations enfants-parents. Comme je sais qu’il lira ce billet (avec l’aide technique de ma mère) depuis son Nord adoptif, je profite de cette fête des pères à distance pour lui dire, du bas de mes 49 ans:

« Papa, je t’aime ! »

——————————–

Source image: Danger école

SSTIC OpenVPN Synology Freebox et iPhone

Ça y est, c’est fini, le SSTIC 2013 est terminé…

Comme l’année dernière, les trois jours de conférence ont été très intéressants. J’ai encore appris de nombreuses choses, sur l’univers de la sécurité informatique, sur les spécialistes qui habitent cet univers, sur mes nombreuses lacunes techniques et sur ma faible paranoïa…

J’ai également rencontré de nombreuses personnes avec qui j’ai pu discuter longuement. Pour la plupart, ces personnes me lisent sur ce blog et en apprécient le contenu, ce qui n’a pas gâté mon plaisir. J’étais très heureux de croiser autant de personnes passionnées par l’informatique et qui, pour la grande majorité, ont choisi le côté clair de la Force. J’y ai même rencontré une experte judiciaire en informatique jeune, jolie, compétente et sympathique. Je vous assure que c’est fort rare.

Le blog est toujours en ligne cette année, mon compte Twitter aussi. Il
faut dire que j’ai été beaucoup plus prudent que l’année dernière: je
n’ai pas du tout utilisé mon ordinateur portable (pourtant j’aurais été
un des rares Windows 8 de l’amphi ;-), et mon smartphone était en mode
avion, puis timidement en 3G pour quelques tweets. Pas de connexion dans
l’amphi, pas de connexion dans la rue, pas de connexion à l’hôtel: on
n’est jamais assez prudent.

Mais c’est un peu pénible de ne pas pouvoir répondre à ces emails, de ne pas pouvoir se connecter à son blog, de ne pas pouvoir lire dans ses flux RSS ses blogs préférés. Bref, c’est un peu pénible de ne pas pouvoir avoir un accès sécurisé à Internet.

Tout cela, c’est un peu de ma faute: j’ai tellement procrastiné sur le sujet que je me suis retrouvé « Gros-Jean comme devant » la veille du départ au SSTIC. Du coup, pendant le SSTIC, j’ai un peu enquêté à droite et à gauche pour savoir comment les plus paranoïaques des spécialistes de la sécurité sortaient couverts. Chacun dispose de ses outils, mais les mots suivants sont revenus souvent: VPN, TLS, cryptage chiffrage chiffrement, OpenVPN, bières, sauts en parachute…

Comme je ne pratique pas tous ces concepts, je me suis au travail dès ce week-end. Voici donc la solution qui me convient, et que je partage ici avec vous.

Contexte :

– Je dispose d’un magnifique iPhone que je souhaite utiliser, dans des conditions de bonne sécurité dans un milieu inconnu, pour accéder à internet.

– J’ai la chance d’avoir un NAS Synology DS713+ familial qui permet la mise en place d’un serveur VPN. Après avoir testé plusieurs fournisseurs VPN, je souhaite pouvoir utiliser une solution personnelle que je pourrai peut-être mieux maîtriser.

– Mes activités étant conformes aux lois françaises, et protégées par celles-ci, je souhaite profiter de mon abonnement ADSL personnel, situé en France métropolitaine (avec IP fixe).

– Enfin, plutôt qu’un accès PPTP, je souhaite mettre en place une solution plus sure, basée sur OpenVPN.

Mise en œuvre :

Je vais m’appuyer sur toutes les personnes ayant partagé sur Internet leurs solutions aux différents problèmes que j’ai rencontrés.

1) Installation du serveur VPN sur le NAS Synology:

Très simple et bien expliquée sur cette page du site de Synology.

2) Installation de l’application « OpenVPN connect » sur l’iPhone (sans jailbreak):

A l’heure où j’écris ces lignes, l’application n’est pas disponible sur un compte iTunes français, mais j’ai pu l’installer à partir d’un compte américain. Pour se créer un compte américain, il suffit de suivre les explications de ce site. Une fois installée, ne lancez pas tout de suite l’application.

3) Création des certificats:

Afin de maîtriser correctement la chaîne de sécurité, il me semble préférable de générer soi-même les différents certificats, par exemple pour pouvoir les modifier en cas de compromission. Pour cela, j’ai suivi à la lettre les instructions de cette page (du point n°1 au point n°3) qui utilisent le logiciel XCA.

4) Configuration du serveur VPN sur le NAS Synology:

Une partie des certificats doit être installée sur le NAS et pris en compte par le serveur VPN. J’ai suivi à la lettre les instructions 2 et 3 détaillées sur cette page. Notez que le point n°1 a déjà été fait à l’étape précédente (Création des certificats). J’ai également rencontré plusieurs problèmes lors du point n°4 de cette liste d’instructions, c’est pourquoi je le détaille dans les étapes qui suivent.

5) Récupération du fichier de configuration OpenVPN pour l’iPhone:

– Après avoir rebooté votre NAS pour être sur que le serveur VPN utilise la bonne configuration, retournez dans l’interface d’admin du Synology pour exporter la configuration du VPN server (Connectez-vous à DSM avec les identifiants d’admin. Allez à Menu principal > VPN Server. Cliquez sur OpenVPN sous la section Paramètres dans le panneau gauche. Vous avez un bouton « exporter la configuration » qui va permettre de stocker sur votre ordinateur le fichier qui va servir de base pour la configuration de l’iPhone. Il s’agit d’une archive compressée qui s’appelle « openvpn.zip ».

– Dézippez là sur votre ordinateur.

– Vous voici en possession d’un fichier openvpn.ovpn qui ressemble à cela

dev tun

tls-client

remote YOUR_SERVER_IP 1194

# The « float » tells OpenVPN to accept authenticated packets from any address,

# not only the address which was specified in the –remote option.

# This is useful when you are connecting to a peer which holds a dynamic address

# such as a dial-in user or DHCP client.

# (Please refer to the manual of OpenVPN for more information.)

#float

# If redirect-gateway is enabled, the client will redirect it’s

# default network gateway through the VPN.

# It means the VPN connection will firstly connect to the VPN Server

# and then to the internet.

# (Please refer to the manual of OpenVPN for more information.)

#redirect-gateway

# dhcp-option DNS: To set primary domain name server address.

# Repeat this option to set secondary DNS server addresses.

#dhcp-option DNS DNS_IP_ADDRESS

pull

proto udp

script-security 2

ca ca.crt

comp-lzo

reneg-sec 0

auth-user-pass

6) Modification du fichier openvpn.ovpn obtenu à l’étape précédente:

– « YOUR_SERVER_IP »doit être remplacée par l’adresse IP fixe de votre box ADSL. Étant heureux propriétaire locataire d’une freebox avec adresse IP fixe, je n’ai pas eu besoin de me replonger dans mes souvenirs du paramétrage de dyndns.

– J’ai décommenté la ligne « redirect-gateway » (mais je ne suis pas sur de son impact dans le temps)

– Il faut supprimer la ligne « ca ca.crt » et la remplacer par:

<
ca
>

—–BEGIN CERTIFICATE—–

xxx

—–END CERTIFICATE—–

<
/ca
>

<
cert
>

—–BEGIN CERTIFICATE—–

xxx

—–END CERTIFICATE—–

<
/cert
>

<
key
>

—–BEGIN CERTIFICATE—–

xxx

—–END CERTIFICATE—–

<
/key
>

– Il faut ensuite remplacer les « xxx » par les contenus respectifs des fichiers certificats du client générés à l’étape n°3 « Création des certificats ».

– Il faut enfin corriger la ligne « reneg-sec 0 » en « reneg-sec 3600 ».

7) Transfert du fichier de configuration vers l’iPhone:

– Il faut transférer le fichier openvpn.ovpn modifié à l’étape précédente vers votre iPhone. Pour cela, il faut brancher votre iPhone sur votre ordinateur et utiliser iTunes: Menu iPhone / Apps. Dans « Partage de fichiers », descendre jusqu’à l’application « OpenVPN », la sélectionner, et cliquer sur le bouton « Ajouter… » pour aller chercher le fichier openvpn.ovpn.

– Sur votre iPhone, vous pouvez enfin lancer l’application OpenVPN », et accepter le chargement du profil trouvé dans le fichier openvpn.ovpn. Ne cherchez pas tout de suite à vous connecter…

8) Configuration de votre box ADSL pour le renvoi de port:

Allez dans l’interface de votre box ADSL pour paramétrer le renvoi du port UDP 1194 de l’adresse IP fixe de la box vers l’adresse IP et le même port de votre NAS familial.

9) Connexion VPN de votre iPhone:

Retournez sur votre iPhone, dans l’application OpenVPN et connectez vous dessus avec un compte valide de votre NAS. L’informatique est magique et tout fonctionne. Vous pouvez lire vos emails au SSTIC.

Erreurs possibles :

Il est possible de rencontrer plein d’erreurs tout au long de la procédure que j’indique ici, et il serait illusoire que je puisse vous donner toutes les solutions à vos problèmes. J’ai toutefois rencontré plusieurs difficultés qui m’ont fait perdre un nombre d’heures assez importantes. Je vous les indique ici en espérant faire le bonheur de quelques uns:

– Si vous avez une erreur de ce type:

Cannot load certificate file error:0906D06C: PEM routines:PEM_read_bio:no start line: error:140AD009: SSL routines:SSL_CTX_use_certificate_file:PEM lib

Il est fort probable que vous ayez modifié les certificats lors du copié/collé de l’étape 6. Une sombre histoire d’UTF8 mal géré par OpenVPN. Vous aurez plus d’informations sur cette page. Dans mon cas, j’ai recommencé mon copié/collé sous Notepad sans chercher à mettre en forme, et c’est passé.

– étape 8: vous n’allez pas le croire, mais j’avais déjà programmé sur ma box une redirection du port UDP 1194 vers mon ordinateur, il y a longtemps, lorsque j’ai effectué des tests de connexions à des VPN distants. Lorsque j’ai entré une nouvelle redirection de ce port vers celui de mon NAS, l’interface de la freebox n’a pas bronché, et évidemment, un port ne se redirige qu’une seule fois. Rien n’arrivait à mon NAS. Vérifiez donc qu’aucune redirection du port UDP 1194 n’est pas déjà faite…

Conclusion :

Je ne prétends pas avoir transformé mon iPhone en Teorem de Thales (woa le nom), mais je pense avoir rehaussé mon niveau de sécurité, du moins jusqu’à ma box ADSL. La technique est utilisable pour un ordinateur portable et certainement pour un téléphone sous Android.

Grâce à ce problème simple, j’ai pu m’intéresser d’un peu plus près à mon matériel et à ses configurations logiciels. C’est un week-end de bidouillages à mon niveau qui m’a fait réviser les certificats et découvrir l’arrière boutique de mon NAS Synology (en connexion ssh).

Bref, un hacker je vous dis 😉

Lettre à mes 16 ans

Salut à toi, Zythom.

Je suis ton futur toi, ton toi plus vieux. J’ai 49 ans.

Je sais, c’est vieux, surtout quand on a que 16 ans…

Bon, je ne voudrais pas spoiler ton avenir (regarde dans le dictionnaire Harrap’s ça veux dire, le volume Anglais -> Français), mais je reviens vers toi pour te rassurer et te donner quelques conseils.

16 ans, c’est super, mais la suite c’est pas mal non plus. Tu vas voir, ça va même aller en s’améliorant. Pour le lycée, ne change rien. Continue de marcher dans le système, de sourire aux profs, même aux casse-couilles.

J’aime bien ton idée de « plutôt que de faire exploser le système en s’y opposant, il vaut mieux essayer de s’y adapter et de le changer de l’intérieur ». Ça ne marche pas, mais au moins ça permet d’éviter de s’en prendre plein la tronche, et de rester marqué.

A propos de marques, les boutons d’acnés, n’y touche pas trop, tu en auras jusqu’à la fin de tes jours. That’s life. 

Les filles, c’est super. Soit patient et ne change rien. Les filles aiment les voyous, mais les femmes aiment les mecs bien. La moto, c’est cool: change juste de casque, parce que l’intégral sur une 125, c’est un peu trop. Mais bon.

Le club d’informatique que tu as créé avec deux potes à lunettes (ne te moque JAMAIS des mecs à lunettes, tu comprends, JAMAIS), c’est super. Continue à jouer avec l’IBM 5100 qu’un parent d’élève vous a prêté. Travaille tes algorithmes, fais fonctionner tes méninges. Par contre, arrête de trop d’occuper à faire rentrer tout ça dans la mémoire de ta TI57, la mémoire, c’est le truc qui va exploser à ne plus savoir quoi en faire. Travaille sur papier et voit GRAND. Genre une mémoire quasi infinie.

Pour ton avenir professionnel, continue à t’inquiéter. Tu deviendras le plus grand procrastinateur de l’univers, mais à chaque fois que tu en auras besoin, tu passeras le cap. Sache quand même que tu vas en baver dur pendant quelques années, mais qu’après tu ne comprendras même pas pourquoi on te paye tellement tu aimeras ton métier. Tu verras même que parfois on ne te payera pas, ou mal. Et tu t’en ficheras, enfin presque.

Côté famille, soit cool. Les études, c’est bien. Ceux qui autour de toi s’éclatent en boite tous les week-ends au lieu de bosser leur bac vont galérer pas mal ensuite. Toi, tu vas ramer pendant cinq ans, mais après tu vas t’éclater pendant 50 ans. Un bon truc, ce serait de convaincre tout ce petit monde de mettre un peu d’argent dans une petite société américaine toute jeune et toute petite, située à Albuquerque. Genre 1000 Francs par tête de pipe. Fais moi confiance.

Un truc moche quand même: la clope. Si tu peux arrêter tout de suite, ça
t’évitera quelques tensions par la suite. Et quoique tu en penses, on ne
trouvera pas de solution pour le cancer « quand tu en auras besoin ». Ça,
c’est tout faux. Et parles-en à tes proches aussi…

Arrête aussi le baby et les flippers. Ça mène à rien. De toutes façons, tu seras jamais très bon et c’est pas dans tes moyens. Par contre, continue les jeux d’arcade: Pac-Man et Space Invaders. Tu te feras un peu moins éclater après à CoD. A propos, je te signale qu’il y a une position dans Pac-Man où les fantômes ne peuvent pas venir t’éclater. Et si tu pouvais mettre de côté la console Pong, plutôt que ta TI57, ça me fera plaisir 30 ans plus tard en déballant les vieux cartons…

Ah, et concernant Wattrelos, ne te bile pas, tu n’y feras pas de vieux os. Mais tu arriveras à regretter le Nord, si si. Si, je te dis ! Du brun !

Allez courage.

Je te laisse, j’ai mon moi de 70 ans qui m’envoie un holo.

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

Merci à Pingoo pour l’idée et le titre.

Expérience sur l’anonymat

Lorsque j’ai décidé d’ouvrir ce blog en 2006, j’ai pris comme pseudonyme « Zythom » car je voulais séparer mes activités IRL et numérique. Je considérais l’utilisation d’un pseudonyme comme allant de soi dans l’univers numérique.

Dès que j’ai commencé à avoir des lecteurs, je me suis trouvé devant le problème classique de la modération ou pas des commentaires. Après avoir hésité un peu, j’ai fait le choix de modérer les commentaires pour garder le contrôle du contenu du blog. Ce faisant, je sais que mon statut juridique est plus risqué, puisque j’autorise la publication du commentaire. Mais c’est mon choix et je l’assume jusqu’à présent.

Pour compenser un peu, parmi les différents paramètres de la configuration du blog, j’ai choisi d’autoriser la soumission de commentaires anonymes. Cela me semble logique, même si cela encourage quelques personnes à abuser de cette possibilité.

Mais je souhaitais pouvoir aller plus loin dans l’anonymat que je pouvais offrir à mes éventuels correspondants, aussi, en juin 2010, j’ai ajouté à la page contact de mon blog un formulaire PrivacyBox permettant à tout internaute qui le désire de me contacter d’une manière complètement anonyme, sans que je ne puisse avoir de moyens de connaître son identité réelle. Les messages que je reçois via ce formulaire sont de plus automatiquement chiffrés avec ma clef publique OpenPGP.

Maintenant que le service de PrivacyBox va fermer, il est temps pour moi de faire un petit bilan de cette expérience.

Donner la possibilité à des personnes de vous écrire sans contrainte d’identité lève un certain nombre de barrières: la parole est plus libre, plus directe. Des choses peuvent être dites sans fard, sans le verni de la politesse et la retenue de l’éducation. J’ai ainsi reçu des courriers d’encouragements et de soutiens de personnes qui souhaitaient rester anonymes.

J’ai aussi reçu des messages d’insultes, de menaces, de critiques…

Mais j’ai également reçu par ce biais des messages qui m’ont interloqué. Je me souviens en particulier de cette personne qui m’expliquait ses penchants pour les jeunes enfants et qui était tombé sur mon blog parce que j’y parle (souvent) de mes dossiers de recherches d’images pédopornographiques. Cette personne me livrait ses tourments et m’expliquait comment elle surmontait le passage à l’acte en consommant des ouvrages interdits en France mais autorisés au Japon (des mangas spécialisés dans les dessins pornographiques mettant en scène des enfants). J’ai reçu en quelques jours plusieurs messages très crus de sa part sur le sujet, sans pouvoir y répondre puisque la personne n’a pas souhaité me laisser le moyen de la contacter, et pour cause.

J’ai reçu également quelques demandes pour des interventions dans des dossiers, des questions sur le piratage, sur les techniques de contournement ou sur les moyens mis en œuvre par la Justice pour lutter contre telle ou telle fraude. J’y ai répondu dans la mesure de mes capacités et lorsque l’utilisateur me laissait une adresse email pour cela.

J’ai reçu en tout une centaine de messages.

J’ai ainsi été spectateur d’une liberté totale d’expression, sans inhibition.

J’en ai appris beaucoup sur la nature humaine.

J’en ai appris aussi sur moi-même, sur mes propres rouages.

J’ai mené cette expérience pour aller jusqu’au bout de l’anonymat.

Je suis désolé que le service de PrivacyBox ferme.

En tout cas, j’ai eu moins peur en lisant ces emails anonymes, qu’en lisant les commentaires que l’on trouve sous les articles de certains journaux en ligne…

In memoriam

Tous les ans, j’encadre plusieurs stagiaires qui viennent découvrir leur futur métier dans mon service informatique. Au début de ma carrière, quand j’étais encore un jeune chercheur impétueux, j’ai travaillé avec Stéphane, étudiant en IUT, dont je raconte la triste histoire ici.

J’ai une pensée émue pour toi, Stéphane.

Tu auras toujours vingt ans dans mon cœur.

——————————-

Image Jan Kriwol

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

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