Bonjour ! Je suis Lilian Besson, étudiant normalien en mathématiques et en informatique à l'ÉNS de Cachan :gray:`(une grande école près de Paris, France, spécialisée dans la formation de professeurs du secondaire et du supérieur)`.
Cette année (2015-16) :
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, ou plus récemment Sublime Text 3 ou git), 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. :gray:`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).
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@ens-cachan.fr (oui, le @ n'est pas en ASCII ici) :
ou enfin par téléphone (:red:`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 !
Vous pouvez aussi retrouver certains travaux ou projets :
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é :blue:`19/20`;
- Probabilistic Graphical Models : « Hidden semi-Markov Models » (comparaison avec les Hidden Markov Models et Gaussian Mixture Models), noté :blue:`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é :blue:`18/20`;
Pour le second trimestre (printemps 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 presque terminé) !
"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.
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. |
---|
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.
Note: | Nous (Sophie Hecht, Maxime Isnard et moi) avions obtenu 17/20 pour nos travaux. |
---|
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.
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.
:yellow:`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. Sa documentation est hébergée sur PythonHosted.org, et 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 ! (Des statistiques partielles, pour le mois de mai 2013 sont ici et d'autres ici ou là sur activestate.com.)
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).
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).
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 petits articles, à propos de Git et Bitbucket, et de Sublime Text 3.
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).
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).
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 !)
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).
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).
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.html peut être utile (je ne m'en sers pas beaucoup en fait).
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).
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).
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.
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).
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) :
J'expérimente certaines fonctionnalités de Sphinx, ainsi que des extensions non-officielles, sur ces pages là :
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) :
Note
Ces liens ne servent "à rien" ! Ils ne sont que des redirections DNS.
Pour plus de détails, voir sitemap.fr.html.