Inclure des graphiques dans des programmes simples

Le bon vieux temps

Vous souvenez-vous, pour ceux qui l'ont connu, du bon vieux temps du PC/XT et de son compilateur basica (ou gwbasic pour les possesseurs de clones) ? Nous faisions des graphiques pour un oui ou pour un non, avec ces merveilleuses petites instructions graphiques incorporées dans le BASIC de Microsoft lui-même (sur un CGA ou un EGA ! Fallait-il qu'on soit motivés !).

Le mieux, ennemi du bien

Puis sont arrivés Linux et ses compilations C/C++ et là, indigestion : se farcir toutes les pelures d'oignon d'X-window avec ses contextes graphiques et sa nécessité d'aligner quinze appels sans se tromper (avec tous leurs paramètres exacts !) avant de voir le moindre résultat dégoûtait de visualiser quoi que ce soit. OpenGL, malgré ses beautés et sa puissance, ne valait guère mieux question simplicité. Et programmer en Java, c'était se condamner à l'élégance du C++ avec la vitesse - à l'époque - du Smalltalk, alors que l'inverse nous eût tout de même mieux convenu.

Les expédients

Nous avons alors appris des astuces de flemmards : préparer un fichier CSV et le transformer en graphique via tableur; ou encore décrire le graphe résultat d'un calcul en fichier .dot et laisser graphviz se débrouiller avec. C'était du bricolage, mais avions-nous le choix ?

Solution simple : la bibliothèque g2

Le plus simple est de montrer un programme utilisant g2 (aucun rapport avec le module de glossaire G2 d'OSInet). A compiler et exécuter par le premier script du gist:

Et où puis-je trouver la bibliothèque g2 ?

  • Par exemple ici : http://sourceforge.net/projects/g2/
  • Ou sous Synaptic (filtrez avec la chaîne de caractères libg2)
  • Ou même dans la logithèque Ubuntu (filtrez avec la chaîne de caractères libg2

Critiques

C'est un scandale !

Ce n'est pas de l'avant-garde. Ce n'est pas du 3D. Ce n'est pas hiérarchisé en structures graphiques. C'est vrai. Mais si vous vouliez tout cela, il y a OpenGL : c'est un autre choix et nous avons pris ici comme hypothèse que vous le considériez comme de l'overkill pour vos besoins de graphismes simples

Oui, mais...

Ce n'est pas une usine à gaz. Vous avez vos premiers graphiques (avec ce programme et ce script) dans les dix minutes où vous avez téléchargé et installé la bibliothèque g2. Si c'était une balançoire, ce serait le pneu au bout d'une corde, tant réclamée et si rarement accordée :-)