LE LOGICIEL LIBERE
EDITORIAL - PUB
Au précédent numéro, je vous ai décrit les 2 premiers services que nous mettons à votre disposition et qui concernent l'installation et la mise à jour de 70 packages (de nouveaux s'ajoutent tous les jours).Le troisième volet est un volet de support. Nous assurons le support téléphonique de tous les logiciels que nous installons. Ce support concerne aussi bien l'utilisation que les différentes bugs du produit. Dans le cadre de ce support, nous nous occupons aussi de rechercher des produits freeware sur demande de nos clients.
Le quatrième volet de notre offre est l'information . Le foisonnement de l'offre freeware est parfois un inconvénient. Il est difficile de savoir ce qui est intéressant et utile au milieu de tout ce qui existe. Nous tentons de vous informer avec cette lettre de l'actualité du freeware. De plus tous les 3 mois nous animons une conférence au 4 coins de la France concernant un thème lié au freeware (prochaine conférence - Freeware et programmation). Nous espérons par ces moyens inciter des utilisateurs à s'initier à de nouveaux outils et répondre à certains de leurs besoins.
Le cinquième volet de notre offre est Ptolemy . Ptolemy est une CAO de traitement du signal ou de l'image. Il permet de décrire graphiquement sous forme de schéma un algorithme de traitement du signal ou de l'image.
Ptolemy est un logiciel complexe développé à
l'université de Berkeley qui se compare à des logiciels commerciaux
coûtant plusieurs centaines de kF. Nous avons une expertise forte
sur Ptolemy et proposons un service d'installation, de formation et de
support spécifique. Nous avons aussi légèrement modifié
Ptolemy de manière à faciliter le débug de blocs programmés
par un utilisateur.

Figure 1 : un modulateur d'amplitude décrit graphiquement avec Ptolemy.
Une procédure automatisée permet d'installer les messages sur votre intranet. Nous vendons Intranews de 2 manières ou en vous fournissant les programmes nécessaires pour votre intranet et un cdrom chaque mois, ou en installant l'ensemble de la chaîne de création et de consultation chez vous. Ceci peut vous permettre d'intégrer vos propres newsgroups dans cet environnement convivial.
Enfin, nous proposons d'aider à la mise en oeuvre de serveurs sous Linux et offrons de la régie tout particulièrement pour le développement d'intranet, de site internet, d'interfaces graphiques et développement en Tcl/Tk.
Arnaud Laprévote (laprevoa@easynet.fr)
Gérant de Free&ALter Soft
gcc 2.8.0 - 2.8.1
gcc est un compilateur C et C++ freeware. Il fonctionne sur une multitude de processeurs et de systèmes d'exploitation. C'est certainement le produit freeware le plus installé et utilisé de par le monde. La version 2.7.2 est sortie en Novembre 1995. La version 2.8 était attendue avec impatience. Elle est apparue début janvier 98. Début mars 98, elle a été suivie par une version 2.8.1.La version 2.8.0 a été particulièrement améliorée en ce qui concerne le support du C++ (traitement des exceptions en particulier).
Nous n'avons malheureusement pas encore eu le temps de compiler le gcc 2.8. Il semble qu'il y ait peu de problèmes avec des processeurs Sparc quelque soit l'OS, mais de nombreux problèmes, et ce même avec des programmes très simples sur les processeurs Intel. Le programme suivant est extrait d'un message au newsgroup gcc.bug de M.Schimschak
----------------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main(void)
{
double c=0;
double d=0;
double e[2];
e[0] = 1.0;
e[1] = 1.0;
printf("%5g
%5g %15.10g %15.10g\n",e[0],e[1],c, d);
c = atan2(e[0],
e[1]);
d = e[0] *
e[0] + e[1] * e[1];
printf("%5g
%5g %15.10g %15.10g\n",e[0],e[1],c, d);
return 0;
}
--------------------------------------------------------
Ce programme devrait produire la sortie :
" 1 1 0 0
1 1 0.7853981634 2"
Au lieu de quoi il produit avec gcc 2.8.0 sous Linux RedHat 5.0 sur un Pentium ( -O0 marche, -O et -O2 produisent une sortie erronée) :
" 1 1 0 0
1 1 0.7853981634 1.785398163"
Ptolemy (150 Mo de code source) a été compilé avec 2.8.0 sous Solaris mais cela a nécessité d'importantes modifications. Le codefonctionne sans problèmes.
Vous pouvez donc utiliser gcc2.8.1 sous Solaris sur Sparc mais attendez
encore si vous êtes sur un PC Nous vous tiendrons au courant des
améliorations et des problèmes.
ddd pour vous aider à déboguer
ddd (Data Display Debugger - Débogueur Afficheur de Données) est une interface graphique pour débogueurs. D'autres interfaces de ce type existent telle xxgdb et tgdb. Cependant ddd s'impose grâce à une interface graphique sous Motif (Motif 1.x ou 2.0 , lesstif, pas Motif 2.1) agréable, puissante et complète facilitant la visualisation de données complexes. Le développement de ddd est actif avec au moins une release majeure par an. ddd est développé à l'université de Braunschweig en Allemagne par Dorothea Lütkehaus et Andreas Zeller.Nous utilisons ddd plus particulièrement avec gdb. ddd offre un mode de visualisation des données basé sur des graphes. Le débug de programmes utilisant des structures complexes (tableaux de structures, structures contenant des tableaux, structures, ...) en est facilité.
ddd permet de s'interfacer avec plusieurs débogueurs dont gdb et dbx. Les versions récentes permettent de déboguer des programmes en C, C++, objective C, Fortran et Pascal.
Les débogueurs supportés sont très puissants, mais leur utilisation en ligne de commande est parfois un peu délicate. ddd permet de masquer cette complexité et d'offrir presque toutes les fonctions à la pointe de la souris.
Nous sommes longtemps restés sur la version 2.0 de ddd. De nombreuses versions se sont succédées depuis lors, mais nous n'étions pas satisfaits de la stabilité. La toute dernière version ddd (2.2.3, surtout oubliez la 2.2.2 qui n'a duré que 2 jours) nous a très agréablement surpris tant du point de vue des fonctionnalités que de la stabilité. ddd n'est toujours pas exempt de bugs et de plantages mais cela est résiduel. Il existe maintenant une fonction de sauvegarde de session. Malheureusement, cette fonction ne sauvegarde pas le graphe des données que l'on est en train de traiter, mais seulement les points d'arrêts.
L'apprentissage des fonctions de base de ddd est immédiat. Quand on souhaite effectuer une opération (poser un point d'arrêt, voir le contenu d'une variable, d'un pointeur, lancer un programme, ...) les opérations se trouvent facilement. Ou il y a un bouton obligeamment prêt à servir, ou on trouve l'entrée du menu, ou le clique droit amène un menu contextuel où l'on trouve son bonheur. Dans le code source de ddd, vous trouverez 2 programmes ctest.c et cxxtest.c qui vous permettront de vous exercer et de tester certaines fonctions des menus qui sont un peu moins intuitives.
Une des fonctions très agréable de ddd est l'affichage des tableaux bidimensionnels alloués statiquement (int toto[10][12];) sous forme de table bidimensionnelle de valeurs.
Malheureusement, si le tableau est alloué dynamiquement, seul un affichage en ligne est disponible. On l'obtient normalement en demandant l'affichage sous la forme :
nom_du_pointeur[0..10]
Les 10 premiers éléments du tableau alloué dynamiquement sont alors affichés. Cette fonction malheureusement est boguée et parfois ne s'exécute pas. Vous pouvez la remplacer en utilisant la fonction dite de "tableau artificiel" de gdb. Si par exemple vous souhaitez afficher 10 éléments d'un tableau d'entier, tapez dans display la commande : /d nom_du_pointeur@10
Le /d au départ assure que vous affichez des entiers en mode décimal (/f pour des flottants), la notation @ 10 indique que vous souhaitez voir les 10 premières valeurs du tableau.
ddd n'est pas encore un programme parfait, et parfois, il ira à
l'encontre de votre intuition : des données ne s'afficheront plus
alors que vous souhaiteriez les voir s'afficher, des commandes ne produiront
pas l'effet souhaité, .... Cependant, ddd vous sera vite indispensable
alors soyez patient, rapportez nous vos bogues, nous les ferons remonter
vers les mainteneurs de ddd ou nous y jetterons directement un coup d'oeil.

Figure 2 : un exemple d'utilisation de ddd
Interview de Philippe BERGHEAUD - responsable Outils et Méthodes Logiciel THOMCAST - 2ème partie
3L:Comment voyez-vous l'avenir des freeware à Thomcast, et en général ?Nous utilisons un Ultrix pour accéder à nos données de production sur des Vax. Le tcp/ip de Dec est beaucoup trop cher pour remplir cette fonction. Dès que Decnet est supporté dans Linux, nous supprimerons la station. L'économie sera de 20 kF de maintenance par an. J'espère que ce module sera disponible dans Linux d'ici fin 98.
A plus long terme, je serais heureux de pouvoir supprimer HP-UX et de mettre Linux sur ces stations de manière à pouvoir avoir le source du système d'exploitation et de tout l'outillage associé. Mais je ne suis pas pressé.
Evidemment tant que les logiciels commerciaux ne sont pas portés sous Linux, il n'est pas possible de faire cela.
Combien de types d'Unix avez-vous utilisé ?
(note de l'éditeur : Une liste trop longue pour reproduire ici m'est donnée, pour résumer en gros tous les Unix sur une dizaine de plateformes y compris certaines très exotiques telle Alliant et Micromega.)
Si possible, j'utilise Linux car le code source est disponible et qu'il est de bonne qualité. Qui plus est, c'est l'OS avec le plus grand nombre de béta testeurs et je pense de développeurs dans le monde. Personne ne peut payer les 10000 béta testeurs qui essayent une version de Linux le lendemain de son arrivée sur le Sunsite et qui le sur-lendemain envoient des compte-rendus et des patches. Linux a aussi été écrit à partir de 0 et en se basant uniquement sur les spécifications POSIX. Linux ne traîne pas le poids de l'histoire des autres Unix. De plus contrairement à certains Unix commerciaux des choix ont été faits en ce qui concerne les fonctions qui existaient dans Berkeley et dans Système V. Souvent les Unix commerciaux n'ont pas choisi et proposent tout. Le résultat est parfois un vaste foutoir. Dans Linux on a généralement choisi la meilleure des solutions.
Quels sont les avantages de Linux ?
Linux est une garantie de pérennité, de durée. Qui plus est, l'évolution est assez lente, je change de version environ tous les 2 ans et je choisis le moment où j'upgrade. Avec les constructeurs je dois upgrader tous les 6 mois sinon je ne suis plus supporté.
Le retard de 6 mois des drivers par rapport au matériel est plutôt un avantage. Au bout de 6 mois, on sait réellement si un matériel ou un périphérique est bon et utile ou pas. La fièvre commerciale est retombée. En informatique, je ne suis pas pressé.
En ce qui concerne la bureautique, Windows fait le travail. Ce n'est pas un choix que j'ai fait, mais qui s'est fait. Par contre, pour le travail obscur (serveur, routeur), Linux est vraiment fantastique. J'ai juste modifié le démon lpd pour que les utilisateurs sous Windows n'est pas à attendre (parfois une heure) si une imprimante était éteinte. Les utilisateurs en ont été ravis.
En fait, l'essentiel n'est pas qu'un logiciel soit gratuit ou pas. L'essentiel est que le code source soit disponible. C'est la garantie que l'on peut survivre si le fournisseur disparaît, et que le code est de meilleur qualité. Plus il y a de gens qui lisent un code, meilleur il est.
Note additionnelle. J'ai travaillé pendant 10 jours sur un petit
projet à Thomcast. Malgrè la modestie du serveur (p133, 96
Mo ram, linux, samba) , j'ai été surpris par la rapidité
du réseau (en terme subjectif). Un autre signe ne trompe pas, le
réseau et ses pannes sont souvent un sujet de discussions amusées
chez les utilisateurs. Pas chez Thomcast, personne ne parle du réseau.
C'est un service qui marche de manière transparente pour l'utilisateur.
Logiciels et versions
| Nom | Description | Dernière ver. | Ver. stable | Type | Sous-type |
| ImageMagick | affichage d'images, conversion et manipulation sous X | 4.0.3 | 4.0.2 | applications | graphique |
| SpecTcl | Un générateur d'interface graphique pour Tcl/Tk et perlTk | 1.1 | 1.1 | tcl/tk | programmation |
| TclTutor | Une formation interactive a Tcl/Tk | 0.96 | 0.96 | tcl/tk | leçon interactive |
| Tix | Ajoute de nombreux et utiles widgets à tk | 4.1 | 4.1 | tcl/tk | extension |
| Tkperl | Une extension Tk pour perl | 402.202 | 402.202 | perl | extension |
| X11R6 | Bibliothèques X11R6 | v11r6.3 | v11r6.1 | x11 | bibliothèque |
| amaya | Butineur sur le web et traitement de texte pour html | 1.1 | 1.0 | x11 | web |
| apache | Démon serveur HTTP (WWW) | 1.3b5 | 1.2.4 | réseau | démon |
| autoconf | Configuration multi-plateforme automatique de programmes sources | 2.12 | 2.12 | utilitaire | configuration |
| automake | Générateur de makefile, Automake | 1.2 | 1.2 | developpement | outils |
| bash | Langage de commande d'Unix compatible avec le Bourne shell original | 2.01.1 | 1.14.7 | shells | |
| binutils | Utilitaires Gnu pour manipuler les binaires et les fichiers objets | 2.8.1 | 2.7 | utilitaire | programmation |
| bison | Générateur d'analyseur syntaxique de gnu pour créer des compilateurs | 1.25 | 1.25 | utilitaire | programmation |
| bvi | Un éditeur type vi pour fichiers binaires | 1.00 | 1.00 | utilitaire | éditeur |
| cflow | Imprime un arbre d'un seul ou d'un ensemble de programmes. | 2.00 | 2.00 | utilitaire | programmation |
| cgitcl | Bibliothèque pour la programmation cgi en tcl. Complète, puissante, un must. | 0.7.2 | 0.7.2 | tcl/tk | library |
| checkergcc | Le compilateur GNU C/C++/ObjectiveC avec vérificateur d'allocation mémoire | 2.7.2.3 | 2.7.2.3 | dével. | language |
| cpio | programme GNU d'archivage | 2.4.2 | 2.4.2 | utilitaire | archivage |
| cpost | Un joli formateur PS pour code source C/C++ | 1.4.a | 1.4.a | utilitaire | impression |
| ctags | Outil de cross-référence pour le C | 1.7 | 1.5 | dével. | utilitaire |
| cvs | CVS - Système de gestion de version concurrente | 1.9 | 1.9 | dével. | outil |
| ddd | Le Display Data Debugger: Une interface graphique pour débogueurs - GDB, DBX | 2.2.3 | 2.2.3 | utilitaire | programmation |
| diffutils | Utilitaires GNU diff | 2.7 | 2.7 | utilitaire | texte |
| fileutils | Utilitaires GNU de gestion de fichiers | 3.16 | 3.13 | utilitaire | fichier |
| findutils | Utilitaires GNU find (find, xargs, locate) | 4.1 | 4.1 | utilitaire | fichier |
| flex | générateur d'analyseur lexical rapide GNU | 2.5.4 | 2.5.4 | dével. | outil |
| fortune | programme afficheur de devises | 1 | 1 | utilitaire | jeu |
| g77 | Le compilateur GNU Fortran 77 | 0.5.21 | 0.5.21 | dével. | langage |
| gawk | Utilitaire de traitement du texte, GNU Awk | 3.0.3 | 3.0.3 | utilitaire | texte |
| gcc | Le compilateur GNU C/C++/ObjectiveC | 2.8.1 | 2.7.2.3 | dével. | langage |
| gdb | debogueur symbolique pour le C ou d'autres langages | 4.16 | 4.16 | dével. | debogueur |
| ghostscript | Interpréteur et afficheur PostScript et PDF | 5.10 | 3.33 | applications | graphique |
| gimp | Programme de Manipulation d'Image GNU | 0.99.19 | 0.99.16 | applications | 2D graphique |
| glimpse | Système d'indexation et de recherche Glimpse | 4.1 | 4.1 | utilitaire | texte |
| gnuplot | Grapheur 2D/3D Gnuplot | 3.6b340 | 3.6b340 | applications | math |
| grep | Utilitaires GNU grep | 2.1 | 2.0 | utilitaire | text |
| groff | Pack de formattage de texte GNU groff | 1.11 | 1.10 | utilitaire | texte |
| gzip | Compression de fichiers GNU gzip | 1.2.4 | 1.2.4 | utilitaire | archivage |
| html_library | Librairie tcl/tk pour l'affichage d'HTML. | 0.3 | 0.3 | tcl/tk | bibliothèque |
| htmlconv | Plusieurs convertisseurs html | 0.11 | 0.11 | utilitaire | texte |
| img | Img: plus de formats graphiques supportés par Tk | 1.1p2 | 1.1p2 | tcl/tk | extension |
| indent | Programme GNU d'indentation de source C | 1.9.1 | 1.9.1 | dével. | outil |
| lclint | Un vérificateur d'erreurs pour sources en C | 2.3i | 2.3i | dével. | outil |
| less | visualiseur de fichier texte -- less en fait plus que more | 3.3.2 | 3.3.2 | utilitaire | texte |
| libg++ | Bibliothèque GNU g++ | 2.8.1 | 2.7.2.8 | dével. | bibliothèque |
| libgr | Bibliothèques gérant différents formats de fichiers graphiques | 2.0.14 | 2.0.13 | dével. | bibliothèque |
| libxpm | Une bibliothèque pour manipuler le XPM | 3.4i | 3.4g | dével. | bibliothèque |
| lynx | Navigateur web en mode texte | 2.8 | 2.7.1 | applications | réseau |
| lyx | LyX, interface graphique pour LaTeX | 0.12 | 0.12pre2 | applications | publication |
| m4 | GNU Macro Processeur | 1.4 | 1.4 | utilitaire | texte |
| make | GNU Make | 3.76.1 | 3.76.1 | dével. | dével. |
| mc | Gestion de fichiers GNU Midnight Commander | 4.1.27 | 4.1.27 | utilitaire | shell |
| mgv | MGv: visualiseur Motif de fichiers PostScript | 2.3 | 2.3 | utilitaire | graphique |
| mpage | place plusieures pages sur une seule page postscript | 2.5 | 2.4 | utilitaire | impression |
| mtools | programmes d'accès sans montage à des disques DOS | 3.9 | 3.0 | utilitaire | fichier |
| netpbmplus | outils de conversion et de manipulation d'images | 1 | 1 | applications | graphique |
| octave | Langage interactif de haut niveau Octave. | 2.0.11 | 2.0.11 | applications | math |
| patch | Utilitaires GNU patch | 2.1 | 2.1 | utilitaire | texte |
| perl | Langage script PERL | 5.004.04 | 5.004 | utilitaire | texte |
| postgresql | Base de données relationnelle SQL 2 | 6.3 | 6.2.1 | applications | base de données |
| psutils | Utilitaires PostScript | 1pl16 | 1pl16 | utilitaire | impression |
| rcs | RCS - système de gestion de versions | 5.7 | 5.7 | dével. | outil |
| recode | programme de conversion GNU recode | 3.4 | 3.4 | utilitaire | texte |
| rxvt | émulateur VT102 couleur pour X | 2.21 | 2.20 | X11 | applications |
| scilab | pack de calcul numérique Scilab | 2.3.1 | 2.3.1 | applications | math |
| sipp | SIPP, simple processeur de polygones | 3.1 | 3.1 | applications | dessin 3d |
| tar | Archiveur GNU tar | 1.12 | 1.12 | utilitaire | archivage |
| tcltk | Un langage script TRES puissant et facile a apprendre | 8.1 | 8.0p2 | tcl/tk | base |
| tcsh | c-shell amélioré | 6.07.03 | 6.07.02 | utilitaire | shell |
| teTeX | Système de composition TeX et formateur de fontes MetaFont | 0.4pl8 | 0.4pl8 | applications | publication |
| texinfo | formateur texinfo et lecteur de fichiers info | 3.12 | 3.11 | applications | publication |
| textutils | Utilitaires GNU Text | 1.22 | 1.19 | utilitaire | texte |
| tkinfo | Une interface graphique pour lire les fichiers info | 2.4 | 1.5 | X11 | applications |
| transfig | Une série de programmes utilises par xfig pour imprimer ou exporter | 3.2 | 3.2 | x11 | dessin 2d |
| vim | éditeur VIsuel aMélioré | 5.0 | 4.5 | applications | éditeur |
| wdiff | GNU wdiff, un diff visuel | 0.5 | 0.5 | utilitaire | texte |
| xcoral | Editeur sous X11 facile à utiliser | 3.1 | 3.1 | applications | éditeur |
| xemacs | Le style de vie XEmacs | 20.5 | 20.2 | applications | éditeur |
| xfig | Un utilitaire complet de dessin 2D vectoriel | 3.2 | 3.2 | x11 | dessin 2d |
| xless | Un visualiseur de fichier texte pour X11 | 1.7 | 1.7 | utilitaire | fichier |
| xv | Visualiseur d'images pour X | 3.10a | 3.10a | applications | graphique |
| xxgdb | Interface X pour le débogueur gdb | 1.12 | 1.12 | dével. | debogueur |
| zlib | librairie de compression/décompression | 1.1.1 | 1.04 | dével. | bibliothèque |
| zlibc | Décompression à la volée de fichiers gzipés | 0.9h | 0.9e | dével. | outil |
