(English) Setting up a django and mezzanine development environment on Mac OS X

I’m currently working with django and mezzanine. Django is a web framework using python language and mezzanine is a CMS based on Django.

I chose Django for the clarity of the python language. As a computer scientist there is nothing less appealing than using PHP which I find as deviant by initial design.

After looking for a CMS based on Django, I chose Mezzanine because it is really easy to get used to. It’s well designed and extremely well integrated into Django. Moreover, the installation just worked the way I expected it…

So let’s see how I did set up my development environment on a Mac.

To simplify things, I use homebrew to install additional software on my mac.

Installing python3, pip

Mac OS X yosemite comes bundled with python 2.7. I usually try to use the latest versions of languages, so I wanted to install python3. Using homebrew, pip will come installed automatically also.

brew install python3
pip install virtualenv

This is enough, even if your project do require more python package, I’d recommend using a virtual-env from the beginning.

Installing mezzanine in a virtual env

That’s quite easy. Go into your development directory and use the following commands.

virtualenv mezzanine-env
source mezzanine-env/bin/activate
pip install mezzanine
brew install libjpeg
mezzanine-project mezzanine-tutorial
cd mezzanine-tutorial/
python manage.py createdb --noinput
python manage.py runserver

This will setup a virtual env for your project and install mezzanine. libjpeg has been installed as it seems to be required by some packages.

Then, the commands create an startup mezzanine project and runs it. Now you should be able to connect to localhost:8000 and begin working with a simple web site.

Insérer des listings dans un fichier LaTeX en UTF-8

Depuis bien longtemps, j’utilise le package listings pour insérer du code source dans des fichiers LaTeX (notamment pour le poly d’algorithmique et Programmation des L2 à Valence). Hélas, ce package pose bien des problèmes en particulier si vous utilisez un encodage UTF-8.

En fait, les problèmes surviendront si, dans le source à inclure, vous avez des caractères accentués. Cela ne semble pas insurmontable pour un informaticien « old school », mais, de nos jour, avec la multilinguïsation d’internet, il est assez courant de travailler avec du code source contenant des caractères UTF-8. C’est mon cas… Tous mes projets sont en UTF-8 et le fait que j’utilise Java (+ maven) me simplifie bien la vie pour cela.

De plus, si comme moi vous utilisez les commentaires pour expliquer des choses à vos étudiants francophone, la probabilité d’avoir un caractère accentué est grande…

Avec le package listings

Jusqu’à maintenant, j’utilisais le package listings. Pour cela, mes fichiers LaTeX étaient sauvées en iso-latin1 et j’utilisais des contournements pour permettre un bon rendu des accents.

Avantages : Ca marche sur toutes les bonnes installations LaTeX, c’est inclus dans les texlive.

Inconvénients : Utiliser iso-latin-1 me déplait fondamentalement… Et si je veux commenter en français un code qui contient du japonais ?

Des alternatives : minted/verbments

En regardant comment basculer sur XeLaTeX mes différents documents, j’ai cherché une alternative au package listings et je suis tombé sur minted (et une extension: verbments).

Ces packages sont capable d’insérer du code avec coloration de syntaxe pour des documents en UTF-8. L’inconvénient est qu’ils peuvent le faire car l’analyse lexicale du code à insérer est déléguée à un programme externe écrit en python.

Aussi, cette solution nécessite que soit installé python et Pygments sur la machine. De plus, il faut passer l’option -shell-escape au moteur latex (XeLaTeX ou pdfLaTeX).

Configurer son environnement: Sublime Texte + LatexTools

Python est déjà installé sur mon Mac, donc aucun pb… Pour installer Pygments:

sudo easy_install Pygments

Ca suffit pour les pré-requis. Il faut maintenant lancer la commande de compilation latex avec le bon paramètre. Dans mon cas, ce n’est pas trivial car je lance la compilation via LatexTools sous Sublime Text 3. Pour pouvoir passer le bon paramètre, il m’a fallut corriger les code du plugin en créant un « builder » customisé.

Pour cela, aller dans le dossier des packages et créer un dossier « builders » dans « User ». Y coller le fichier python suivant (simple adaptation du traditional builder): fichier python.

Puis modifiez les préférences de LatexTools pour invoquer ce builder.

Enfin, sur la première ligne du fichier, il vous faut indiquer l’option, en plus du moteur:

%!TEX program = xelatex -shell-escape

Voilà…

LDL 2014 data challenge: DBnary premier ex-aequo

La ressource DBnary vient de remporter, ex-aequo avec EuroSentiment, le challenge Linked Data in Linguistics 2014. Merci à Andon Tchechmedjiev, Didier Schwab et Jérôme Goulian, avec qui nous avons raffiné les liens de traduction, afin de rattacher leur sources à un sens (et non plus seulement à une entrée, voire à une simple chaîne comme le font la plupart des autres ressources).