Taille: 13489
Commentaire:
|
Taille: 11916
Commentaire: add gpg key
|
Texte supprimé. | Texte ajouté. |
Ligne 7: | Ligne 7: |
{{http://perso.crans.org/besson/elfe-menu.JPG}} Adresse électronique : <<MailTo(naereen@crans.org)>>. <<TableOfContents>> | ##||<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>> |
Ligne 9: | Ligne 12: |
Quelques une de mes pages perso sont disponibles sur l'espace du Cr@ns : http://perso.crans.org/besson/. | Mes pages perso sont disponibles sur l'espace du Cr@ns : http://perso.crans.org/besson/, avec un CV à jour, des liens vers mes projets, des infos sur mes travaux dans le cadre de l'ENS etc. === Sphinx et rST === Mes nouvelles pages perso sont écrites en reStructuredText, un langage à balise très puissant, et j'utilise Sphinx pour générer les pages ''HTML''. Je joue beaucoup avec Sphinx, alors si vous êtes curieux, allez faire un tour sur http://perso.crans.org/besson/#pages-de-demonstrations ! |
Ligne 13: | Ligne 21: |
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]]). |
Je suis souvent très souvent chez moi, ou en cours, ou en stage. |
Ligne 27: | Ligne 24: |
Et au cas où, je suis au bâtiment B, numéro 216 ! | |
Ligne 29: | Ligne 25: |
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 !) |
On peut aussi me joindre par téléphone au numéro (binaire) suivant : 100101011101001100111101100001_2. Pour ceux qui préfèrent une belle décomposition : 11*179*439*727 ! |
Ligne 38: | Ligne 29: |
== Séminaire(s) Cr@ns == J'ai fait un séminaire sur les outils de documentation de code, le mardi 19 février. Les slides et les ressources sont disponibles en ligne : ici http://perso.crans.org/besson/publis/seminaire_crans/. ---- |
|
Ligne 40: | Ligne 37: |
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 : 2 === |
Ligne 42: | 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/. | Voir ici aussi http://www.dptinfo.ens-cachan.fr/~lbesson/. C'est de plus un miroir pour http://perso.crans.org/besson, que je vais sûrement laisser tomber d'ici quelques temps. Et, ''non'', on ne nous force pas avoir une page perso au département d'informatique. === Clé GPG === [[http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x01AACDB9C108F8A0|4096R/C108F8A0]] === Mon site GoogleSite === 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/. Je précise que je fais ça sur mon temps libre, un peu par plaisir, un peu par l'envie d'apprendre. Ce site et les différents projets que je tente d'y publier est en construction quasi-constante. Je développe, explore et expérimente beaucoup, et ce site est l'occasion de faire partager et de publier quelques résultats de ces explorations. L'aspect global du site est plutôt fait pour m'amuser, mais son contenu a (je l'espère) un minimum d'intérêt, et reflète un certain travail. Inutile donc de me faire remarquer ''qu'il ne fait pas pro'', ou alors ''qu'il est inutile'' : c'est normal. Par contre, je suis ouvert pour discuter du contenu, et de tout ce dont je parle dans ce site. En particulier, je m'intéresse aux sujets suivants : 1. ''Zenity'', ''notify-send'', et leur utilisations via ''Python'' ou ''OCaml''; 2. ''Gedit'', l'éditeur de texte du bureau ''Gnome'' (rédaction de scripts pour le plugin ''External Tools'', rédaction de plug-ins, définition de langage pour la coloration syntaxique, profil de couleurs, astuces etc); 3. Couleurs ANSI: les utiliser, en Bash, en Python et en OCaml; 4. Gnu Nano, l'éditeur en ligne de commande du projet GNU. === Ma page BitBucket === Certains projets ''plus sérieux'' (ou plus complet ou plus intéressant) sont hébergés sur mon compte ''BitBucket'' ici : https://bitbucket.org/lbesson/. Notamment, ANSIColors et MPRI-Bomberman (décrits plus bas). J'aime beaucoup BitBucket, notamment pour la qualité de leur interface web. J'ai participé à sa traduction en français, en traduisant près de 90% du contenu, plus d'infos ici : http://perso.crans.org/besson/transifex.fr.html ! === Ma page Facebook === |
Ligne 45: | Ligne 72: |
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 ! |
* Pour ceux qui aiment Facebook, ajoutez moi en ami ! * Pour ceux qui n'aiment pas Facebook, oups désolé d'en parler ici ! |
Ligne 49: | Ligne 76: |
Ligne 50: | Ligne 78: |
Je suis normalien, inscrit au département de maths. | Je suis normalien, inscrit au département de ''maths''. |
Ligne 55: | Ligne 83: |
Ligne 57: | Ligne 86: |
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). |
Quand je ne suis pas en train de bosser, en cours ou chez moi, et que je dors pas, je m'occupe comme je peux : * un peu de jeux vidéos (Skyrim, Pokémon, Fire Emblem, Pokémon, ou encore Senkei Densetsu, pour citer ceux explorés dans l'année passée), * musique et humour (fan sempiternel du '''Donjon de Naheulbeuk''' !), * programmation en OCaml, Python, et Bash (principalement), * cuisine, randonnée, voyages en stop. |
Ligne 66: | Ligne 95: |
* 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...). |
* coloration syntaxique. A propos, jetez un oeil ici : http://perso.crans.org/besson/NanoSyntax ou https://sites.google.com/site/naereencorp/tools/gtksourceview ); * simulation numérique (voir mon travail de stage de maths, ou mes TPs d'optimisation numérique (M1,Semestre1) et d'EDP (M1,Semestre2)); * automatisation et aide à la programmation (méta-programmation) (voir mes projets MOcaml ou makePyDoc (https://sites.google.com/site/naereencorp/liste-des-projets/makepydoc) , ou mes scripts Gedit par exemple); * applications en consoles (par exemple ZenityToDialog, ou OCamlPlot ou encore ColorML; et GNU Nano); * maîtrise d'outils en lignes de consoles et enrobage dans des scripts Bash (voir mes scripts Nautilus, mon bashrc/bash_aliases, par exemple ici http://perso.crans.org/besson/publis/bin/ etc...). * Sphinx : outil de documentation pour Python. |
Ligne 74: | Ligne 104: |
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) |
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éalisations cette année : * création d'un __daemon__ de notification pour mon mini pc sous '''Angström''', 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), et pour faciliter la maîtrise de Sphinx et Doxygen (générateurs de documentation). Enrobage avec d'autres scripts de ma conception dans le projet makePyDoc (ici : https://sites.google.com/site/naereencorp/liste-des-projets/makepydoc ); |
Ligne 80: | Ligne 110: |
* 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 : |
* modification de fichiers définissant les syntaxes des langages que j'utilise (OCaml, Python, CUDA, Scala, reStructuredText, Octave) 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 : notify, mail, ou Matrix par exemple. * Amélioration des '''plugins''' permettant d'embarquer des terminaux dans ''Nautilus'' et ''Gedit'' (sous Ubuntu, respectivement explorateur de fichiers, et éditeur de textes). Voir là pour plus de détails : https://sites.google.com/site/naereencorp/gedit/. * traduction En->Fr de Bitbucket. == ANSI Colors == ANSIColors permet d'utiliser les séquences d'échappements ANSI pour afficher du texte avec de la couleur dans un terminal ! Exemple : |
Ligne 84: | Ligne 121: |
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>") |
# 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>") # On peut aussi changer le titre du terminal ! from ANSIColors import xtitle xtitle(".: Voici mon super titre :.") # 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 87: | Ligne 134: |
* 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). | 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. N'hésitez pas à l'installer, à le tester, et à me communiquer vos avis, questions, bugs ou demandes par email ou IRC, je serais ravi de pouvoir encore l'améliorer ! == 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 email ou IRC, je serais ravi de savoir que des gens s'y sont intéressés.... ---- == Gedit == Je suis un utilisateur intensif de gedit, l'éditeur de texte du projet GNOME. Et comme je suis curieux, je le bidouille. Voir notamment ces deux pages : https://sites.google.com/site/naereencorp/gedit et http://perso.crans.org/besson/publis/gedit. === Gedit tools === Grâce au ''plugin'' gedit-external-tools, il est possible d'étendre gedit '''dynamiquement''' par des scripts, en Python ou en Bash par exemple, la page http://perso.crans.org/besson/publis/gedit-tools ou le dépôt git https://bitbucket.org/lbesson/gedit-tools parlent de ça. === Gedit coloration === J'aime jouer avec GTK SourceView, la bibliothèque de coloration et d'édition de code du projet GNU. J'ai bien amélioré la coloration pour OCaml, Python, ou encore CUDA. Et j'ai aussi créé le fichier [[https://sites.google.com/site/naereencorp/tools/gtksourceview/rst.lang |rst.lang]] pour colorer le ''reStructuredText'', langage à balise utilisé par Sphinx. ---- |
Ligne 90: | Ligne 178: |
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. Voici quelques applications pour Android qui pourraient être utiles à un cableur. Pour les autres qui n'utilisent pas Android, voir ? (page à créer). === 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]]. === 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]]. === 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]]. === 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 !") }}} 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]]. === Le Root === En attendant d'avoir l'autorisation d'en parler, je ne le fais pas ^^. === 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. 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.". |
Voir la page que nous avons créé ([[VieCrans/ApplicationsAndroid]]) pour une liste (''presque exhaustive'') des '''meilleures applications utiles pour Android'''. |
Ligne 131: | Ligne 181: |
== Citation du jour / de la semaine : == | |
Ligne 133: | Ligne 182: |
"Allez, mais faites péter de la poulette là !! Qu'on finisses pas la soirée comme des pédales !" -- Général byzantin. | == À propos == |
Ligne 135: | Ligne 184: |
"Heu .. " -- Le Roi Arthur | J'étais rôliste, mais plus maintenant. |
Ligne 137: | Ligne 186: |
'''Kaamelott'''. | J'étais joueur de ''Magic The Gathering'', mais plus maintenant. |
Ligne 139: | Ligne 188: |
---- == 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) }}} |
J'étais comédien et apprenti-clown, mais plus maintenant. |
(Wiki) Naereen
Adresse électronique : naereen@crans.org.
Sommaire
- Officiellement, je suis Lilian Besson. Naereen, c'est pour les intimes :).
Mes pages perso sont disponibles sur l'espace du Cr@ns : http://perso.crans.org/besson/, avec un CV à jour, des liens vers mes projets, des infos sur mes travaux dans le cadre de l'ENS etc.
Sphinx et rST
Mes nouvelles pages perso sont écrites en reStructuredText, un langage à balise très puissant, et j'utilise Sphinx pour générer les pages HTML.
Je joue beaucoup avec Sphinx, alors si vous êtes curieux, allez faire un tour sur http://perso.crans.org/besson/#pages-de-demonstrations !
Me trouver sur le campus
- Je suis souvent très souvent chez moi, ou en cours, ou en stage.
Téléphone ... maison ?
- On peut aussi me joindre par téléphone au numéro (binaire) suivant : 100101011101001100111101100001_2. Pour ceux qui préfèrent une belle décomposition : 11*179*439*727 !
Séminaire(s) Cr@ns
- J'ai fait un séminaire sur les outils de documentation de code, le mardi 19 février.
Les slides et les ressources sont disponibles en ligne : ici http://perso.crans.org/besson/publis/seminaire_crans/.
Me trouver ailleurs sur le net
Pages perso : 2
Voir ici aussi http://www.dptinfo.ens-cachan.fr/~lbesson/.
C'est de plus un miroir pour http://perso.crans.org/besson, que je vais sûrement laisser tomber d'ici quelques temps. Et, non, on ne nous force pas avoir une page perso au département d'informatique.
Clé GPG
Mon site GoogleSite
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/.
- Je précise que je fais ça sur mon temps libre, un peu par plaisir, un peu par l'envie d'apprendre. Ce site et les différents projets que je tente d'y publier est en construction quasi-constante. Je développe, explore et expérimente beaucoup, et ce site est l'occasion de faire partager et de publier quelques résultats de ces explorations. L'aspect global du site est plutôt fait pour m'amuser, mais son contenu a (je l'espère) un minimum d'intérêt, et reflète un certain travail.
Inutile donc de me faire remarquer qu'il ne fait pas pro, ou alors qu'il est inutile : c'est normal. Par contre, je suis ouvert pour discuter du contenu, et de tout ce dont je parle dans ce site.
En particulier, je m'intéresse aux sujets suivants :
Zenity, notify-send, et leur utilisations via Python ou OCaml;
Gedit, l'éditeur de texte du bureau Gnome (rédaction de scripts pour le plugin External Tools, rédaction de plug-ins, définition de langage pour la coloration syntaxique, profil de couleurs, astuces etc);
- Couleurs ANSI: les utiliser, en Bash, en Python et en OCaml;
- Gnu Nano, l'éditeur en ligne de commande du projet GNU.
Ma page BitBucket
Certains projets plus sérieux (ou plus complet ou plus intéressant) sont hébergés sur mon compte BitBucket ici : https://bitbucket.org/lbesson/. Notamment, ANSIColors et MPRI-Bomberman (décrits plus bas). J'aime beaucoup BitBucket, notamment pour la qualité de leur interface web. J'ai participé à sa traduction en français, en traduisant près de 90% du contenu, plus d'infos ici : http://perso.crans.org/besson/transifex.fr.html !
Ma page Facebook
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 !
- Pour ceux qui aiment Facebook, ajoutez moi en ami !
- Pour ceux qui n'aiment pas Facebook, oups désolé d'en parler ici !
Mes études
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 !
Mes occupations
Quand je ne suis pas en train de bosser, en cours ou chez moi, et que je dors pas, je m'occupe comme je peux :
- un peu de jeux vidéos (Skyrim, Pokémon, Fire Emblem, Pokémon, ou encore Senkei Densetsu, pour citer ceux explorés dans l'année passée),
musique et humour (fan sempiternel du Donjon de Naheulbeuk !),
- programmation en OCaml, Python, et Bash (principalement),
- cuisine, randonnée, voyages en stop.
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 ou https://sites.google.com/site/naereencorp/tools/gtksourceview );
- simulation numérique (voir mon travail de stage de maths, ou mes TPs d'optimisation numérique (M1,Semestre1) et d'EDP (M1,Semestre2));
automatisation et aide à la programmation (méta-programmation) (voir mes projets MOcaml ou makePyDoc (https://sites.google.com/site/naereencorp/liste-des-projets/makepydoc) , ou mes scripts Gedit par exemple);
applications en consoles (par exemple ZenityToDialog, ou OCamlPlot ou encore ColorML; et GNU Nano);
maîtrise d'outils en lignes de consoles et enrobage dans des scripts Bash (voir mes scripts Nautilus, mon bashrc/bash_aliases, par exemple ici http://perso.crans.org/besson/publis/bin/ etc...).
- Sphinx : outil de documentation pour Python.
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éalisations cette année :
création d'un daemon de notification pour mon mini pc sous Angström, 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), et pour faciliter la maîtrise de Sphinx et Doxygen (générateurs de documentation). Enrobage avec d'autres scripts de ma conception dans le projet makePyDoc (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, Scala, reStructuredText, Octave) 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 : notify, mail, ou Matrix par exemple.
Amélioration des plugins permettant d'embarquer des terminaux dans Nautilus et Gedit (sous Ubuntu, respectivement explorateur de fichiers, et éditeur de textes). Voir là pour plus de détails : https://sites.google.com/site/naereencorp/gedit/.
traduction En->Fr de Bitbucket.
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. N'hésitez pas à l'installer, à le tester, et à me communiquer vos avis, questions, bugs ou demandes par email ou IRC, je serais ravi de pouvoir encore l'améliorer !
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).
Gedit
- Je suis un utilisateur intensif de gedit, l'éditeur de texte du projet GNOME. Et comme je suis curieux, je le bidouille.
Voir notamment ces deux pages : https://sites.google.com/site/naereencorp/gedit et http://perso.crans.org/besson/publis/gedit.
Gedit tools
Grâce au plugin gedit-external-tools, il est possible d'étendre gedit dynamiquement par des scripts, en Python ou en Bash par exemple, la page http://perso.crans.org/besson/publis/gedit-tools ou le dépôt git https://bitbucket.org/lbesson/gedit-tools parlent de ça.
Gedit coloration
J'aime jouer avec GTK SourceView, la bibliothèque de coloration et d'édition de code du projet GNU. J'ai bien amélioré la coloration pour OCaml, Python, ou encore CUDA. Et j'ai aussi créé le fichier rst.lang pour colorer le reStructuredText, langage à balise utilisé par Sphinx.
Applications Android
Voir la page que nous avons créé (VieCrans/ApplicationsAndroid) pour une liste (presque exhaustive) des meilleures applications utiles pour Android.
À propos
J'étais rôliste, mais plus maintenant.
J'étais joueur de Magic The Gathering, mais plus maintenant.
J'étais comédien et apprenti-clown, mais plus maintenant.