11885
Commentaire:
|
7190
Video games, and new version of ANSIColors-balises → ansicolortags
|
Texte supprimé. | Texte ajouté. |
Ligne 7: | Ligne 7: |
{{http://perso.crans.org/besson/elfe-menu.JPG}} Adresse électronique : <<MailTo(naereen@crans.org)>>. <<TableOfContents>> 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/. |
<<TableOfContents>> ##||<tablestyle="text-align: center;"> <<TableOfContents>> ||{{http://perso.crans.org/besson/besson_small.png}} || Adresse électronique : <<MailTo(n a e r e e n AT crans DOT org)>>. || {{http://perso.crans.org/besson/besson_small.png}} Adresse électronique : <<MailTo(n a e r e e n AT crans DOT org)>>. Bonjour, je suis Lilian Besson. 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, recherche etc), des infos sur mes travaux dans le cadre de l'ENS (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é presque toutes les fonctionnalités ''originales'' de Sphinx, certaines sont précisées ici http://perso.crans.org/besson/index.fr.html#pages-de-demonstrations ! |
Ligne 12: | Ligne 24: |
== 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. Je serais présent à 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 !"'''). |
=== 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 37: | Ligne 29: |
Ligne 39: | Ligne 32: |
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. | === 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 41: | Ligne 36: |
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/. | === 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/. J'aime beaucoup !BitBucket, en partie pour la qualité de leur interface web (qui reste moins bonne que celle de [[https://gitlab.crans.org/|GitLab]]). 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 43: | Ligne 41: |
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 ! |
=== Mon profil GitHub === Je suis aussi actif sur GitHub : [@Naereen](https://github.com/Naereen/) ! |
Ligne 48: | Ligne 45: |
Ligne 49: | Ligne 47: |
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 (mention bien). * J'ai récidivé en 2012/2013 pour les deux M1, maths et infos, mention bien (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 2800 inscrits en octobre), en plus de récupérer un M2 (Enseignement). * En 2014/2015, je suis parti du campus pour une coupure d'un an, employé en tant que professeur en mathématiques et en informatique, attachés aux cours MA 101, MA 102 et CS 101; ainsi que « responsable des ressources informatiques pour la communication avec les élèves », à la [[http://www.mahindraecolecentrale.edu.in/faculties.html|Mahindra École Centrale]], une nouvelle école d'ingénieur, lancée par l'École Centrale de Paris et le groupe Mahindra, en Inde, à Hyderabad (Telangana). * En 2015/2016, pour ma dernière année à l'ENS Cachan, je serai en M2 recherche (au [[http://www.math.ens-cachan.fr/version-francaise/formations/master-mva/|MVA]], basé à l'ENS Cachan), et chargé d'enseignements (colles et TDs) en mathématiques et informatique au [[http://www2.lyc-lakanal-sceaux.ac-versailles.fr/|Lycée Lakanal]] à Sceaux. * En 2016/2017, je vais commencer ma thèse, à Centrale-Supélec Rennes, et j'enseignerai à l'ENS de Rennes et l'ENSAI ! |
Ligne 54: | Ligne 57: |
Ligne 55: | Ligne 59: |
Je m'occupe comme je peux : | |
Ligne 56: | Ligne 61: |
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 (pour le plaisir ou pour l'enseigner), et Bash (pour le bureau), et HTML, CSS3, !JavaScript (pour le web) etc, * un peu de jeux vidéos (''Skyrim'', ''Pokémon'' (7), ''Fire Emblem'' (3 GBA, 1 NDS, 1 3DS), ''Senkei Densetsu 1'', ''Inotia IV'', ''Portal 1'', ''Trine 1 et 2'', ''Torchlight I et II'', ''Evoland'' (PC), ''Suikoden Tierkreis'' (NDS), ''Bastion'' (PC), ''Hammerwatch'', ''Forced'' (Linux), ''Zelda aLbW'' (3DS), ''Bravely Default'' (3DS), ''Legend of Grimrock'' (PC), ''Fire Emblem: Awakening'' (3DS), ''Grim Dawn'' (PC), ''Xenoblade Chronicles'' sur New 3DS, ''Pokémon Uranium'' (PC) pour citer certains explorés durant les cinq dernières années. Actuellement je suis sur Bravely Second (3DS) et Transistor (PC), * musique (rock et country, orchestrale, jazz, jeux vidéos etc) * fan sempiternel du [[http://www.penofchaos.com/warham/donjon.htm|Donjon de Naheulbeuk]] ! * développement web (Sphinx & !JavaScript notamment), * cuisine, notamment confiserie et confiture, * tourisme (musées, visites, galeries d'art, sites archéologiques etc), * randonnée, voyages en stop, camping, en France ou en Europe. |
Ligne 93: | Ligne 71: |
Voici quelques applications pour Android qui pourraient être utiles à un cableur. Pour les autres qui n'utilisent pas Android, voir ? (page à créer). | == ansicolortags == ansicolortags permet d'utiliser les séquences d'échappements ANSI pour afficher du texte avec de la couleur dans un terminal ! |
Ligne 95: | Ligne 74: |
=== 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 ansicolortags 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 101: | Ligne 80: |
=== 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 ansicolortags import xtitle xtitle(".: Voici mon super titre :.") |
Ligne 105: | Ligne 84: |
=== 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 ansicolortags import writec import sys writec("<red> un soucis <question> <reset> voila c'est normal ici...", file=sys.stderr) }}} |
Ligne 110: | Ligne 90: |
---- == Citation du jour / de la semaine : == |
En particulier, ''ansicolortags'' a pris un peu d'ampleur, et est désormais hébergé ici : (https://bitbucket.org/lbesson/ansicolortags.py) et est encore en développement. |
Ligne 113: | Ligne 92: |
"Deux degrés, je veux monter le thermostat de deux degrés Sheldon !" [Leonard] | 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 115: | Ligne 94: |
"Deux degrés peuvent faire la différence entre de l'eau liquide et de la vapeur !!" [Sheldon] | Il est aussi disponible via !PyPi : il peut s'installer via 'sudo pip install ansicolortags' sur '''GNU/Linux'''. Ou via l'interface web : https://pypi.python.org/pypi/ansicolortags. |
Ligne 117: | Ligne 97: |
" Oui ! ... Si tu vit dans une bouilloire !!" [Leonard] | Sa documentation est aussi accessible ici : http://ansicolortags.readthedocs.io/. Un bug, une question : https://bitbucket.org/lbesson/ansicolortags.py/issues/new est là pour ça. |
Ligne 119: | Ligne 100: |
-- TbbT s3 ---- == 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) }}} |
Enfin, ansicolortags 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 :)" }}} |
(Wiki) Naereen
Sommaire
Adresse électronique : naereen@crans.org.
Bonjour, je suis Lilian Besson. 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, recherche etc), des infos sur mes travaux dans le cadre de l'ENS (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é presque toutes les 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 !
Me trouver ailleurs sur le net
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/. J'aime beaucoup BitBucket, en partie pour la qualité de leur interface web (qui reste moins bonne que celle de GitLab). 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).
Mon profil GitHub
Je suis aussi actif sur GitHub : [@Naereen](https://github.com/Naereen/) !
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 (mention bien).
- J'ai récidivé en 2012/2013 pour les deux M1, maths et infos, mention bien (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 2800 inscrits en octobre), en plus de récupérer un M2 (Enseignement).
En 2014/2015, je suis parti du campus pour une coupure d'un an, employé en tant que professeur en mathématiques et en informatique, attachés aux cours MA 101, MA 102 et CS 101; ainsi que « 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 (Telangana).
En 2015/2016, pour ma dernière année à l'ENS Cachan, je serai en M2 recherche (au MVA, basé à l'ENS Cachan), et chargé d'enseignements (colles et TDs) en mathématiques et informatique au Lycée Lakanal à Sceaux.
- En 2016/2017, je vais commencer ma thèse, à Centrale-Supélec Rennes, et j'enseignerai à l'ENS de Rennes et l'ENSAI !
Mes occupations
Je m'occupe comme je peux :
programmation en OCaml (pour l'agreg' entre autre), Python (pour le plaisir ou pour l'enseigner), et Bash (pour le bureau), et HTML, CSS3, JavaScript (pour le web) etc,
un peu de jeux vidéos (Skyrim, Pokémon (7), Fire Emblem (3 GBA, 1 NDS, 1 3DS), Senkei Densetsu 1, Inotia IV, Portal 1, Trine 1 et 2, Torchlight I et II, Evoland (PC), Suikoden Tierkreis (NDS), Bastion (PC), Hammerwatch, Forced (Linux), Zelda aLbW (3DS), Bravely Default (3DS), Legend of Grimrock (PC), Fire Emblem: Awakening (3DS), Grim Dawn (PC), Xenoblade Chronicles sur New 3DS, Pokémon Uranium (PC) pour citer certains explorés durant les cinq dernières années. Actuellement je suis sur Bravely Second (3DS) et Transistor (PC),
- musique (rock et country, orchestrale, jazz, jeux vidéos etc)
fan sempiternel du Donjon de Naheulbeuk !
développement web (Sphinx & JavaScript notamment),
- cuisine, notamment confiserie et confiture,
- tourisme (musées, visites, galeries d'art, sites archéologiques etc),
- randonnée, voyages en stop, camping, en France ou en Europe.
ansicolortags
- ansicolortags 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 ansicolortags 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 ansicolortags import xtitle 7 xtitle(".: Voici mon super titre :.") 8 9 # On peut aussi écrire dans un fichier, ou un pseudo-fichier ! 10 from ansicolortags import writec 11 import sys 12 writec("<red> un soucis <question> <reset> voila c'est normal ici...", file=sys.stderr)
En particulier, ansicolortags a pris un peu d'ampleur, et est désormais hébergé ici : (https://bitbucket.org/lbesson/ansicolortags.py) 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 ansicolortags' sur GNU/Linux. Ou via l'interface web : https://pypi.python.org/pypi/ansicolortags.
Sa documentation est aussi accessible ici : http://ansicolortags.readthedocs.io/. Un bug, une question : https://bitbucket.org/lbesson/ansicolortags.py/issues/new est là pour ça.
Enfin, ansicolortags 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 :)"