Pages (FR)¶
À propos (de moi)¶
Bonjour ! Je suis Lilian Besson, ancien étudiant normalien en mathématiques et en informatique à l'ENS de Cachan.
Depuis septembre 2016 et jusqu’en août 2019 :
- Je fais ma thèse de doctorat, à CentraleSupélec (équipe SCEE, labo IETR) à Rennes (France), avec Christophe Moy et Emilie Kaufmann (équipe SequeL, labo CRIStAL, à Lille). Ma thèse porte sur les modèles multi-joueurs de bandits multi-bras (notamment), appliqués à des problèmes de radio-télécommunication, en particulier aux I-o-T (Internet des Objets).
- Et j’enseigne en informatique théorique à l’ENS Rennes (pour la classe de préparation au concours national de l’agrégation, niveau M2) et ENSAI (complexité et calculabilité, niveau L3), grâce à cette mission.
- Depuis août 2019, je suis désormais un jeune professeur agrégé (avec un statut d’agrégé préparateur) à l’ENS Rennes, en charge de la préparation à l’agrégation de mathématiques, option informatique (au niveau M2), et en charge de cours pour l”introduction à l’algorithmique et algorithmique avancée.
Adresses de contact¶
N’hésitez pas à me contacter :
- par courriel à cette adresse Lilian.Besson@ENS-Rennes.fr, ou besson à crans.org :
- ou par téléphone :
- … et plus de moyens de me contacter sont présentés ici.
Les trois dernières années (2016-19)¶
- J’effectuais ma thèse de doctorat. Lisez cette page là pour plus de détails.
En 2015-16¶
- J’étais stagiaire en recherche dans l”équipe LIB à l”EPFL (Lausanne, Suisse), entre avril et août 2016, sous la direction de Julien Fageot et Michael Unser. Allez voir le dépôt git pour mon stage (mon mémoire de master est terminé) !
- J’ai obtenu le master MVA (à l”`ÉNS de Cachan`_), un master en maths appliquées, spécialisé en apprentissage statistique et en optimisation numérique. Cf. mes documents produits pour le MVA, et 6 projets : PCS, PGM, RL / GML, Kernel, Brain Imaging, Neuro-Sciences. J’ai majoré le master MVA en 2015-16, avec 13 cours et la note finale de 18.43 / 20 (« très bien avec félicitations du jury »).
- J’étais aussi colleur en maths et chargé de TD en informatique en classe prépa” MP, au Lycée Lakanal à Sceaux.
Études et cursus¶
- Entre mi-juillet 2014 et mi-mai 2015, j’ai vécu et travaillé en Inde deux semestres, sur le campus de la toute nouvelle Mahindra École Centrale. J’ai travaillé en tant que chargé de Travaux Dirigés en mathématiques (MA101 et MA102), et j’étais surtout en charge du cours d”introduction à l’informatique (CS101) pour le second semestre (janvier – mai 2015), en tant que « Teaching Assistant ».
- En 2013/2014, j’ai (préparé et) obtenu un Master de Formation des Enseignants du Supérieur (M2 FESup) à l’ÉNS Cachan (avec mention Très Bien), ainsi que l”agrégation de Mathématiques, (en option « D » informatique), classé 23ème (sur 295 admis, 785 admissibles, 1600 présents aux écrits et 3000 inscrits). Mes développements et mes références sont là.
- En 2012/2013, j’ai obtenu deux M1 (première année de master): pour le MPRI (master de recherche en informatique de Paris), et le master Hadamard de mathématiques fondamentales de l’ÉNS de Cachan (les deux avec une mention Bien).
- En 2011/2012, j’avais eu deux licences (L3), en maths et en informatique, (avec mention Bien; Bachelor of Science en anglais).
- En 2009/2010 et 2010/2011 j’étais élève du Lycée Thiers de Marseille, en MPSI 2 et MP*1.
- Avant ça, je vivais à Briançon (Hautes-Alpes, France), et j’ai eu mon baccalauréat S option maths et théâtre en 2009. (Briançon, c’est une jolie petite ville perdue dans les Hautes-Alpes !)
Un petit mot sur moi :
En plus des mathématiques et de l’informatique (pratiques et théoriques), j’aime aussi cuisiner, randonner et camper, voyager en France (ou en Europe, ou en Inde), principalement en auto-stop ! J’aime particulièrement utiliser les nouvelles technologies, mais aussi développer de petits jeux, logiciels ou des pages web, comme par exemple du JavaScript (StrapDown.js ou SquirtFR), des tutoriels (e.g. à propos de ga-beacon, GNU/Nano, Firefox, Sublime Text 3, git, ou plus récemment Visual Studio Code), ou encore des outils en lignes de commande pour Linux (des scripts, plus de détails ici ou sur le dépôt git associé).
Un petit mot sur ce site :
Je développe ce petit site (actuellement http://perso.crans.org/besson/) sur mon temps libre. Le contenu de chaque page de ce site est (C) Lilian BESSON, open source sous la License GPLv3. Qu’est-ce que l’Open Source, expliqué avec des Légo ? Les analyses réalisées avec Google Analytics montrent que certaines de ces pages (qu’elles soient en anglais ou bien en français) sont effectivement visités quotidiennement par des gens du monde entier : j’espère ne pas décevoir ces visiteurs ! (cette page peut être utilisée pour signaler un bug, une page mal rédigée ou encore pour simplement me poser une question).
Adresses de contact¶
Pour n’importe quelle raison, n’hésitez pas à me contacter :
la façon la plus simple est d’utiliser ce formulaire de façon non anonyme (actuellement via l”annuaire de l’ENS);
ou bien par courriel à cette adresse Lilian.Besson@CentraleSupelec.fr (oui, le @ n’est pas en ASCII ici) :
ou enfin par téléphone (seulement si c’est urgent ou important) :
mais vous pouvez aussi m’écrire à l’adresse postale suivante (→ plan OpenStreetMap), en France
Mr. Lilian Besson, Département de Mathématiques, École Normale Supérieure de Cachan, 41, avenue du Président Wilson, 94235 - Cachan Cedex, FRANCE
plus de moyens de me contacter sont sur cette page : callme.fr.html !
Certains projets, en ligne¶
Vous pouvez aussi retrouver certains travaux ou projets :
- via mes dépôts git sur mon compte Bitbucket : Bitbucket.org/lbesson (très actif), ou sur GitHub : GitHub.com/naereen (dépôts git).
- ou sur ma page personnelle Wikipédia, Utilisateur:Naereen (moyennement actif, voir par exemple ces stats, je suis aussi donateur régulier !).
- ou encore sur Transifex (plate-forme de traduction de logiciels et de sites web) : profile/Naereen (plus du tout actif depuis 2013).
2ème année de master : Master MVA¶
Tous les documents que j’ai rédigé durant le master MVA (2015-2016) se trouvent ici publis/mva-2016/.
J’ai aussi travaillé sur 6 petits projects de recherche, tous publiés sur mon compte bitbucket, libres et open-source (licence MIT).
Pour le premier trimestre (automne 2015) :
- Parcimonie and Compressed Sensing : « Random factorization for low-rank matrices » (algorithmes probabilistes pour factorisation de matrices, notamment les matrices de petit rang), noté 19/20;
- Probabilistic Graphical Models : « Hidden semi-Markov Models » (comparaison avec les Hidden Markov Models et Gaussian Mixture Models), noté 16/20;
- Reinforcement Learning / Graphs in Machine Learning : « Multi-Expert board-game Inference » (apprentissage automatique de stratégies pour jouer à des jeux de plateau, à partir d’une base de donnée de parties jouées par des experts non optimaux, agrégation et vote optimal d’un ensemble d’experts), noté 18/20;
Pour le second trimestre (printemps 2016) :
Stage de M2 en 2016¶
« Étude théorique des opérateurs de convolution étirables, et possibles applications aux processus stochastiques pour l’analyse d’images ».
Je serai stagiaire en recherche dans l”équipe LIB à l”EPFL (Lausanne, Suisse) (École polytechnique fédérale de Lausanne), entre avril et août 2016, sous la direction de Julien Fageot et Michael Unser. Allez voir le dépôt git pour mon stage (mon mémoire de master est terminé) !
Stage de M1 en 2013¶
« Modularité pour la planification et la vérification de programmes pour robots ».
J’ai effectué un stage de recherche pour le troisième trimestre 2012/2013 (entre le 03 Juin et le 09 Août 2013). J’ai travaillé à l”UCL (University College of London), sous la direction de Jules Villard (qui me cite ici sur sa page, voir là sur google) et Peter O’Hearn, à propos de logique de séparation, de planification en AI, et de l’étude de la modularité dans ces deux domaines.
- Mon rapport (en anglais) : rapportM1Info13.pdf,
- Les slides (en français) : slidesM1Info13.pdf.
Notes: | Jules m’a donné 19/20. Le jury du département d’informatique à l’ENS Cachan m’a donné 17.7/20, et le jury de mathématiques à l’ENS Cachan m’a donné 18.5/20. |
---|
Stage de L3 (Bachelor of Science)¶
J’ai fait mon stage de second semestre de L3 de maths, au laboratoire de mathématiques appliquées de l’ENS Cachan (le CMLA),
sous la direction de Florian de Vuyst.
Nous avons travaillé sur la modélisation numérique d’équations différentielles de mécaniques des fluides,
les méthodes de volumes finis, et leurs implémentations en C
et CUDA
pour résoudre notamment le problème d’Euler compressible en 1D, 2D et 3D.
- Le rapport de stage peut être téléchargé, ici rapportL3Maths12.pdf (en français),
- Les slides de la soutenance finale sont disponibles slidesL3Maths12.pdf,
- Une archive contenant certains codes sources (distribués sous licence GPL)
de nos simulations (en
C
, et enCUDA
) est téléchargeable, codeL3Maths12.zip.
Note: | Nous (Sophie Hecht, Maxime Isnard et moi) avions obtenu 17/20 pour nos travaux. |
---|
Autres pages¶
Je vous invite tout particulièrement à aller regarder ces pages publis.html, bin.html, js.html, ou encore ce README.html qui décrivent certains projets, et notamment des scripts sur lesquels je travaille sur mon temps libre.
Master MVA (2015-2016)¶
Voici mes documents produits pour le MVA, et 6 projets de recherche pour le 1er trimestre (automne/hiver 2015) : PCS, PGM, RL / GML, et le 2nd trimestre (printemps 2016) : Kernel, Brain Imaging, Neuro-Sciences.
ansicolortags (module Python)¶
Nouveau J’ai mis à jour ce module, il est désormais entièrement compatible avec Python 2 et 3, et s’appelle maintenant ansicolortags ! (Juin 2016) Son code est sur Bitbucket.org/lbesson/ansicolortags.py, sa documentation sur http://ansicolortags.readthedocs.io/.
En janvier et mars 2013, j’ai écrit un petit module et script pour manipuler les couleurs ANSI (i.e. en mode textuel, dans un terminal). Ce module est hébergé sur PyPi. Son code source est hébergé sur Bitbucket.org/lbesson/ansi-colors.
Entre mars 2013 et avril 2016, il a déjà été téléchargé environ 5000 fois (lien mort).
Nautilus Terminal v1.2¶
Fin juillet 2015, j’ai mis à jour l’extension nautilus-terminal et je lui ai dédié un petit dépôt git sur Bitbucket, qui permet d’avoir un terminal (une console) intégrée dans le navigateur de fichier Nautilus (pour Ubuntu, Debian etc).
Solutions pour deux projets de programmation¶
mec-cs101-matrices.rtfd.io et mec-cs101-integrals.rtfd.io sont les solutions complètes que j’ai rédigées pour les deux projets de programmation donnés à mes élèves en avril 2015 (pour le cours CS101 d’introduction à l’informatique).
Exemples de programmes Python (02/2015)¶
Ce nouveau dépôt git (python-demos) montre une cinquantaine d’exemples de programmes Python, touchant à de nombreux domaines (traitement d’image, génération de graphiques, calcul numérique ou symbolique, théorie des nombres etc). Ces exemples sont là pour le cours CS101 dont j’étais en charge à Mahindra Ecole Centrale, et pour illustrer les cours magistraux que j’ai donné en mars et avril 2015.
Deux tutoriels (11/2014)¶
Deux petits articles, à propos de Git et Bitbucket, et de Sublime Text 3.
StrapDown.js v0.5 (09/2014)¶
Un petit outil pour rapidement produire de jolies pages web, en rédigeant directement en Markdown, sans la moindre compilation côté serveur ! La page de présentation et de démonstration est là (StrapDown.js).
SquirtFR (03/2014)¶
Un signapplet (aussi appelé marque-page scripté) pour lire rapidement n’importe quelle page web, c’est ici (SquirtFr) (ou sur lbo.k.vu/squirt), avec plus d’informations sur le projet ici (README.html).
Projet Labyrinthe-Démineur (12/2013)¶
Un petit jeu de labyrinthe-démineur, une sorte de mélange entre démineur et Bomberman, programmé en OCaml 3.12+
.
Voir agreg/modelisation/projet/rapport.html pour plus de détails ! (J’ai eu 19/20 !)
Projet d’apprentissage : Kaggle Titanic (05/2013)¶
Pour le cours d’apprentissage automatique (Machine Learning) de l’ENS de Cachan du second semestre (L3), j’ai fait un petit projet. Suivant les consignes de la plate-forme Kaggle, ce projet a pour but de faire de la classification de données, afin d’exhiber le « passager type » ayant survécu au naufrage du Titanic. Tous les détails sont ici publis/kaggle/, ou sur Bitbucket, ici lbesson/kaggle. J’ai eu 15/20 pour ce projet, mais je n’ai pas pu participer au projet via Kaggle (en fin de compte).
Projet Réseau : MPRI Bomberman (11/2012 ~ 02/2013)¶
J’ai fait le projet réseau du MPRI (cours 1-21) au premier semestre 2012/13 (Novembre-Février).
Il s’agit d’un jeu de Bomberman
, en réseau, écrit en Python 2.7, avec un protocole
formalisé, ouvert et optimal (enfin, quasi). Et il marche super bien :)
Le projet est surtout hebergé sur Bitbucket
ici lbesson/mpri-bomberman.
Vous pouvez consulter la documentation de ce projet, réalisée automatiquement avec Sphinx,
ici publis/Bomberman/_build/html/.
J’ai eu 16.9/20 pour ce projet. Et en plus, le jeu est sympa !
Note
Une démonstration des fonctionnalités de Python ?
J’ai eu l’occasion de me reservir de ce vieux projet comme d’une démo intéressante et originale des fonctionnalités de Python (2.7) pour le cours CS101 à MEC et les cours magistraux dont j’étais en charge (Data Structures in Python).
Note
Une version pour Windows ?
En février 2015, j’ai essayé de reprendre le jeu et de l’adapter un peu pour qu’il fonctionne sur Microsoft Windows. Tout marche parfaitement, sauf une erreur réseau que je n’arrive pas à trouver (j’ai abandonné après deux semaines infructueuses). L’erreur semble due à une différence de comportement entre Windows et Linux de la bibliothèque socket pour Python 2 (cf cette remarque).
J’avais aussi écrit un script cx_Freeze pour produire un exécutable Windows (.exe) à partir de ce projet (et cette partie là marche super bien).
Infos sur ma clé PGP¶
Pour des explications sur ma clé PGP, savoir comment la récupérer, l”importer, et vérifier l’intégrité des fichiers proposés en téléchargement ici, cette page pgp.fr.html peut être utile (je ne m’en sers pas beaucoup en fait).
Coloration syntaxique pour GNU/Nano¶
Cette page là NanoSyntax présente le fonctionnement de la coloration syntaxique dans l’éditeur GNU/Nano, et donne plusieurs fichiers de configuration (reST.nanorc notamment !).
Note
Pour Jota Text Editor & Jota+
En 2012, j’ai écrit certains fichiers de configuration pour la coloration syntaxique des applications Android Jota Text Editor et Jota+ (téléchargés désormais plus de 8 millions de fois !) :
- rst.reST.rest.conf pour reStructuredText (fait entièrement par moi);
- mll.mly.mli.ml.conf pour OCaml (idem).
Flux RSS (expérimental)¶
Depuis avril 2013, mes pages proposent de s’abonner à un flux RSS : rss.xml ! Pour plus d’informations, ou pour lire directement les dernières entrées du flux, la page rss.html est là pour ça (très peu actif en fait).
Traductions¶
Entre mars 2013 et février 2014, j’ai participé à la traduction de différents logiciels et sites web. La page transifex.html présente de façon narrative le premier contact avec le site transifex. J’ai notamment participé à la traduction française du site bitbucket.org, et XFCE, ou aussi le petit projet linux-dash.
Wolfram|Alpha¶
La page wolfram.html présente deux clients pour accéder (en ligne de commande),
à l’outil Wolfram|Alpha, et embarque quelques exemples (avec sphinx.ext.runblock
).
Galeries web (photos et musique)¶
Depuis novembre 2013, je développe deux petits logiciels, pour mon usage personnel (mais tout est Open-Source, vous pouvez vous en servir bien-sûr) :
- un petit lecteur de musique en CSS3 et JavaScript, voir une démo ici generatejplayer.sh/ (les morceaux utilisées dans la démo viennent du légendaire projet du Donjon de Naheulbeuk, © Pen of Chaos). La partie serveur du lecteur de musique est un script Bash qui génère ces pages pour tout un dossier de musiques (au format MP3).
- une galerie photo en CSS3 et JavaScript, voir une démo ici generateglisse.sh/, (les images utilisées dans la démo viennent de http://imgur.com/a/NncyO). La partie serveur de la galerie photo est un script Bash qui génère ces pages pour tout un dossier de photos ou d’images.
Pages de démonstrations¶
Extensions non officielles¶
J’expérimente certaines fonctionnalités de Sphinx, ainsi que des extensions non-officielles, sur ces pages là :
- math.html, présente plusieurs façons d’écrire des maths en rST;
- graph.fr.html, présente une façon d’embarquer des graphes via le langage DOT Graph (et les visualiser avec GraphViz);
- gnuplot_embed.html, présente une façon d’embarquer des graphiques générés à partir de commande GNU Plot;
- runblock.fr.html, présente une façon d’embarquer la sortie de commandes shell dans les pages web (avec un exemple en OCaml entre autres);
JavaScript et outils embarqués¶
Toutes les pages utilisent du JavaScript pour de nombreuses petites fonctionnalités.
Certaines sont expliquées dans la page js.html (en cours de rédaction).
Plus de détails dans .templates/layout.html
ou via le dépôt git web-sphinx-scritps.
Certaines pages présentent aussi l’intégration de projets sympas, écrits en JavaScript (pas par moi) :
- ocaml.html, un toplevel
OCaml 3.12.1
complet, directement dans un navigateur web ! Voir l’article iteri.html si OCaml vous intéresse. - try-ocaml.fr.html, un toplevel
OCaml 4.00.1
complet, avec quelques lessons (interactives). Propose désormais une implémentation in-the-browser du moduleGraphics
! - gnuplot.html, une boucle REPL
pour
GNU Plot
, i.e. une évaluation instantannée dès que la zone de texte est changée. - ace.html, un éditeur de texte en ligne, écrit en JavaScript, pour l’instant ne supporte pas l’enregistrement;
- python.html, un toplevel
Python 2.7.2
complet, directement dans un navigateur web, avec un éditeur qui colore l’entrée du toplevel. - skulpt.html, un toplevel
Python 2.7.3
complet, directement dans un navigateur web avec un genre d’interface graphique (accès à la structure DOM de la page web, moduleTurtle
disponible) !
Autres liens externes¶
- http://besson.qc.to (e.g. http://besson.qc.to/publis/tutoriel_gedit_couleur_embedded_terminal.html).
- http://lbesson.qc.to (e.g. http://lbesson.qc.to/publis/astuce_gedit_modificateur.html) et aussi en (inutiles) sous-domaines : http://cv.lbesson.qc.to et http://git.lbesson.qc.to;
- http://lbesson.bitbucket.io une expérience d’un menu latéral permettant d’afficher n’importe quelle page (par exemple, http://lbesson.bitbucket.io/?u=http://perso.crans.org/besson/sublimetext.fr.html). Je ne suis pas l’auteur du code pour le menu latéral, c’est inspiré de http://lab.hakim.se/meny.
Note
Ces liens ne servent « à rien » ! Ils ne sont que des redirections DNS.
Toutes les pages en français¶
Pour plus de détails, voir sitemap.fr.html.
- Comment me contacter ?
- Curriculum Vitæ : Lilian Besson
- Activités de recherche
- Activités d’enseignement
- Deux flux RSS
- Données personnelles de l’utilisateur (pas si personnelles)
- Lilian Besson’s Web Pages - using Sphinx
- Mon utilisation de Visual Studio Code
- Mon utilisation de Sublime Text 3
- Utiliser Google Analytics dans un projet Sphinx
- Résumé de trois ans d’utilisation de Google Analytics
- Utiliser Google Analytics avec une petite image
- Mes applications Android™ favorites
- Mes extensions préférées pour Firefox
- Rapide initiation à git
- Recommandations pour commencer à apprendre Python
- Pourquoi et comment utiliser WakaTime pour monitorer ses habitudes de programmation
- Installer LaTeX sur Windows
- Utiliser Zotero pour gérer sa bibliographie
- Utiliser un service alternatif de DNS
- Utilisation concrète de JavaScript (pour des pages générées avec Sphinx)
- Coloration syntaxique pour GNU Nano
- Écrire des maths en rST
- Des graphes DOT avec GraphViz
- Essai de l’extension Sphinx Sphinx-Tabs
- Des graphiques avec GNU Plot
- Extension
runblock
- Traduction de Bitbucket.org
- Un toplevel
Python
embarqué - Un toplevel
Python
embarqué (version Skulpt) - Un toplevel
OCaml
embarqué - Un toplevel
OCaml
embarqué (version Try OCaml) - List.iteri et Array.iteri en OCaml
- Un toplevel
GNU Plot
embarqué - Utiliser GNU Octave dans son navigateur
- Quelques logiciels alternatifs gratuits à MATLAB
- Un éditeur de texte intégré
- Utiliser Wolfram|Alpha (en ligne de commande)
- À-propos d’autostop
- Contenu de mon sac à dos pour un (long) voyage en stop
- Top 10 de mes trucs préférés
- Ce que je regarde sur YouTube
- Une petite liste de blogs que je lis
- À faire : avant mes 30 ans (Lilian Besson)
- Résumé de mon année 2017 (Lilian Besson)
- Quelques analyses statistiques de 2 ans de SMS (2016 & 2017)
- Résumé de mon année 2018 (Lilian Besson)
- Résumé de mon année 2019 (Lilian Besson)
- FreeDNS : un service web pour le moins « intéressant »
- Une horloge en base 3
- Exemples d’utilisation concrète de certaines fonctionnalités de Bitbucket
- Estimation de la qualité de l’air à Paris
- Le moi quantifié : expériences numériques sur moi-même
- Comment monter un fichier Wubi .disk comme une image ISO sur Ubuntu ?
- Liste d’outils de sécurité informatique
- Comment utiliser son téléphone Motorola A953 (Droid 2) sans bouton d’allumage ?
- Trucs à corriger sur ces pages webs
- Expériences faites et à faire (dans des pages web faites avec Sphinx)
- Affichage d’un dossier
- Page d”administration