Taille: 13692
Commentaire:
|
Taille: 7588
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 7: | Ligne 7: |
{{http://perso.crans.org/besson/elfe-menu.JPG}} Adresse électronique : <<MailTo(naereen@crans.org)>>. <<TableOfContents>> * « Eh les enfants, vous voulez voir un noob ? Là, venez, regardez… Il met son adresse en clair sur le Web, vous voyez ? Oui, c'est ça un noob. » -- WikiElvith <<DateTime(2012-11-25T16:15:48Z)>> Officiellement, je suis Lilian Besson. Naereen, c'est pour les intimes :). Quelques une de mes pages perso sont disponibles sur l'espace du Cr@ns : http://perso.crans.org/besson/. |
##||<tablestyle="text-align: center;"> {{http://perso.crans.org/besson/besson.png}} Adresse électronique : <<MailTo(n a e r e e n AT crans DOT org)>>. || <<TableOfContents>> || {{http://perso.crans.org/besson/besson.png}} Adresse électronique : <<MailTo(n a e r e e n AT crans DOT org)>>. <<TableOfContents>> Bonjour, je suis Lilian Besson (ou Naereen ou Næreen). Mes pages personnelles sont disponibles sur l'espace du Cr@ns : http://perso.crans.org/besson/, avec un CV à jour, des liens vers divers projets de développement (scripts, fichiers de configuration pour Ubuntu etc), des infos sur mes travaux dans le cadre de l'ENS et après (stages de recherche etc)... Une ''expérimentation'' est actuellement déployée ici http://lbesson.bitbucket.org ! === Sphinx et rST === Mes nouvelles pages personnelles sont écrites en reStructuredText ('''rST'''), un langage à balise très simple et concis, et j'utilise Sphinx pour générer les pages ''HTML''. J'ai expérimenté quelques fonctionnalités ''originales'' de Sphinx, certaines sont précisées ici http://perso.crans.org/besson/index.fr.html#pages-de-demonstrations ! |
Ligne 13: | Ligne 22: |
== Me trouver sur le campus == Je suis souvent en cours, au Cournot (troisième étage C305 / 309), au premier étage dans mon (ex)bureau au LRC, ou en salle 411. Et depuis peu, à Chevaleret pour les cours d'info. === Cr@ns === Je suis aussi de plus en plus au local du Cr@ns du 2B. Parfois même seul puisque j'en ai une clé ! J'assiste à certains séminaires le mardi soir, et depuis peu à certains "internounous" du jeudi soir. J'étais installeur et respo' '''effet kikoo''' à l'[[InstallParty/Novembre2012|install party]] du 24 Novembre. Et je réponds souvent aux mails des adhérents en détresse sur *respbats*. Sinon, je mange au RU assez souvent; mais vous ne me verrez peu à la KFet hors de mes permanences Cr@ns (voir [[PermanencesCrans]]). === Téléphone ... maison ? === Et au cas où, je suis au bâtiment B, numéro 216 ! On peut aussi me joindre au numéro suivant : 100101011101001100111101100001_2. Pour ceux qui préfèrent une belle décomposition : 11*179*439*727 ! Pour ceux qui ne lisent ni les décomposition en nombres premiers, ni le binaire, callto:+336.28.41.22.57 fonctionne mieux. === Wifi ? === Depuis peu (le 20/11), j'accueille une borne wifi dans ma chambre . Elle répond au doux nom de ''delling'', et permet d'arroser en wifi les adhérents du second étage du B, partie nord/ouest. Elle fait aussi office de ''switch'', me permettant d'avoir deux machines fixes en mêmes temps dans ma chambre ('''"hehehe !"'''). Enfin, quand elle marche ... (ce n'est pas encore ça !) |
=== Téléphone === On peut aussi me joindre par téléphone au numéro (binaire) suivant : +33 100101011101001100111101100001_2. Pour ceux qui préfèrent une belle décomposition : +33 11*179*439*727 ! |
Ligne 39: | Ligne 27: |
== Séminaire Cr@ns == J'ai fait un séminaire sur les outils de documentation de code, le mardi 19 février 2013. Les slides sont disponibles en ligne : ici http://perso.crans.org/besson/publis/seminaire_crans/. ---- |
|
Ligne 41: | Ligne 35: |
Voir ici http://www.dptinfo.ens-cachan.fr/~lbesson/. Et, non, on ne nous force pas avoir une page perso au département d'informatique. | === Pages perso === Voir http://perso.crans.org/besson/ ou http://www.dptinfo.ens-cachan.fr/~lbesson/ ou aussi ici http://lbesson.bitbucket.org/ sur bitbucket.org. |
Ligne 43: | Ligne 39: |
J'héberge mes nouveaux projets de programmation et d'*ordinateurique* sur un site réalisé avec l'outil !GoogleSite http://sites.google.com/site/naereencorp/. | === Clé GPG === Ma clé publique GPG : [[http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x01AACDB9C108F8A0|4096R/C108F8A0]] ! Aussi disponible ici [[http://perso.crans.org/besson/key.asc|besson/key.asc]]. |
Ligne 45: | Ligne 43: |
Vous pouvez aussi me trouver sur Facebook : http://www.facebook.com/naereencorp.lbesson, ma page me sert aussi de blog où je poste de très régulier petits billets ! Et enfin, quand je ne me sers pas de mon pc, mon Mac héberge une copie de mes pages persos http://naereen-corp.crans.org:93[NUMERO_DU_JOUR_*_2]/ ou http://naereen-corp.crans.org/. Je n'ai pas encore mis en place de serveur Apache, seulement un petit bidouillage en Python. Mais ça marche ! |
=== Ma page BitBucket === Certains projets ''plus sérieux'' (ie. plus complets ou plus intéressants) sont hébergés sur mon compte ''!BitBucket'' ici : https://bitbucket.org/lbesson/. Notamment, ANSIColors et MPRI-Bomberman (décrits plus bas), ou plus récemment linux-dash. J'aime beaucoup !BitBucket, en partie pour la qualité de leur interface web (même si elle reste moins bien que celle de Github, JE SAIS). J'ai participé à sa traduction en français, en traduisant près de 80% du contenu (plus d'infos ici : http://perso.crans.org/besson/transifex.html). |
Ligne 50: | Ligne 50: |
Ligne 51: | Ligne 52: |
Je suis normalien, inscrit au département de maths. En 2011/2012, j'ai suivi le double cursus pour les deux licences de mathématiques et d'informatique. Et je récidive en 2012/2013 pour les deux M1 ! |
Je suis normalien, inscrit au département de ''maths'' depuis 2011. * En 2011/2012, j'ai suivi le double cursus, pour les deux licences de mathématiques et d'informatique. * J'ai récidivé en 2012/2013 pour les deux M1 (première moitié de maîtrise ès sciences). * En 2013/2014, j'ai été lauréat du concours de l'agrégation de mathématiques, option info, classé 23ème (pour 275 places, 780 admissibles, et environ 1200 inscrits en octobre). * En 2014/2015, je pars du campus pour une coupure d'un an. Je suis actuellement chargé de TDs et « responsable des ressources informatiques pour la communication avec les élèves », à la '''Mahindra École Centrale''', une nouvelle école d'ingénieur, lancée par l'École Centrale de Paris et le groupe Mahindra, en Inde, à Hyderabad (Andhra Pradesh, Telangana). |
Ligne 56: | Ligne 60: |
Ligne 57: | Ligne 62: |
Je m'occupe comme je peux : | |
Ligne 58: | Ligne 64: |
Quand je ne suis pas en cours, en permanence cr@ns, en train de manger / manger / dormir (si ça m'arrive), je m'occupe comme je peux : * un peu de jeux vidéos ([[Skyrim]] et [[Pokémon]]), * musique et humour (fan sempiternel du Donjon de Naheulbeuk), * programmation (allez faire un tour sur mon site GoogleSite) en OCaml, Python, Bash principalement, * ordinateurique (c'est à l'informatique ce que le tunning est à la conduite). === Sujets informatiques === Je suis particulièrement intéressé par les sujets informatiques suivants : * coloration syntaxique. A propos, jetez un oeil ici : http://perso.crans.org/besson/NanoSyntax, * simulation numérique (voir mon travail de stage de maths http://perso.crans.org/besson/publis/rapport_stage.pdf), * automatisation et aide à la programmation (méta-programmation) (voir mon projet MOcaml par exemple), * applications en consoles, logiciels simples en OCaml et Python (Naereen Browser, MOcamlViewFile, ou encore RenommeALL : de petits outils pour s'entraîner à pratiquer), * maîtrise d'outils en lignes de consoles et enrobage dans des scripts Bash (voir mes nombreux scripts gedit, mes scripts Nautilus, mon bashrc/bash_aliases etc...). === Services et réalisations === Si vous avez besoin d'aide pour quelque chose qui concerne de pas trop loin un des sujets précédents, n'hésitez pas à me demander. Exemple de réalisation cette année : * modification d'un bashrc pour intégrer le code de retour de la commande précédente si elle a échouée, * création d'un __daemon__ de notification pour mon mini pc sous Angstrom, afin d'informer correctement de l'état de la batterie (https://sites.google.com/site/naereencorp/liste-des-projets/angstrom), * création d'un script Bash pour automatiser la génération d'une documentation pour un projet Python (en utilisant PyDoc) (ici : https://sites.google.com/site/naereencorp/liste-des-projets/makepydoc) * création d'un petit clone de __rlwrap__ en Python, pour mon mini pc sous Angstrom pour lequel je n'arrive pas à cross-compiler (si tu as déjà entendu parler de ça, écris moi :/) ici : (https://sites.google.com/site/naereencorp/liste-des-projets/pyrlwrap/), * modification de fichiers définissant les syntaxes des langages que j'utilise (OCaml, Python, CUDA) pour la coloration syntaxique : sous GNU Nano, gedit ou Gobby 0.5 avec GTK-SourceView, Jota Text Editor (sur Android), * développement de plusieurs modules utilitaires en Python : *ANSIColors*, Matrix, PyRlwrap, PyZenity par exemple. ANSIColors permet d'utiliser les séquences d'échappements ANSI pour afficher du texte avec de la couleur dans un terminal ! Exemple : {{{#!highlight python from ANSIColors import printc, sprint printc("Voici du texte, écrit normalement.<red>ca c'est rouge !<default><Black>et ça sur un fond noir !<Default><green><Blue>maintenant, c'est vert clair sur un fond bleu<none><default><Default>") }}} * maîtrise de Sphinx et Doxygen, générateurs de documentation. Enrobage avec d'autres scripts de ma conception (update__date__.sh et makePyDoc.sh). == Applications Android == Parce que mettre ces informations sur une page wiki, c'est mieux que dans un mail random. Mais il faudrait créer une page wiki à part entière, et je ne sais pas faire. |
* programmation en !OCaml (pour l'agreg' entre autre), !Python, et Bash (pour le bureau), et !HTML, !CSS3, !JavaScript (pour le web), * un peu de jeux vidéos (!Skyrim, !Pokémon (5), !Fire !Emblem (3 gba et 1 nds), !Senkei !Densetsu 1, !Inotia IV, !Portal 1, !Trine 1, !Torchlight 1 et 2, !Evoland, !Suikoden !Tierkreis (nds), pour citer certains explorés durant les trois dernières années, et !Bastion ainsi !Legend of !Grimrock que en ce moment), * musique et humour (fan sempiternel du '''Donjon de !Naheulbeuk''' !), * développement web (!Sphinx & !JavaScript), * cuisine, confiserie et confiture, * tourisme (musées, visites, galeries d'art etc), * recherche et développement en apprentissage statistique par renforcement (Q-learning par exemple), * randonnée, voyages en stop, camping. |
Ligne 95: | Ligne 74: |
Voici quelques applications pour Android qui pourraient être utiles à un cableur. Pour les autres qui n'utilisent pas Android, voir ? (page à créer). | == ANSI Colors == ANSIColors permet d'utiliser les séquences d'échappements ANSI pour afficher du texte avec de la couleur dans un terminal ! |
Ligne 97: | Ligne 77: |
=== Le Wifi === Se connecter en wifi, c'est bien. Avoir des informations détaillées, c'est mieux. Les applis suivantes sont conçues pour ça, et sont performantes (pas de virus, légères et non bogguées, mises à jour fréquemment) : * Wifi Analyzer : permet de transformer le téléphone en analyseur wifi assez précis. Plein de fonctionnalités, permet de voir les canaux (et donc, les fréquences utilisées par les réseaux), les MACs et la qualité de la connexion avec toutes les bornes à portée. Sur le '''Google Play''', elle nécessite l'installation d'une librairie annexe. Voir : [[https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&hl=fr|Wifi Analyzer]], et [[https://play.google.com/store/apps/details?id=com.farproc.wifi.connecter&feature=more_from_developer|Wifi Connector library]]. * Network Info II : permet d'obtenir des informations précises sur le réseau utilisés par son téléphone. Pas seulement pour le wifi, mais aussi pour le bluetooth, le 3G/H/Edge, le réseau téléphonique (GSM). Donne notamment des infos détaillés sur la borne émettant le réseau auquel on est connecté (permet de voir si c'est une nouvelle ou une ancienne borne), de voir aussi la MAC, et aussi ... la localisation de la borne ou de l'émetteur 3G ! Très pratique ! Sur le '''Google Play''', voir [[https://play.google.com/store/apps/details?id=aws.apps.networkInfoIi&hl=fr|Network Info II]]. |
Exemple : {{{#!highlight python # Pour simplement écrire coloré : from ANSIColors import printc printc("Voici du texte, écrit normalement.<red>ca c'est rouge !<reset><Black>et ça sur un fond noir !<reset><green><Blue>maintenant, c'est vert clair sur un fond bleu<reset>") |
Ligne 103: | Ligne 83: |
=== Le SSH === Parce qu'une fois connecté en wifi (ou en 3G chez Free qui laisse tout les ports ouverts), il est possible d'atteindre zamok, il faut pouvoir utiliser ce lien pour s'y connecter en SSH (et cabler avec son téléphone :D !). * ConnectBot : un client SSH simple, mais performant. Se décline en trois versions, chacune ayant leurs adeptes. La version originale s'appelle juste ''ConnectBot'', la version la plus populaire est ''Irssi ConnectBot'', qui gère mieux les redirections et l'identification par clé; et une autre version est ''Vx ConnectBot'', qui semble mieux gérer le clavier bluetooth (au dire de Pika). Sur le '''Google Play''', voir [[https://play.google.com/store/apps/details?id=org.woltage.irssiconnectbot|Irssi ConnectBot]]. |
# On peut aussi changer le titre du terminal ! from ANSIColors import xtitle xtitle(".: Voici mon super titre :.") |
Ligne 107: | Ligne 87: |
=== Le clavier === Pour les gens n'ayant pas un clavier matériel, utiliser un client SSH sans avoir certaines touches sur le clavier tactile de base peut être pénible. Un bon clavier complet est : * [[https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard|Hacker Keyboard]]. |
# On peut aussi écrire dans un fichier, ou un pseudo-fichier ! from ANSIColors import writec import sys writec("<red> un soucis <question> <reset> voila c'est normal ici...", file=sys.stderr) }}} |
Ligne 112: | Ligne 93: |
=== Python === Pour les curieux ou les fanatiques, il est désormais possible d'installer Python, ainsi que d'autres langages de scripts (Perl, Javascript, Lua etc) sur Android ! Le projet s'appelle '''SL4A''' pour Scripting Layer For Android. Et la cerise sur le gateau, c'est que ces langages permettent d'accéder à une petite partie des fonctionnalités de son téléphone. Donc, oui, vous pourrez envoyer un texto en trois lignes de Python ou faire de la synthèse vocale avec : {{{#!highlight python droid = android.Android() droid.tts("I speak therefor I am !") }}} |
En particulier, ''ANSIColors'' a pris un peu d'ampleur, et est désormais hébergé ici : (https://bitbucket.org/lbesson/ansi-colors) et est encore en développement. |
Ligne 120: | Ligne 95: |
La projet est ici : [[http://code.google.com/p/android-scripting/|SL4A, sur Google CODE]], et la page dédiée à Python est là : [[http://code.google.com/p/python-for-android/|Python For Android, sur Google CODE]]. | Notamment, il fonctionne sur ''Mac OS X'', et sait détecter intelligemment si les couleurs sont supportés sur la sortie (''i.e.'' désactive les couleurs si utilisés via un pipe |, ou via un > pour écrire dans un fichier !). |
Ligne 122: | Ligne 97: |
=== Le Root === En attendant d'avoir l'autorisation d'en parler, je ne le fais pas ^^. |
Il est aussi disponible via !PyPi : il peut s'installer via 'sudo pip install ANSIColors-balises' sur '''GNU/Linux'''. Ou via l'interface web : https://pypi.python.org/pypi/ANSIColors-balises. |
Ligne 125: | Ligne 100: |
=== OCaml === Moins intéressant que pour Python, mais intéressant quand même, OCaml 3.12.0 a été porté sur Android par Romain Vernoux (info11, ENS de Cachan), et est disponible sous la forme d'une appli pour Android 2.1+ : [[https://play.google.com/store/apps/details?id=fr.vernoux.ocaml|OCaml Toplevel for Android]]. En attendant une mise à jour, ou une nouvelle appli (que je voudrais faire, mais manque de temps), celle ci ne donne pas accès au téléphone. |
Sa documentation est aussi accessible ici : http://pythonhosted.org/ANSIColors-balises. Cette doc est (elle aussi) faite avec ''Sphinx''. Cela permet par exemple de pointer directement vers la fonction writec : http://pythonhosted.org/ANSIColors-balises/ANSIColors.html?highlight=writec#ANSIColors.writec. |
Ligne 129: | Ligne 103: |
Comme le justifie son auteur : "Ca devrait suffir pour faire vos courses ou implémenter un algorithme de décomposition en nombre premiers en direct en cours de math pour sauver votre camarade au tableau qui galère.". | Un bug, une question : https://bitbucket.org/lbesson/ansi-colors/issues/new est là pour ça ? |
Ligne 131: | Ligne 105: |
---- == Citation du jour / de la semaine : == |
Enfin, ANSIColors peut aussi être utilisé avec GNU Bash, via le profil de couleurs http://besson.qc.to/bin/.color.sh, qu'il suffit d'inclure dans votre '''~/.bashrc''' pour ensuite utiliser la syntaxe suivante : {{{#!highlight bash echo -e "${red}Ceci est rouge.${blue}${Black}Et ça bleu à fond noir,${reset}${u}Souligné${U}Défaut.${white}Blanc :)" }}} |
Ligne 134: | Ligne 111: |
"Allez, mais faites péter de la poulette là !! Qu'on finisses pas la soirée comme des pédales !" -- Général byzantin. | == MPRI Bomberman == C'est un jeu de '''Bomberman''', multi-joueur en réseau, réalisé pour le cours 1-21 du MPRI (Master d'informatique). Écrit en Python, mon implémentation est légère, multi-plateforme, rapide et performante. Elle possède de plus une interface textuelle (encore en développement) et une interface graphique. |
Ligne 136: | Ligne 116: |
"Heu .. " -- Le Roi Arthur '''Kaamelott'''. ---- == Couleurs ANSI en Python == Je viens de découvrir la possibilité d'intégrer du code et de le colorer dans le wiki. Et comme c'est beau, je m'en sers ! {{{#!highlight python __author__='Lilian BESSON (lilian.besson@ens-cachan.fr)' # Automatically update with update__date__.sh, a Naereen Corp. (c) bash script. __version__=0.4 __date__='dimanche 18 novembre 2012, at 22h:50m:00s' # Automatically update with update__date__.sh, a Naereen Corp. (c) bash script. #1############### # Usual Modules # import os # If false, the module do exactly NOTHING ANSISupported=(os.getenv('TERM') in ['xterm', 'screen', 'linux', 'xterm256']) # Colors bold black="\033[01;30m" red="\033[01;31m" green="\033[01;32m" yellow="\033[01;33m" blue="\033[01;34m" magenta="\033[01;35m" cyan="\033[01;36m" white="\033[01;37m" # Many more on https://sites.google.com/site/naereencorp/tools/ansi-colors def tocolor(string): """tocolor(string) -> string Convert a string to a color. [string] have to be in [colorList] to be recognized. Default value if [string] is not one of the color name is "" the empty string.""" res="none" exec('res=%s' % string) if string in colorList: return res else: return "" def sprint(chainWithBalises, left='<', right='>', verbose=False): """ sprint(chainWithBalises, left='<', right='>', verbose=False) -> string Parse a string containing color balises, when color is one of the previous define name, and then return it, with color balises changed to concrete ANSI color codes. Balises are delimited by [left] and [right]. By default, it's Pango style whit '>' and '<', but you can change theme. Example: ======== >>> print sprint("<blue>this is blue.<white>And <this> is white.<red>Now this is red because I am <angry> !<green><white>") """ ls = chainWithBalises.split(left) if verbose: print "\tls", ls lls = list() for s2 in ls: if verbose: print "\ts2", s2 inte=s2.split(right) if verbose: print "\tinte", inte if inte[0] in colorList: inte[0]=tocolor(inte[0]) else: if len(inte)>1: inte[0]=left+inte[0]+right if verbose: print "\tinte", inte lls.append(inte) if verbose: print "\t", lls res="" for i in range(len(lls)): for j in range(len(lls[i])): res+=lls[i][j] return res def printc(chainWithBalises): """ printc(chainWithBalises) -> () A shortcut to print sprint(chainWithBalises) : analyse balises, and print the result.""" print sprint(chainWithBalises) }}} |
Le jeu est muni d'un protocole efficace, et ouvert (clairement spécifié dans un rapport disponible en ligne), ainsi que d'une sémantique propre. Pour plus de détails, voir : * http://perso.crans.org/besson/publis/Bomberman/ sur l'espace perso du Cr@ns. Donne des détails d'installation, en français; * https://bitbucket.org/lbesson/mpri-bomberman/ (en anglais). N'hésitez pas à l'installer, à le tester, et à me communiquer vos avis, questions, bugs ou demandes par courriel, ou même via https://bitbucket.org/lbesson/mpri-bomberman/issues/new ! |
(Wiki) Naereen
Adresse électronique : naereen@crans.org.
Sommaire
Bonjour, je suis Lilian Besson (ou Naereen ou Næreen). Mes pages personnelles sont disponibles sur l'espace du Cr@ns : http://perso.crans.org/besson/, avec un CV à jour, des liens vers divers projets de développement (scripts, fichiers de configuration pour Ubuntu etc), des infos sur mes travaux dans le cadre de l'ENS et après (stages de recherche etc)...
Une expérimentation est actuellement déployée ici http://lbesson.bitbucket.org !
Sphinx et rST
Mes nouvelles pages personnelles sont écrites en reStructuredText (rST), un langage à balise très simple et concis, et j'utilise Sphinx pour générer les pages HTML.
J'ai expérimenté quelques fonctionnalités originales de Sphinx, certaines sont précisées ici http://perso.crans.org/besson/index.fr.html#pages-de-demonstrations !
Téléphone
On peut aussi me joindre par téléphone au numéro (binaire) suivant : +33 100101011101001100111101100001_2. Pour ceux qui préfèrent une belle décomposition : +33 11*179*439*727 !
Séminaire Cr@ns
J'ai fait un séminaire sur les outils de documentation de code, le mardi 19 février 2013. Les slides sont disponibles en ligne : ici http://perso.crans.org/besson/publis/seminaire_crans/.
Me trouver ailleurs sur le net
Pages perso
Voir http://perso.crans.org/besson/ ou http://www.dptinfo.ens-cachan.fr/~lbesson/ ou aussi ici http://lbesson.bitbucket.org/ sur bitbucket.org.
Clé GPG
Ma clé publique GPG : 4096R/C108F8A0 ! Aussi disponible ici besson/key.asc.
Ma page BitBucket
Certains projets plus sérieux (ie. plus complets ou plus intéressants) sont hébergés sur mon compte BitBucket ici : https://bitbucket.org/lbesson/. Notamment, ANSIColors et MPRI-Bomberman (décrits plus bas), ou plus récemment linux-dash. J'aime beaucoup BitBucket, en partie pour la qualité de leur interface web (même si elle reste moins bien que celle de Github, JE SAIS). J'ai participé à sa traduction en français, en traduisant près de 80% du contenu (plus d'infos ici : http://perso.crans.org/besson/transifex.html).
Mes études
Je suis normalien, inscrit au département de maths depuis 2011.
- En 2011/2012, j'ai suivi le double cursus, pour les deux licences de mathématiques et d'informatique.
- J'ai récidivé en 2012/2013 pour les deux M1 (première moitié de maîtrise ès sciences).
- En 2013/2014, j'ai été lauréat du concours de l'agrégation de mathématiques, option info, classé 23ème (pour 275 places, 780 admissibles, et environ 1200 inscrits en octobre).
En 2014/2015, je pars du campus pour une coupure d'un an. Je suis actuellement chargé de TDs et « responsable des ressources informatiques pour la communication avec les élèves », à la Mahindra École Centrale, une nouvelle école d'ingénieur, lancée par l'École Centrale de Paris et le groupe Mahindra, en Inde, à Hyderabad (Andhra Pradesh, Telangana).
Mes occupations
Je m'occupe comme je peux :
programmation en !OCaml (pour l'agreg' entre autre), !Python, et Bash (pour le bureau), et !HTML, !CSS3, JavaScript (pour le web),
- un peu de jeux vidéos (!Skyrim, !Pokémon (5), !Fire !Emblem (3 gba et 1 nds), !Senkei !Densetsu 1, !Inotia IV, !Portal 1, !Trine 1, !Torchlight 1 et 2, !Evoland, !Suikoden !Tierkreis (nds), pour citer certains explorés durant les trois dernières années, et !Bastion ainsi !Legend of !Grimrock que en ce moment),
musique et humour (fan sempiternel du Donjon de !Naheulbeuk !),
développement web (!Sphinx & JavaScript),
- cuisine, confiserie et confiture,
- tourisme (musées, visites, galeries d'art etc),
- recherche et développement en apprentissage statistique par renforcement (Q-learning par exemple),
- randonnée, voyages en stop, camping.
ANSI Colors
- ANSIColors permet d'utiliser les séquences d'échappements ANSI pour afficher du texte avec de la couleur dans un terminal !
Exemple :
1 # Pour simplement écrire coloré : 2 from ANSIColors import printc 3 printc("Voici du texte, écrit normalement.<red>ca c'est rouge !<reset><Black>et ça sur un fond noir !<reset><green><Blue>maintenant, c'est vert clair sur un fond bleu<reset>") 4 5 # On peut aussi changer le titre du terminal ! 6 from ANSIColors import xtitle 7 xtitle(".: Voici mon super titre :.") 8 9 # On peut aussi écrire dans un fichier, ou un pseudo-fichier ! 10 from ANSIColors import writec 11 import sys 12 writec("<red> un soucis <question> <reset> voila c'est normal ici...", file=sys.stderr)
En particulier, ANSIColors a pris un peu d'ampleur, et est désormais hébergé ici : (https://bitbucket.org/lbesson/ansi-colors) et est encore en développement.
Notamment, il fonctionne sur Mac OS X, et sait détecter intelligemment si les couleurs sont supportés sur la sortie (i.e. désactive les couleurs si utilisés via un pipe |, ou via un > pour écrire dans un fichier !).
Il est aussi disponible via PyPi : il peut s'installer via 'sudo pip install ANSIColors-balises' sur GNU/Linux. Ou via l'interface web : https://pypi.python.org/pypi/ANSIColors-balises.
Sa documentation est aussi accessible ici : http://pythonhosted.org/ANSIColors-balises. Cette doc est (elle aussi) faite avec Sphinx. Cela permet par exemple de pointer directement vers la fonction writec : http://pythonhosted.org/ANSIColors-balises/ANSIColors.html?highlight=writec#ANSIColors.writec.
Un bug, une question : https://bitbucket.org/lbesson/ansi-colors/issues/new est là pour ça ?
Enfin, ANSIColors peut aussi être utilisé avec GNU Bash, via le profil de couleurs http://besson.qc.to/bin/.color.sh, qu'il suffit d'inclure dans votre ~/.bashrc pour ensuite utiliser la syntaxe suivante :
1 echo -e "${red}Ceci est rouge.${blue}${Black}Et ça bleu à fond noir,${reset}${u}Souligné${U}Défaut.${white}Blanc :)"
MPRI Bomberman
C'est un jeu de Bomberman, multi-joueur en réseau, réalisé pour le cours 1-21 du MPRI (Master d'informatique). Écrit en Python, mon implémentation est légère, multi-plateforme, rapide et performante. Elle possède de plus une interface textuelle (encore en développement) et une interface graphique.
Le jeu est muni d'un protocole efficace, et ouvert (clairement spécifié dans un rapport disponible en ligne), ainsi que d'une sémantique propre. Pour plus de détails, voir :
http://perso.crans.org/besson/publis/Bomberman/ sur l'espace perso du Cr@ns. Donne des détails d'installation, en français;
https://bitbucket.org/lbesson/mpri-bomberman/ (en anglais).
N'hésitez pas à l'installer, à le tester, et à me communiquer vos avis, questions, bugs ou demandes par courriel, ou même via https://bitbucket.org/lbesson/mpri-bomberman/issues/new !