Archive pour la catégorie ‘Inclassables’
Le logiciel CMT by Spip
Vendredi 25 septembre 2009Grâce à ma formation, à l’occasion d’un stage informatique intensif au LAL (Laboratoire de l’accelérateur linéaire, Orsay, France), j’ai découvert un logiciel dont j’ignorais totalement l’existance : CMT.
CMT est une technologie de gestion logicielle, sous la licence libre française CECILL, développée par des personnes du LAL justement. Cette définition m’avait laissé dans l’obscurité jusqu’à ce que l’on m’explique brièvement les fonctionnalités.
CMT permet de générer automatiquement un Makefile. Les makefiles sont toujours assez ardus à mettre en place, surtout quand on est déjà en train d’apprendre un langage et que l’on a pas la tête à ça. CMT rend donc user friendly la réalisation d’un makefile pour votre projet (C, C++ par ex.)
Mais CMT n’est pas qu’un remplaçant des autotools, c’est plus que ça; du moins de ce que je connais (mal) des autotools. Les principaux points forts semblent être la gestion du projet en « packages » ainsi que la compatibilité sur de très nombreuses plateformes jusqu’à de l’embarqué (LynxOS).
Comment ça marche en pratique ?
L’installation est un peu particulière. On récupère le tarball sur http://www.cmtsite.org/
tar xf CMTv1r20p20090520.tar.gz (je conseille de mettre de suite l’archive dans /opt, on va voir pourquoi)
cd CMT/v1r20p20090520/mgr/
./INSTALL
On nous dit ensuite de lancer source setup.sh make (ou make -j2 si vous avec un double coeur
)
Les scripts vont créer des alias et des variables d’environnements (les commandes env et alias en attesteront à défaut de la lecture des scripts). J’avoue ne pas m’être penché complètement sur le fonctionnement de la bête. Voila pourquoi je préfère mettre ça dans /opt dès le départ en attendant de comprendre mieux ce qui se passe, comme identifier toutes les configurations à effectuer. Un bon défis de packaging. J’avoue la doc légère sur ce point peu conventionnel (mais peut-être que j’ai mal creusé).
Et le projet dans tout ça ?
On lance la commande : cmt create Image v1 qui signifie : cmt, crée moi le projet Image en version 1 on a l’arborescence suivante :
Image/
`– v1
|– cmt
| |– Makefile
| |– cleanup.csh
| |– cleanup.sh
| |– requirements
| |– setup.csh
| `– setup.sh
`– src
_____________
package Image
include_dirs $(IMAGEROOT)/include
# Compilation
application readImage readImage.cpp image.cpp
# run the programm
action read $(bin)/readImage.exe
# Documentation
document doxygen doc -group=documentation TO=../doc
_____________
Le fichier est très simple, mais le programme aussi. Il comporte deux fichiers .cpp et les headers (fichier d’en-tête) sont dans le répertoire include.
On définit une action « read » qui permettra de lancer simplement le programme à l’aide de la commande cmt read. (A noter que CMT ajoute l’extension .exe à l’executable produit). On pourra donc utiliser avec profit un cmt make && cmt read
Enfin, une documentation Doxygen est générée dans un répertoire doc.
Voila pour le tour du propriétaire. Durant le stage, on n’a pas vraiment creusé CMT (ni les autres outils que l’on nous a introduit), il est donc difficile pour moi de dire à quel point ce logiciel est puissant, mais quoi qu’il en soit, il est méconnu et méritait d’être présenté. Peut-être que des connaisseurs des autotools pourront me donner un avis plus éclairé sur la question ? A t-il encore un avantage avec l’utilisation de qmake avec Qt ? Quoiqu’il en soit, je vais devoir commencer un petit projet en C ou C++ sous peu, ça sera une bonne occasion de me frotter un peu plus à CMT.
François (alias Spip).
http://www.cmtsite.org/ : le site du projet avec une partie documentation.
http://ens.lal.in2p3.fr/index.html/Html/CMT.html : la (trop ?) courte introduction du stage.
Premier article…
Jeudi 6 août 2009
… et déjà quelques bonnes surprises. La première d’entre elle étant la relative aisance avec laquelle un blog Wordpress peut être mis en ligne. Seulement trente petites minutes m’auront été nécessaires pour installer le CMS et mettre en place un nouveau thème (qui d’ailleurs ne devrait pas tarder à dégager pour laisser place à du « home made »). Bref, on est du niveau de Joomla (mon CMS préféré
) même s’il me semble que l’interface d’administration est un tout petit peu moins claire… Mais cette sensation n’est certainement que temporaire, le temps que je m’habitue aux nouvelles fonctionnalités de la bête. Bref Wordpress, c’est bon à la santé : mangez-en !
Bref, revenons à notre point de départ si vous le voulez bien. Cet article est donc mon entrée en matière dans le monde du « blogging » et je dois avouer que l’idée qu’il me soit possible d’écrire des articles totalement libres m’effraie un peu… Mais je pense qu’avec un peu de pratique, ainsi qu’une dose de sagesse, je devrais m’en sortir sans trop de difficultés…
Quoiqu’il en soit, il me semble que par correction je doive me présenter un peu. Plus simple à dire qu’à écrire… Allez ! Je me lance ! Je m’appelle Jean-Gabriel HAYS (alias Janot sur le WEB), j’ai vingt-quatre ans, je suis militaire dans l’armée de l’air. J’occupe actuellement le poste d’administrateur réseaux dans l’institution. L’informatique n’est pas seulement mon « job », mais c’est avant tout une vraie passion. Je suis tombé dedans à l’âge de six ans, puis elle ne m’a plus lâchée. Il y a quelques années j’ai découvert le Libre au travers de Linux, avec la distribution Mandriva. Elle non plus ne m’a pas lâchée, à tel point qu’en Février 2007, je lançais le site Mandriva Linux Online (MLO). Son but : accompagner les débutants sur Mandriva Linux. Je dois vous avouer que je suis assez fier du travail qui a été abattu par mes amis du Staff et moi-même. Aujourd’hui, j’ai décidé de me retirer de l’équipe administratrice de MLO pour des raisons diverses qui ne regardent que moi.
Je comble donc mon temps libre en fouillant le net à la recherche de nouvelles connaissances réseaux (et autant dire qu’il me reste encore tout à apprendre dans ce vaste domaine). Quand je m’ennuie et pour varier un peu, je fais des tests sur les produits Mandriva (gammes grand public et pro sans distinction). Ou alors j’ouvre mon bouquin de Python et je programme… Et simultanément à tout ça je suis connecté sur le chan IRC français de Mandriva (#mandrivafr sur Freenode). Voilà vous savez tout de moi, ou presque.
Après cette courte présentation, il me semble maintenant opportun de vous dire ce que vous êtes en droit d’attendre de ce blog. Et à cette question je répondrais par un grand : RIEN. À vrai dire je ne sais pas moi-même ce qui sera écrit dans ce blog et quels seront vraiment les domaines abordés… Sans trop me mouiller je peux déjà vous annoncer que vous devriez trouver des news sur Mandriva, de la doc technique sur la distribution et les réseaux informatique. Le reste étant soumis à mon humeur, à l’intérêt que je porterais aux évènements annexes, mais surtout au temps libre qui me sera octroyé pour écrire ici.
Voilà. Donc en gros il me reste encore à personnaliser « la place », modifier l’interface pour que l’on se sente chez soi… Enfin tout ça reste à travailler. J’espère que ce premier article ne devienne pas le dernier et qu’il n’est que le prélude d’une nouvelle mini-aventure !
