PythonCAD, logiciel de CAO 2D libre (1ère partie)
Ce billet est mon premier consacré à l'évaluation d'un logiciel libre. Il était plus que temps! Comme la description de l'installation s'est avérée plus longue que prévue, j'ai décidé de séparer l'article en deux parties. La seconde partie sera consacrée à l'utilisation du logiciel.
PythonCAD est une application de CAO en 2D assez simple, un peu rudimentaire même, qui est programmée, on l'aura deviné, en langage Python. C'est un projet libre sous licence GPL. Un des objectifs du projet est l'automatisation au moyen de scripts.
Le projet a été en développement continu de 2002 à 2007, avec pas moins de trente-six versions publiées; en mai 2009, le projet a été repris par une nouvelle équipe, qui a publié en décembre dernier une nouvelle version.
La dernière version disponible est la DS1-R37; bien qu'étant la trente-septième version proposée, elle fait toujours partie de la branche de développement. Elle peut être téléchargée depuis le site SourceForge ici au format d'archive .tar.gz.
(Veuillez noter: j'aurais facilement pu me simplifier la tâche d'installation: tant sous Debian que sous Ubuntu, un paquet pythoncad est disponible dans les dépôts par le gestionnaire de paquets Synaptic - et dans la logithèque Ubuntu. L'installation peut donc être très facile et rapide! Mais puisque ce paquet est construit à partir de la version 0.1.35, qui date de 2006, je lui ai préféré la version R37 du site officiel, plus récente, qui corrige des bogues et ajoute des fonctionnalités.)
Installation
Ceux qui préférerent la simplicité feront l'extraction de l'archive dans le dossier personnel (/home/nom-d'usager), ce qui ne nécessitera pas d'exécuter les commandes en mode root. J'ai préféré l'extraire dans le dossier /opt pour ne pas encombrer mon dossier personnel. Le dossier /opt nécessitant des droits d'administrateur, il vaut mieux donc passer par le terminal pour cette procédure. Si le fichier a été téléchargé dans le dossier personnel, la commande dans le terminal est la suivante:
$ sudo tar xvf PythonCAD-DS1-R37.tar.gz -C /opt
Ensuite, toujours dans le terminal, se déplacer dans le répertoire suivant:
$ cd /opt/PythonCAD-DS1-R37
Et exécuter le script d'installation python:
$ sudo python setup.py install
Maintenant, pour pouvoir démarrer l'application par le terminal sans spécifier le chemin complet, il faut copier l'exécutable gtk dans le dossier /usr/local/bin et changer les permissions d'accès:
$ sudo cp gtkpycad.py /usr/local/bin $ sudo chmod a+x /usr/local/bin/gtkpycad.py
Lancement de l'application par le terminal
$ gtkpycad.py
Création d'un lanceur en mode graphique
En général, je répugne à lancer des applications dans le terminal, surtout quand il s'agit d'applications en mode graphique! J'ai donc voulu créer un lanceur dans le menu d'applications d'Ubuntu par Système > Préférences > Menu principal, en créant un nouveau menu «CAO», puis en cliquant sur «Nouvel élément». Cependant, après plusieurs tentatives, je n'ai pas pu obtenir un lanceur qui puisse exécuter gtkpycad.py. J'y suis parvenu de façon détournée, en créant un nouveau fichier de script à l'aide de l'éditeur de texte Gedit, et contenant le texte suivant:
#!/bin/sh cd /opt/PythonCAD-DS1-R37 python gtkpycad.py
Je l'ai sauvegardé sous le nom pycadlaunch.sh, et je l'ai copié dans le dossier de PythonCAD, en donnant des droits d'accès en lecture à tous, avec l'option d'autoriser l'exécution du fichier comme un programme:
$ sudo cp pycadlaunch.sh /opt/PythonCAD-DS1-R37 $ sudo chmod a+x /opt/PythonCAD-DS1-R37/pycadlaunch.sh
Le lanceur (sur le bureau ou dans le menu principal) peut maintenant être créé, avec les propriétés suivantes:
- Type: Aplication
- Nom: PythonCAD-DS1-R37
- Commande: /opt/PythonCAD-DS1-R37/pycadlaunch.sh
- Commentaire: Application de CAO 2D

Le dossier PythonCAD-DS1-R37 est fourni avec une icône d'application personnalisée. Pour la sélectionner, il suffit de cliquer sur l'icône générique de lanceur pour ouvrir la fenêtre Parcourir les icônes, puis cliquer sur le bouton Parcourir... et naviguer jusqu'au dossier.

Dans le prochain billet, j'aborde l'utilisation de PythonCAD.
- Classification:

