Guide pratique de l'informatique scientifique avec des logiciels libres
                             sous GNU/Linux

  Version franaise du Scientific Computing with Free software on
  GNU/Linux HOWTO

  Manoj Warrier

   <m_war CHEZ users POINT sourceforge POINT net>

  Shishir Deshpande

   <shishir CHEZ ipr POINT res POINT in>

  V. S. Ashoka

   <ashok CHEZ rri POINT res POINT in>

   Adaptation franaise: Philippe Wautelet

   Relecture de la traduction franaise: Denis Berhaut

   Version : 1.2.fr.1.0

   2005-04-28

   +----------------------------------------------------------------+
   | Historique des versions                                        |
   |----------------------------------------------------------------|
   | Version 1.2.fr.1.0             | 2005-04-28      | PW, DB      |
   |----------------------------------------------------------------|
   | Premire traduction franaise.                                 |
   |----------------------------------------------------------------|
   | Version 1.2                    | 2004-10-19      | MW          |
   |----------------------------------------------------------------|
   | 1 correction et de nouveaux liens (1 Correction and new        |
   | additional links).                                             |
   |----------------------------------------------------------------|
   | Version 1.1                    | 2004-06-21      | MW          |
   |----------------------------------------------------------------|
   | Mises  jour et valuation de distributions (Updates and       |
   | evaluated distros).                                            |
   |----------------------------------------------------------------|
   | Version 1.0                    | 2003-11-18      | JP          |
   |----------------------------------------------------------------|
   | Document revu par le LDP (Document Reviewed by LDP).           |
   |----------------------------------------------------------------|
   | Version 0.0                    | 2003-10-01      | MW          |
   |----------------------------------------------------------------|
   | Premier brouillon (first draft proposed).                      |
   +----------------------------------------------------------------+

   Rsum

   Le but de ce document est de montrer comment un PC tournant sous
   GNU/Linux peut tre utilis pour le calcul scientifique. Il dresse
   une liste des nombreux logiciels libres disponibles et donne des
   liens internet vers des didacticiels permettant de commencer 
   travailler avec ces outils.

   -------------------------------------------------------------------

   Table des matires

   1. Prambule

                1.1. Droits d'utilisation et licence

                1.2. Copyright and License

                1.3. Limitations de responsabilit

                1.4. Disclaimer

                1.5. Motivations

                1.6. Remerciements / Contributeurs

                1.7. Commentaires et corrections

                1.8. Traductions

   2. Introduction

   3. Outils de dveloppement de logiciels

                3.1. Langages de programmation

                3.2. Outils de dbogage

                3.3. Outils de contrle de version

                3.4. Environnements intgrs de dveloppement

   4. Outils mathmatiques

   5. Sous-routines et bibliothques numriques

                5.1. Entrepts de logiciels

                5.2. Autres bibliothques numriques spcialises

   6. Graphiques et visualisation

   7. Systmes de programmation pour GNU/Linux

                7.1. La station de travail GNU/Linux

                7.2. 7.2. Traitement symtrique parallle
                multi-processeurs : introduction aux
                super-calculateurs

   8. Traitements de texte et outils de prsentation sous Linux

                8.1. Traitements de texte

                8.2. Outils de prsentation

   9. Systmes libres de gestion de bases de donnes pour Linux

   10. Linux au laboratoire

1. Prambule

  1.1. Droits d'utilisation et licence

   [1][Important] Important                                           
                  Le texte ci-dessous est la version franaise des    
                  droits d'utilisation et de la licence de ce         
                  document. Seule la version originale de cette       
                  licence, prsente dans la section suivante, fait   
                  foi.                                                

   Ce document, appel Scientific Computing with free software on
   GNU/Linux HOWTO dans sa version originale en anglais, est protge
   par copyright  2002 par Manoj Warrier. Ce document peut tre
   copi, distribu et/ou modifi selon les termes de la GNU Free
   Documentation License, version 1.1 ou plus publie par la Free
   Software Foundation; sans section invariante, ni texte de premire
   de couverture, ni texte de quatrime de couverture. Une copie de
   cette licence en anglais est disponible ici
   [http://www.gnu.org/licenses/licenses.html#FDL].

   La version franaise de ce document a t ralise par Philippe
   Wautelet et relue par Denis Berhaut et est protge par copyright
    2004-2005 Philippe Wautelet. La version franaise de ce guide
   pratique est publie en accord avec les termes de la licence de
   documentation libre GNU (GFDL), qui est ci-incluse par rfrence.

  1.2. Copyright and License

   [2][Important] Important                                           
                  Le texte ci-dessous est la licence de ce document.  
                  Ce texte fait foi. Il est compos de la licence en  
                  anglais du document orignal, suivi de la licence en 
                  franais de sa traduction.                          

   This document, Scientific Computing with free software on
   GNU/Linux HOWTO, is copyrighted (c) 2002 by Manoj Warrier.
   Permission is granted to copy, distribute and/or modify this
   document under the terms of the GNU Free Documentation License,
   Version 1.1 or any later version published by the Free Software
   Foundation; with no Invariant Sections, with no Front-Cover Texts,
   and with no Back-Cover Texts. A copy of the license is available
   here [http://www.gnu.org/licenses/licenses.html#FDL]

   La version franaise de document a t ralise par Philippe
   Wautelet et relue par Denis Berhaut et est protge par copyright
    2004-2005 Philippe Wautelet. La version franaise de ce guide
   pratique est publie en accord avec les termes de la licence de
   documentation libre GNU (GFDL), qui est ci-incluse par rfrence.

  1.3. Limitations de responsabilit

   [3][Important] Important                                           
                  Le texte ci-dessous est la version franaise des    
                  limitations de responsabilit de ce document. Seule 
                  la version originale de cette licence, prsente    
                  dans la section suivante, fait foi.                 

   Aucune responsabilit pour le contenu de ces documents ne pourra
   tre accepte. Utilisez les concepts, exemples, liens et autres
   informations  vos propres risques. Il peut y avoir des erreurs et
   des imprcisions, qui peuvent endommager votre systme, vous faire
   perdre du temps,... Procdez avec prcaution, et bien que ce soit
   hautement improbable, l'auteur n'en acceptera aucune
   responsabilit.

   Tous les droits d'auteur sont dtenus par leurs propritaires
   respectifs, sauf mention contraire expresse. L'utilisation d'un
   terme dans ce document ne doit pas tre vue comme affectant la
   valeur d'une marque de fabrique ou d'une marque de service. Le
   fait de citer un produit particulier, un logiciel ou une marque ne
   doit pas tre peru comme une approbation.

   Je n'ai pas utilis toutes les applications logicielles vers
   lesquelles des liens sont fournis. Il y a simplement tellement
   d'applications faisant la mme chose qu'on ne peut pas s'attendre
    toutes les avoir utilises. Dans un livre sur le calcul
   scientifique sous GNU/Linux, on mentionnerait l'outil favori pour
   raliser une tche et on le dcrirait en dtails. Cependant, ceci
   est un guide pratique fournissant des liens vers des outils libres
   et varis pour faire du calcul scientifique et peut contenir des
   liens vers des logiciels qui promettent beaucoup mais fournissent
   peu et vice versa.

  1.4. Disclaimer

   [4][Important] Important                                           
                  Le texte ci-dessous contient les limitations de     
                  responsabilit de ce document. Ce texte fait foi.   

   No liability for the contents of this document is accepted. Use of
   the concepts, examples, links and information is entirely at your
   own risk. There may be errors and inaccuracies, that could damage
   your system, waste your time, etc... Proceed with caution, and
   although this is unlikely, the author takes no responsibility
   whatsoever.

   All copyrights are held by their respective owners, unless
   specifically noted otherwise. Use of a term in this document
   should not be regarded as affecting the validity of any trademark
   or service mark. Naming of particular products, software or brands
   should not be seen as endorsements

   I have not used many of the software applications to which links
   are provided. There are simply too many applications that do the
   same thing, that one cannot be expected to have used all of them.
   In a book on Scientific Computing using GNU/Linux, one would
   mention ones favorite tool to carry out a task and describe it in
   detail. However this is a howto providing links to various
   available free tools for scientific computing and may contain
   links to some software that promises much but delivers little and
   vice versa.

  1.5. Motivations

   Ce guide consiste principalement en une collection de liens qui
   taient fournis sur le site http://Scilinux.sourceforge.net et qui
   a d tre dmantel  cause d'un conflit de nom. La meilleure
   alternative semblait tre d'en faire un document Linux et de
   l'hberger sur le site LDP [http://www.tldp.org]. Une autre raison
   est qu'il y a souvent de nombreux logiciels libres faisant les
   mmes choses. Nous esprons fournir des liens vers les logiciels
   existant afin de rendre plus facile pour la communaut
   scientifique de faire un choix sans perdre trop de temps.

  1.6. Remerciements / Contributeurs

   Dans ce document, j'ai le plaisir de remercier :

     o Linus Torvalds, Richard M. Stallman et ses joyeux lurons pour
       Linux, GNU et aussi pour avoir largi indirectement
       diffrentes perspectives qui n'taient pas si videntes.

     o Mes collgues et amis de l'Institut pour la recherche du
       plasma en Inde pour de nombreuses discussions.

     o Marcel Bose, Ivan Lamouret, K. Scott Hunziker, Livine
       Christin, W. Herbert, Simon Pinches et de nombreux autres pour
       avoir suggrs de nombreux liens mentionns dans ce document.

     o Vasudha, ma femme, pour m'avoir laiss faire ce que je voulais
       et m'avoir encourag avec des phrases comme  esprons que tu
       finiras au moins ce projet .

   Shishir et Ashoka sont les co-auteurs de ce document parce qu'une
   telle collection de liens tait l'ide de Shishir et qu'Ashoka
   contribue toujours en fournissant des liens, des suggestions et un
   second point de vue. Ils m'aident galement  maintenir ce guide
   pratique.

  1.7. Commentaires et corrections

   Merci de faire parvenir en anglais  l'auteur vos questions,
   commentaires et additions relatifs  la version originale de ce
   document  l'adresse <m_war CHEZ users POINT sourceforge POINT
   net>.

   N'hsitez pas  faire parvenir tout commentaire relatif  la
   version franaise de ce document  <commentaires CHEZ traduc POINT
   org> en prcisant son titre, sa date et sa version.

  1.8. Traductions

   Ce guide pratique est la traduction franaise du document original
   Scientific Computing with Free software on GNU/Linux HOWTO.

   Il n'y a,  ma connaissance, pas encore d'autres traductions.

2. Introduction

   GNU/Linux est probablement la plateforme de choix pour le calcul
   scientifique. En effet, il existe de nombreux langages de haut
   niveau, outils de dbogage et de dveloppement de programmes, de
   sous-routines numriques pour rsoudre diffrents types
   d'quations, d'outils de traage et de visualisation, de logiciels
   de traitement de texte qui peuvent afficher des quations et des
   figures, ainsi que des logiciels de programmation parallle
   permettant de construire des super-ordinateurs avec de simples PC
   et un peu de matriel existant. L'objet de ce document est de
   fournir une liste de logiciels libres pour raliser les tches
   cites prcdemment ainsi que des liens vers des didacticiels et
   autres documents expliquant la mise en place et l'utilisation de
   ces logiciels.

   Le but de ce document n'est pas de mettre  disposition un
   ensemble de liens vers des logiciels libres pour des domaines bien
   spcifiques, mais de montrer comment GNU/Linux peut tre utilis
   au mieux pour effectuer du calcul scientifique. On peut esprer
   que des personnes ou institutions, avec un intrt dans un domaine
   bien prcis, rassembleront une liste des logiciels libres
   disponibles pour ce sujet. Comme par exemple l'astronomie avec
   Linux, la biotechnologie avec Linux et la chimie avec Linux sur le
   site The Random Factory [http://www.randomfactory.com]. Un autre
   site avec de nombreux liens vers des logiciels scientifiques
   (commerciaux et libres) est Applications scientifiques pour Linux
   [http://sal.jyu.fi/index.shtml]. Le rpertoire des logiciels GNU
   [http://www.gnu.org/directory/science/] a aussi des liens vers de
   nombreux liens fournis dans ce guide, ainsi que de nombreux autres
   vers des logiciels plus spcifiques. Vous pouvez aussi aller dans
   la section science et ingnierie [http://freshmeat.net/browse/97/]
   sur Freshmeat.net.

   Les liens fournis vers les diffrents logiciels sont classs dans
   les catgories suivantes :

     o [5]Outils de dveloppement de logiciels

     o [6]Outils mathmatiques

     o [7]Sous-routines et bibliothques numriques

     o [8]Graphiques et visualisation

     o [9]Systmes de programmation pour GNU/Linux

     o [10]Outils d'dition

     o [11]Bases de donnes

     o [12]Linux au laboratoire

   Le simple fait d'installer GNU/Linux sur votre PC le transforme en
   une puissante station de travail. Cependant, les distributions
   populaires n'ont pas toujours tous les outils ncessaires pour en
   faire la machine de calcul scientifique idale. Ce guide tente de
   satisfaire ce besoin en crant une liste de logiciels libres
   utiles pour le calcul scientifique. On suppose que les lecteurs
   disposent dj d'un PC avec Linux et les utilitaires GNU
   installs.

   Ceux qui ne disposent pas d'une telle configuration mais qui
   veulent installer GNU/Linux peuvent consulter ce [13]lien pour
   trouver des liens vers des documents traitant de l'installation et
   des premiers pas sous GNU/Linux.

   Rcemment, Dirk Eddelbuettel a lanc un projet pour crer un
   environnement de calcul scientifique appel Quantian
   [http://dirk.eddelbuettel.com/quantian.html] ; c'est probablement
   la premire distribution GNU/Linux pour scientifiques. J'ai
   vrifi la dernire version et elle contient pratiquement tous les
   outils mentionns dans ce document et de nombreux autres. On peut
   dire que si vous utilisez une distribution linux dans laquelle les
   paquetages sont des fichiers rpm ou si vous avez un systme driv
   de la debian, vous trouverez probablement des excutables
   prcompils de ces outils et vous ne perdrez pas beaucoup de temps
    les installer.

3. Outils de dveloppement de logiciels

   Le dveloppement de codes ncessite principalement des langages de
   programmation, des outils de dbogage, des outils de contrle de
   version, des outils de compilation et des environnements de
   dveloppement intgr o tout ce qui prcde est regroup dans une
   seule application.

  3.1. Langages de programmation

   Les liens fournis ici pointent vers diffrents compilateurs
   utiliss dans le calcul scientifique tels que le FORTRAN, le C, le
   C++, Java et plus rcemment Python.

     o Les compilateurs GNU [http://gcc.gnu.org/] (GNU Compiler
       Collection), aussi appels GCC : partie du projet GNU pour
       produire un compilateur hautement optimis Il fonctionne sur
       de multiples architectures et environnements. Actuellement,
       GCC comporte des interfaces utilisateur pour les langages C,
       C++, Objective C, GNU Fortran-95, Java et Ada, ainsi que les
       bibliothques correspondantes (libstdc++, libgcj, ...).

       Les manuels des compilateurs GCC sont disponibles sur le site
       de GNU [http://www.gnu.org/software/gcc/onlinedocs/].

     o [14]g77 : le compilateur FORTRAN 77 de GCC. C'est un trs bon
       compilateur FORTRAN77. Cependant, il n'a pas l'option -r8 qui
       compile un programme en double prcision. Ce peut tre une
       bonne politique de conception mais qui pose souvent des
       problmes lors du portage d'applications de stations de
       travail SUN / DEC / HP vers des systmes Linux. Le manuel de
       g77 est disponible sur le site de documentation de GCC
       [http://gcc.gnu.org/onlinedocs/g77/].

     o gfortran [http://gcc.gnu.org/fortran/] : J'ai t heureux de
       recevoir ce lien par email. Cela faisait 3 ans que j'utilisais
       le compilateur C de GNU pour faire du dveloppement
       scientifique car il n'y avait pas de "vrai" compilateur
       FORTRAN-95 libre jusque l. Je remercie Paul Thomas pour cette
       information.

     o g95 [http://g95.sourceforge.net] : gfortran (voir ci-dessus)
       et g95 sont tous les deux des rejetons du mme arbre CVS. Ce
       compilateur possde une liste impressionnante de programmes
       qui se compilent et fonctionnent avec lui.

     o fort77 and f2c
       [http://www.llnl.gov/casc/Overture/henshaw/install/node6.html] :
       fort77 est un programme en langage perl qui invoque la
       commande f2c (un traducteur de C vers Fortran) de manire
       transparente. Il peut donc tre utilis exactement comme un
       compilateur Fortran. Fort77 peut tre utilis pour compiler du
       code Fortran, C et assembleur et peut lier le code avec les
       bibliothques f2c. Si vous voulez installer fort77, vous
       devrez aussi installer f2c. fort77 ne pose pas le problme de
       l'option "-r8", contrairement  g77. Vous pouvez tlcharger
       fort77 et f2c  partir du lien ci-dessus.

     o lush [http://lush.sourceforge.net] : un langage de
       programmation orient objets qui combine la flexibilit d'un
       langage interprt avec l'efficacit d'un langage compil. Il
       possde des interfaces compltes pour les bibliothques
       numriques (GSL, LAPACK, BLAS) et graphiques (OpenGL),
       permettant la cration de graphiques et d'animations 3D et de
       beaucoup d'autres caractristiques qui sont presque trop
       belles pour tre vraies. Je ne l'ai pas encore essay, mais il
       a l'air trs prometteur.

     o Python pour les scientifiques
       [http://www.python.org/topics/scicomp/] : Python
       [http://www.python.org] est une piste que vous pouvez vouloir
       explorer pour vos besoins en calcul scientifique. Python est
       un langage de programmation interprt, interactif et orient
       objet. Il possde de nombreuses extensions pour le calcul, le
       traage, le stockage de donnes et combin avec Tk permet de
       dvelopper de bonnes interfaces graphiques pour vos codes. Son
       aspect le plus intressant est qu'il simplifie la
       programmation car des modules pour pratiquement tout
       (vecteurs, tenseurs, transformations, drives, algbre
       linaire, transformes de Fourier, statistiques, etc...) sont
       disponibles. Vous pouvez aussi utiliser des bibliothques C et
       Fortran  partir de Python. Finalement, si vous voulez crire
       votre propre programme numrique, vous pourriez dcouvrir que
       c'est plus simple de le faire en Python. Il existe galement
       des interfaces vers netCDF (fichiers binaires portables), MPI
       et BSPlib (programmation parallle).

       Vous trouverez d'autres informations sur l'usage de Python en
       calcul scientifique ici :

          o Science et Python
            [http://starship.python.net/crew/hinsen/scientific.html] :
            un ensemble de modules pour le calcul scientifique sous
            Python. Ils peuvent tous tre tlchargs soit comme
            fichiers au format tar, soit comme fichiers au format
            RPM. Le responsable, Konrad Hinsen, propose aussi un bon
            didacticiel intitul Scientific Computing in Python
            (Calcul scientifique avec Python)
            [http://starship.python.net/crew/hinsen/tutorial.ps].

          o SciPy [http://www.scipy.org]  Une bibliothque d'outils
            scientifiques libres pour Python. Elle inclut des modules
            pour crer des graphiques et faire du traage, des
            modules d'optimisation, d'intgration, de fonctions
            spciales, de manipulation de signaux et d'images,
            d'algorithmes gntiques, de solveurs d'quations
            diffrentielles ordinaires, etc.

  3.2. Outils de dbogage

   Dans cette section, je donne principalement des liens vers des
   outils de dbogage pour GCC et le langage FORTRAN. Je sais que
   Python possde un module interne de dbogage mais je ne m'en suis
   jamais servi. L'utilit d'un dbogueur est de vous permettre de
   voir ce qui se passe  l'intrieur d'un programme lorsqu'il
   s'excute ou de savoir ce qu'il faisait lorsque celui-ci s'est
   plant.

     o Ftnchek [http://www.dsm.fordham.edu/~ftnchek] : c'est un
       vrificateur pour FORTRAN conu pour dtecter des erreurs dans
       un programme Fortran qu'un compilateur n'aurait probablement
       pas vues. Il est donc conseill d'utiliser ftnchek dans vos
       programmes FORTRAN une fois qu'ils compilent sans erreur. Son
       but est d'assister l'utilisateur  trouver des erreurs
       smantiques. Ces erreurs sont autorises dans le langage
       Fortran mais sont du gaspillage ou peuvent causer un
       fonctionnement incorrect. Un manuel
       [http://www.dsm.fordham.edu/~ftnchek/html/] en ligne est
       disponible. Ce projet cherche des volontaires pour ajouter le
       standard Fortran 90  ftnchek.

     o gdb [http://www.gnu.org/software/gdb/gdb.html] : Tous les
       programmes crits dans les langages supports par GCC peuvent
       tre dbogus avec gdb, qui est un excellent dbogueur
       interactif en ligne de commande. Vous pouvez compiler vos
       programmes avec l'option -g pour insrer des informations de
       dbogage dans l'excutable. Gdb peut dmarrer, arrter vos
       logiciels lorsque des conditions ou des endroits spcifiques
       sont atteints et examiner ce qui s'est pass lorsque votre
       programme s'arrte. Dans un code de taille importante avec de
       multiples appels en cascade vers diverses fonctions, il peut
       retrouver la squence d'appel des fonctions. Vous pouvez aussi
       tlcharger le document Comment dboguer avec GDB
       [http://sources.redhat.com/gdb/current/onlinedocs/], ainsi
       qu'une fiche reprenant les commandes principales.

     o [15]xxgdb : c'est une interface graphique pour le dbogueur
       gdb. Elle est utile pour les dbutants car elle prsente la
       liste de toutes les commandes de gdb sous forme de boutons,
       une zone de visualisation du code source dans laquelle on peut
       ajouter des points d'arrts par un simple clic de souris, et
       une zone pour visualiser les rsultats du dbogage.

     o DDD [http://www.gnu.org/software/ddd/ddd.html] : Le GNU Data
       Display Debugger, GNU DDD, est une interface graphique pour
       des dbogueurs en ligne de commande tels que GDB, DBX, WDB,
       Ladebug, JDB, XDB, le dbogueur de Perl ou le dbogueur de
       Python. En plus des caractristiques "classiques" des
       interfaces graphiques telles que la possibilit de visualiser
       le code source, il permet aussi un affichage interactif et
       graphique des donnes dans lequel les structures de donnes
       sont reprsentes sous formes de diagrammes. Vous trouverez le
       manuel de DDD aux formats PostScript, HTML ou PDF en suivant
       ce lien [http://www.gnu.org/manual/ddd/].

  3.3. Outils de contrle de version

   Si vous voulez faire srieusement du dveloppement de logiciels,
   il pourrait tre utile de passer un peu de temps  apprendre 
   utiliser un des outils de contrle de version dcrit ci-dessous
   (j'utilise CVS).

     o CVS (Concurrent Versions System)
       [http://www.cvshome.org/dev/codelinux.html] : CVS est un des
       systmes de contrle de version les plus populaires
       fonctionnant sous Linux. Des projets Linux populaires comme
       Apache, EGCS, GIMP et d'autres utilisent CVS pour coordonner
       leurs efforts. C'est ainsi que l'adresse donne ci-dessus
       dcrit leur effort.

       Un didacticiel sur CVS est disponible dans la documentation de
       Gentoo Linux [http://www.gentoo.org/doc/cvs-tutorial.html] et
       un livre gratuit sur CVS ici [http://cvsbook.red-bean.com/]

     o Project Revision Control System
       [http://www.xcf.berkeley.edu/~jmacd/prcs.html] : PRCS est une
       interface vers un ensemble d'outils qui, comme CVS,
       fournissent un moyen de traiter un ensemble de fichiers et de
       rpertoires comme une entit en prservant des versions
       cohrentes de l'ensemble. PRCS a t conu  l'origine par
       Paul N. Hilfinger avec la contribution et les modifications de
       Luigi Semenzato et Josh MacDonald. PRCS est crit et maintenu
       par Josh MacDonald. Son but est similaire  celui de SCCS, RCS
       et CVS mais (selon ses auteurs en tout cas) il est bien plus
       simple que tous ces programmes. Les informations sur les
       dveloppements les plus rcents de PRCS peuvent tre trouvs
       en cliquant sur le lien ci-dessus.

     o Gbuild [http://www.cryon.com/gbuild/] : gbuild est un script
       crit en langage Bourne shell dont le but est de simplifier la
       maintenance de vos logiciels en vous permettant d'automatiser
       leurs mises  jour  partir de CVS, leur compilation et la
       construction des tar/rpms/srpms de ceux-ci. Certains scripts
       externes dont dpendent certaines fonctions de gbuild sont
       crits en Perl. gbuild est sous licence GPL.

  3.4. Environnements intgrs de dveloppement

   Les environnements de dveloppement intgr (EDI) peuvent tre
   trs utiles pour dvelopper du code. Ils viennent idalement avec
   tous les outils cits prcdemment (c--d un compilateur, un
   dbogueur et un outil de contrle de version). En plus de cela,
   les EDI fournissent gnralement un gnrateur de makefile, de la
   documentation, des manuels d'aide en ligne, etc.

     o Kdevelop [http://www.kdevelop.org/] : un EDI facile  utiliser
       pour Linux et supportant les langages C et C++. Il supporte
       les projets KDE/Qt, GNOME, C et C++. Le site prsente une
       documentation dtaille ; c'est un trs bon site pour les
       dveloppeurs de logiciels. Spcifiquement, KDevelop gre ou
       fournit :

       Tous les outils de dveloppement utiles pour la programmation
       en C++ comme un compilateur, un diteur de liens, automake et
       autoconf ; KAppWizard qui gnre des exemples d'applications
       compltes et fonctionnelles ; Class generator pour crer de
       nouvelles classes et les intgrer dans le projet en cours ; un
       gestionnaire de fichiers pour les fichiers sources, en-ttes,
       la documentation, etc devant tre inclus dans le projet ; la
       cration de manuels utilisateur crits en SGML et la
       gnration de sorties en HTML avec le style KDE ; ; la
       gnration automatique en HTML de la documentation des classes
       de votre projet avec les rfrences croises vers les
       bibliothques utilises ; le support pour
       l'internationalisation de votre application permettant aux
       traducteurs d'ajouter facilement une langue au projet ;
       KDevelop inclut aussi la cration WYSIWYG (What You See Is
       What You Get, ce que vous voyez est ce que vous obtenez)
       d'interfaces utilisateur grce  un diteur interne de
       dialogues ; le dbogage de votre application grce 
       l'intgration de KDbg ; l'dition d'icnes relatives au projet
       avec KIconEdit ; l'inclusion de n'importe quel autre programme
       dont vous avez besoin pour le dveloppement en l'ajoutant au
       menu "outils".

     o VDKbuilder [http://vdkbuilder.sourceforge.net/] : VDKbuilder
       est un outil qui aide les programmeurs  construire des
       interfaces graphiques,  diter, compiler, diter les liens et
       dboguer dans un environnement intgr. L'utilisation de
       VDKBuilder rduit fortement le temps de dveloppement puisque
       tout le code li  la construction de l'interface graphique et
        la gestion des signaux est automatiquement gnr, gr et
       mis  jour. Il est distribu sous la licence publique gnrale
       GNU. Visitez son site pour le tlcharger.

4. Outils mathmatiques

   Tous les liens ci-dessous pointent vers des langages libres de
   haut niveau et vers des outils mathmatiques libres pour faire du
   calcul scientifique sous Linux. Ces outils peuvent gnralement
   tre vus comme des laboratoires mathmatiques dans lesquels des
   calculs numriques peuvent tre raliss ; ils possdent
   habituellement leur propre langage interprt. Ils utilisent un
   outil de traage rpandu (et libre) ou ont leur propre moteur
   graphique et de traage. Ils fournissent galement des
   possibilits d'entres/sorties et s'interfacent avec d'autres
   langages de programmation tels le C, le C++, le Fortran,...
   Actuellement, certains ont mme la possibilit de faire du calcul
   parallle. Je n'ai pas inclus MuPAD [http://www.mupad.de/], qui
   est un bon outil de calcul symbolique, car il n'est pas vraiment
   libre. Jetez un il  leur licence pour vrifier si elle vous
   convient.

     o Octave [http://www.octave.org/] : un excellent environnement
       de calcul numrique. Il utilise gnuplot pour les figures et
       dispose d'une aide en ligne. Il est aussi trs facilement
       extensible (c--d que des nouvelles fonctions ou procdures
       peuvent tre crites) soit en utilisant son propre langage,
       soit en utilisant des modules dynamiques crits en langage C,
       C++, Fortran ou autre. Un manuel dtaill est disponible ici
       [http://www.octave.org/doc/octave_toc.html]. Octave est
       distribu sous la licence publique gnrale GNU.

     o Scilab [http://scilabsoft.inria.fr/] : un autre superbe
       environnement de calcul numrique avec une bonne interface
       utilisateur et une trs bonne aide en ligne. Ses possibilits
       graphiques et de traage sont galement trs impressionnantes.
       Il peut aussi tre interfac facilement avec les langages
       Fortran et C. Il a sa propre licence libre
       [http://scilabsoft.inria.fr/license/licence.html].

     o Yorick
       [http://web.mit.edu/afs/athena/software/yorick_v1.5.12/yorick/1.5/doc/] :
       Yorick est un langage interprt rapide conu pour le calcul
       scientifique et l'analyse numrique. Sa syntaxe est similaire
        celle du C, mais il n'est pas ncessaire de dclarer les
       variables. Il offre un outil graphique interactif bas sur X
       windows. Il supporte les figures X-Y, les maillages
       quadrilatres, les maillages pleins, les tableaux de mailles
       et les contours. Vous pouvez intgrer vos routines compiles
       dans Yorick pour rsoudre des problmes pour lesquels
       l'interprteur est trop lent. Il peut aussi s'avrer utile
       pour servir d'outil de pr et post-traitement pour les grosses
       simulations physiques. Un didacticiel sous forme de manuel est
       disponible ici
       [http://web.mit.edu/afs/athena/software/yorick_v1.5.12/yorick/1.5/doc/manual/yorick.html].
       Yorick est un logiciel libre sous copyright
       [http://web.mit.edu/afs/athena/software/yorick_v1.5.12/yorick/1.5/doc/copyright.html]
       de l'Universit de Californie.

     o Algae [http://algae.sourceforge.net/] : comme dcrit dans le
       lien ci-dessus, Algae est un langage interprt d'analyse
       numrique. Il a t dvelopp pour tre rapide, polyvalent et
       pour pouvoir manipuler des problmes de grosses dimensions.
       Algae est constitu d'un langage de programmation, Algae, et
       d'un interprteur, algae. Au nombre de ses caractristiques,
       un grande rapidit (gnralement bien plus rapide qu'octave,
       RLaB et Scilab), le stockage de matrices creuses et la
       capacit de faire de l'analyse de code (pour voir o le code
       passe son temps). Un manuel de l'utilisateur est disponible
       ici [http://algae.sourceforge.net/algae.html]. Il est
       distribu sous la licence publique gnrale GNU.

     o YACAS [http://yacas.sourceforge.net/] : comme dcrit dans le
       lien qui prcde : :  YACAS est un systme de calcul
       algbrique sur ordinateur gnraliste et facile  utiliser, un
       programme de manipulation symbolique d'expressions
       mathmatiques. Il utilise son propre langage de programmation
       conu aussi bien pour le calcul symbolique que pour les
       calculs numriques en prcision arbitraire . Des liens vers
       la documentation (manuel de l'utilisateur, didacticiel,
       etc...) sont disponibles ici
       [http://yacas.sourceforge.net/manindex.html]. Il est distribu
       sous la licence publique gnrale GNU.

     o RLAB [http://rlab.sourceforge.net/] : le lien ci-dessus le
       dcrit comme suit :  Rlab est un environnement de
       programmation scientifique interactif et interprt. Rlab est
       un langage de trs haut niveau conu pour produire des
       prototypes et des dveloppements logiciels rapides, une
       visualisation aise des donnes, ainsi que la ralisation
       facile de calculs . Il est distribu sous la licence publique
       gnrale GNU. L'auteur Ian Searle a crit un article dans The
       Linux Journal [http://www.linuxjournal.com/] intitul Une
       introduction  Rlab [http://rlab.sourceforge.net/lj/lj.html]
       qui est, nous rappelle-t'il, un peu vieille. Un manuel de
       rfrence [http://rlab.sourceforge.net/html/rlab-ref.html]
       existe aussi.

     o Maxima [http://maxima.sourceforge.net] : Maxima est un
       programme de calcul symbolique. Le lien ci-dessus le dcrit
       comme suit :  Maxima est un descendant de DOE Macsyma, dont
       les origines remontent  la fin des annes 1960 au MIT. C'est
       le seul systme bas sur cet effort qui soit encore disponible
       publiquement et avec une communaut active d'utilisateurs,
       grce  sa nature de logiciel libre. Macsyma tait le premier
       d'une nouvelle gnration de systmes de calcul algbrique,
       ouvrant la route  des logiciels tels que Maple et
       Mathematica. Cette variante de Macsyma tait maintenue par
       William Schelter depuis 1982 jusqu' sa disparition en 2001.
       En 1998, il avait obtenu la permission de diffuser le code
       source sous licence GPL. 

     o Le projet "R" pour le calcul statistique
       [http://www.r-project.org/] : R est un langage et un
       environnement pour les calculs et graphiques statistiques. Il
       fournit un nombre important d'outils d'analyse statistique
       pour traiter de grandes quantits de donnes et possde aussi
       des possibilits graphiques. R est aussi un langage de
       programmation complet et efficace. Pour les tches intensives,
       du code en C, C++ et Fortran peut tre li et appel lors de
       l'excution. Un ensemble complet de manuels traitant de
       l'installation, de l'introduction  l'utilisation, de
       l'criture d'extensions, etc... est disponible ici
       [http://cran.r-project.org/manuals.html]. Il est distribu
       sous la licence publique gnrale GNU.

     o gTybalt [http://www.fis.unipr.it/%7Estefanw/gtybalt.html] :
       gTybalt est une tape vers un systme libre de calcul
       algbrique. Il est orient objet, permettant de faire du
       calcul symbolique  partir du C++. Il est efficace dans le
       sens o les solutions dveloppes avec gTybalt peuvent tre
       compiles avec un compilateur C++ et excutes indpendamment
       de gTybalt. Les formules mathmatiques sont visualises 
       l'aide des polices TeX et peuvent facilement tre converties
       en LaTeX. Je n'avais pas ralis qu'il avait de bonnes
       possibilits graphiques jusqu' ce que je consulte son manuel
       [http://www.fis.unipr.it/%7Estefanw/gtybalt/gtybalt.html]. Il
       est distribu sous la licence publique gnrale GNU.

     o JACAL [http://www-swiss.ai.mit.edu/%7Ejaffer/JACAL.html] :
       comme dcrit dans le lien,  JACAL est un programme interactif
       de mathmatiques symboliques. JACAL peut manipuler et
       simplifier des quations, des scalaires, des vecteurs et des
       matrices composes d'expressions algbriques  valeurs simples
       ou multiples contenant des nombres, des variables, des
       racines, des drives algbriques et des fonctions
       holnomes. 

     o bc [http://www.gnu.org/software/bc/bc.html] : bc est un
       langage de calcul numrique en prcision arbitraire. Il
       supporte l'excution interactive d'expressions. Cliquez ici
       [http://www.gnu.org/software/bc/manual/bc.html] pour un manuel
       dans diffrents formats. C'est un logiciel GNU et il est
       distribu sous la licence publique gnrale GNU.

5. Sous-routines et bibliothques numriques

   La meilleure chose qui pouvait arriver au calcul scientifique avec
   des logiciels libres sous GNU/Linux est la bibliothque
   scientifique GNU GSL [http://sources.redhat.com/gsl]. Cependant,
   son code source est exclusivement en C ; ainsi ceux qui
   travaillent en FORTRAN trouveront qu'il s'agit d'une raison pour
   ne pas l'utiliser. En saisissant cette opportunit, GSL est une
   autre raison (en plus du compilateur C GCC coupl avec les
   avantages de la programmation en C) pour commencer  apprendre
   l'utilisation du C. En plus de cela, les deux meilleurs entrepts
   de code source et de bibliothques pour les mthodes numriques
   sont Netlib [http://www.netlib.org] et GAMS
   [http://math.nist.gov/]. Il y a de nouveaux outils dvelopps en
   dehors de l'approche habituelle : "crivez un programme FORTRAN et
   obtenez les sous-routines numriques sur Internet". Les mrites et
   inconvnients de cette mthode sont discutables, mais il existe
   d'autres options comme la numrique oriente objet (Object
   Oriented Numerics) [http://oonumerics.org/oon], GSL et GiNaC
   [http://www.ginac.de/] qui sont des avances intressantes.

  5.1. Entrepts de logiciels

     o Netlib [http://www.netlib.org/] : une quantit impressionnante
       de codes sources libres pour des mthodes numriques. Netlib
       est L'endroit o vous trouverez un nombre incalculable de
       codes sources  vocation numrique. Il possde aussi un forum
       de discussion [http://www.netlib.org/utk/discus] actif o vous
       pouvez soumettre vos questions et obtenir de l'aide. Netlib a
       aussi une bibliothque d'outils parallles
       [http://www.nhse.org/ptlib] et des possibilits de recherche
       thmatique.

     o GAMS : le Guide des Applications MathmatiqueS
       [http://math.nist.gov/] (Guide to Available Mathematical
       Software) : GAMS a un outil de recherche trs utile qui vous
       permet de faire des recherches sur des mots-cls (par
       exemple : ``diffusion'' pour chercher un solveur d'quation de
       diffusion). Cependant, la navigation par logiciel rvle que
       les logiciels fournis sont souvent des liens vers NetLib.

     o Numrique oriente objet (Object Oriented Numerics)
       [http://oonumerics.org/oon] : un site consacr au calcul
       orient objet. Il fournit une liste de discussion (en
       anglais), une liste complte de liens vers des bibliothques
       disponibles gratuitement (OO bien sr) et vers des outils
       disponibles gratuitement pour le calcul scientifique orient
       objet.

     o Bibliothque scientifique de GNU
       [http://sources.redhat.com/gsl] : La bibliothque scientifique
       de GNU (GSL) est une collection de routines numriques crites
        partir de rien en C. Elle fournit une interface de
       programmation d'applications (API) pour les programmeurs C et
       permet galement d'crire des interfaces pour des langages de
       trs haut niveau. Elle couvre une grande gamme de sujets de
       calcul numrique, est dote d'un bon manuel, est trs
       facilement portable et est distribue sous la licence publique
       gnrale GNU.

     o GiNaC [http://www.ginac.de/] : GiNaC est conu pour permettre
       la cration de logiciels ncessitant de faire des
       manipulations symboliques en interne. Un ensemble de capacits
       algbriques lui permet d'tendre le C++ ; son acronyme
       rcursif (et en anglais) est  GiNaC is not a Computer Algebra
       system . Il est distribu sous les termes et conditions de la
       licence publique gnrale GNU (GPL).

  5.2. Autres bibliothques numriques spcialises

     o FFTW [http://www.fftw.org/] : FFTW est un ensemble de routines
       rapides pour calculer la transforme discrte de Fourier dans
       une ou plusieurs dimensions. Elle inclut les transformes
       complexe, relle et parallle et peut travailler efficacement
       avec des tableaux de n'importe quelle taille. Cet ensemble
       contient  la fois les bibliothques FFTW monoprocesseur et
       parallle en simple et double prcisions.

     o LAPACK [http://www.netlib.org/lapack] : LAPACK (Linear Algebra
       PACKage) est une bibliothque standard d'algbre linaire
       numrique. LAPACK fournit des routines pour rsoudre des
       systmes d'quations linaires, dterminer la solution aux
       moindres-carrs de systmes linaires d'quations. Elle peut
       galement rsoudre des problmes aux valeurs propres et des
       problmes aux valeurs singulires. LAPACK est crit en
       Fortran77. Elle est bien documente et largement utilise (et
       donc largement teste).

     o SuperLU [http://www.nersc.gov/~xiaoye/SuperLU] : SuperLU est
       une bibliothque destine  raliser des dcompositions LU
       pour la rsolution directe de grands systmes non-symtriques
       et de grands systmes creux d'quations linaires, ceci sur
       des ordinateurs hautement performants. Il est crit en C et
       peut tre appel dans des logiciels en C ou en Fortran.

     o ARPACK [http://www.caam.rice.edu/software/ARPACK/] : ARPACK
       est un ensemble de sous-routines en Fortran77 conu pour
       rsoudre de grands problmes aux valeurs propres. Un manuel de
       l'utilisateur
       [http://www.caam.rice.edu/software/ARPACK/UG/ug.html#ARPACK]
       est disponible. Le lien ci-dessus donne aussi des informations
        propos d'une version parallle d'ARPACK : PARPACK et d'une
       version oriente objet : ARPACK++.

     o Logiciels de mcanique des fluides
       [http://icemcfd.com/cfd/CFD_codes.html] : ce lien contient une
       liste trs complte de logiciels du domaine public, de
       partagiciels et de gratuiciels traitant de la mcanique des
       fluides et comprenant une description de chaque code.

6. Graphiques et visualisation

     o Gnuplot [http://www.gnuplot.info] : Gnuplot est un utilitaire
       interactif de traage de fonctions en ligne de commande. Il
       peut manipuler des courbes (2 dimensions) et des surfaces (3
       dimensions). Les surfaces peuvent "flotter" dans l'espace en
       coordonnes tridimensionnelles ou tre reprsentes en
       contours. Pour les graphiques en 2D, de nombreux styles de
       tracs sont disponibles comme les lignes, les points, les
       lignes avec points, les barres d'erreur et les histogrammes.
       Vous pouvez ajouter sur les figures n'importe quelle tiquette
       ou flche, nommer les chelles, ajouter un titre, une date et
       une heure ou une cl. Il peut galement crer de multiples
       types de graphiques. Les graphiques peuvent tre sauvegards
       dans de nombreux formats et ainsi tre rcuprs dans des
       traitements de texte. Vous pouvez l'utiliser pour gnrer des
       figures de qualit dans vos publications.

     o Graphiques NCAR [http://ngwww.ucar.edu] : un outil graphique
       trs populaire qui est trs bien document et largement
       utilis. Il fournit les ingrdients de base pour crer des
       figures complexes grce  des fonctions / routines qui peuvent
       tre appeles depuis des programmes en Fortran ou en C. Une
       interface de programmation pour l'outil de graphiques NCAR a
       t dveloppe : NCL (NCAR Command Language, langage de
       commande NCAR). Les interfaces de programmation fournissent
       l'accs  des utilitaires graphiques complexes comme la
       dtection de contours, la projection sur la carte de la terre
       et le trac de vecteurs vitesse. L'interface C est
       majoritairement construite au-dessus de l'interface Fortran.
       NCAR est distribu sous la licence publique gnrale GNU.
       Cliquez ici [http://ngwww.ucar.edu/ng4.4/documentation.html]
       pour accder  la documentation et  ses nombreux lments.

     o OpenDX [http://www.opendx.org] : un trs bon explorateur libre
       de donnes (Open Source Data eXplorer). Il peut manipuler de
       grandes quantits de donnes et crer de trs belles
       visualisations. C'est l'outil sur lequel je suis tomb lorsque
       je cherchais une routine graphique libre pour raliser des
       figures 3D, zoomer, faire des rotations et vraiment explorer
       les donnes de sortie de mes codes. Par contre, le compiler 
       partir des sources est un vrai dfi et commencer  l'utiliser
       est difficile. Cependant, il dispose d'une excellente
       documentation et une fois habitu, c'est le meilleur outil que
       j'aie jamais utilis.

     o Gri [http://gri.sourceforge.net] : est un langage de
       programmation graphique  but scientifique. L'affirmation que
       Gri est similaire  LaTeX dans le sens que tous deux
       fournissent des possibilits tendues comme rcompense  un
       apprentissage difficile me semble passionnant et je voudrais
       l'essayer bientt ! Allez voir cet article
       [http://www.linuxjournal.com/article.php?sid=3743] dans The
       Linux Journal. Si gri vous impressionne, allez sur sa page
       d'accueil et tlchargez-y les manuels.

     o MayaVi [http://mayavi.sf.net] : un visualisateur de donnes
       scientifiques crit en Python. Il est distribu sous licence
       BSD [http://www.opensource.org/licenses/bsd-license.html]. Les
       captures d'cran sont encourageantes. Suivez le lien pour de
       plus amples dtails.

     o PGPLOT [http://www.astro.caltech.edu/~tjp/pgplot] : PGPLOT est
       une bibliothque de sous-routines pour les langages Fortran 77
       et C pour tracer des figures en 2D ou des figures simples en
       3D. On peut appeler ces routines durant l'excution d'un
       programme et en rediriger la sortie vers de nombreux
       priphriques. Elle est bien documente et la documentation
       dtaille est disponible sur le site ci-dessus. Elle est
       gratuite pour un usage non-commercial. Un manuel de
       l'utilisateur est disponible ici
       [http://www.astro.caltech.edu/~tjp/pgplot/contents.html].

     o PLplot [http://plplot.sourceforge.net/] : c'est une
       bibliothque de fonctions de traage scientifique qui peuvent
       tre appeles  partir des langages C, C++, FORTRAN, TCL et
       PYTHON. Comme dcrites dans le lien, les caractristiques de
       PLplot sont :  On peut l'utiliser pour crer des figures x-y
       standards, des figures avec une ou deux chelles
       logarithmiques, des tracs de contours, des figures en 3D, de
       maillages, des histogrammes et des diagrammes en camembert. De
       multiples graphiques (de tailles identiques ou diffrentes)
       peuvent tre placs dans une seule page avec plusieurs lignes
       pour chaque graphique. Il y a presque 2000 caractres dans le
       jeu tendu de caractres. Il comporte quatre polices
       diffrentes, l'alphabet grec et de nombreux symboles
       mathmatiques, musicaux ou autres. Nombre de priphriques de
       sortie sont supports et de nouveaux peuvent facilement tre
       ajouts en crivant un petit nombre de routines spcifiques 
       ces priphriques . Pour le tlcharger, cliquez ici
       [http://sourceforge.net/project/showfiles.php?group_id=2915].

     o Grace [http://plasma-gate.weizmann.ac.il/Grace/] : Grace est
       un outil de traage WYSIWYG 2D pour X Window et Motif. Grace
       fonctionne sur pratiquement n'importe quelle version d'Unix.
       Grace est un descendant de ACE/gr, aussi connu sous le nom de
       Xmgr. Il est distribu sous licence publique gnrale GNU. Le
       lien donne aussi un didacticiel et des informations sur le
       tlchargement.

     o SciGraphica [http://scigraphica.sourceforge.net/] :
       SciGraphica est une application d'analyse des donnes et de
       ralisation de graphiques techniques. Elle supporte
       entirement le traage des figures 2D, 3D et en coordonnes
       polaires. Le but est d'obtenir une application scientifique
       trs complte, multi-plateformes, facile  utiliser. Elle est
       distribue sous licence GPL.

     o Plotutils
       [http://www.gnu.org/software/plotutils/plotutils.html] : Les
       outils plotutils de GNU contiennent des logiciels  la fois
       pour les programmeurs et les utilisateurs techniques. Sa pice
       principale est libplot, une puissante bibliothque de
       fonctions en C/C++ pour exporter des graphiques vectoriels 2D
       vers de nombreux formats de fichier soit vectoriels, soit
       bitmap. Elle peut galement raliser des animations de
       graphiques vectoriels. En complment de libplot, plotutils
       contient aussi des programmes en ligne de commande de traage
       de donnes scientifiques. Nombre d'entre eux utilisent libplot
       pour exporter des graphiques.

     o DISLIN [http://www.dislin.de] : DISLIN est une bibliothque de
       traage de haut niveau pour reprsenter des donnes sous forme
       de courbes, de figures en coordonnes polaires,
       d'histogrammes, de tableaux en camembert, de figures 3D en
       couleurs, de surfaces, de contours et de cartes.

     o ImLib3D [http://ImLib3d.sourceforge.net] : ImLib3D est une
       bibliothque libre crite en C++ pour faire du traitement
       d'image en 3D (volumtrique). Elle contient la plupart des
       algorithmes basiques de traitement d'images, ainsi que
       certains plus sophistiqus. Elle est fournie avec une
       visionneuse optionnelle permettant les vues simultanes sur
       plusieurs plans, les animations, la vue de champs de vecteurs
       et les vues 3D sur plusieurs plans avec OpenGL.

     o Ptplot [http://ptolemy.eecs.berkeley.edu/java/ptplot] : Ptplot
       est un outil de traage de figures 2D et d'histogrammes crit
       en Java. Ptplot peut tre utilis comme application ou comme
       applet, ou tre insr dans vos propres applications ou
       applets.

7. Systmes de programmation pour GNU/Linux

   Vous trouverez dans cette section des liens vers des didacticiels
   et des documents pour installer Linux sur un PC, comment dbuter
   sur Linux et comment aller encore un peu plus loin : comment
   optimiser votre PC pour en utiliser toute la puissance de
   traitement, comment utiliser de multiples processeurs (traitement
   symtrique multi-processeurs - SMP), comment crer un cluster
   Linux bon march et volutif et finalement on vous donnera des
   liens pour raliser de la programmation parallle sur Linux.

  7.1. La station de travail GNU/Linux

   Comme pour une grande partie de la documentation sur GNU/Linux, la
   page web du projet de documentation de Linux [http://tldp.org] est
   une source inestimable (vous pouvez galement consulter son
   quivalent francophone Traduc [http://www.traduc.org]). Vous
   pouvez commencer par lire le guide d'installation de Linux
   [http://www.traduc.org/docs/howto/lecture/Installation-HOWTO.html].
   Pour ceux qui veulent installer Linux et Windows conjointement,
   allez voir le guide Linux + Windows
   [http://www.traduc.org/docs/howto/lecture/Linux+Windows-HOWTO.html].
   Lorsque vous installez Linux assurez vous de choisir d'installer
   toute la documentation. Aprs l'installation, un bon document,
   trs complet pour commencer  utiliser Linux est le The Rute Users
   Tutorial and Exposition [http://www.icon.co.za/~psheer/book/] ;
   c'est un guide pour ceux qui dbutent avec les systmes Linux et
   UNIX. J'aimerais donner un lien moins intimidant (point de vue
   taille) vers un petit guide pour dbutants, mais vous le trouverez
   utile une fois dans le bain. Vous pouvez aussi consulter le guide
   de l'administrateur systme Linux
   [http://www.traduc.org/docs/guides/lecture/sag/html/] ou le guide
   de l'administration Linux faite facile
   [http://www.traduc.org/docs/guides/lecture/lame/linux-admin-made-easy/html/].
   Il tente de dcrire les problmes d'administration et de
   maintenance rencontrs au jour le jour par les administrateurs
   systme Linux.

  7.2. 7.2. Traitement symtrique parallle multi-processeurs :
  introduction aux super-calculateurs

   Il est possible d'effectuer de trs grands volumes d'oprations
   sans dpenser des millions de roupies dans un super-calculateur.
   Vous avez seulement besoin de connecter entre-eux (via un rseau
   rapide) le nombre requis de processeurs grs avec GNU/Linux comme
   systme d'exploitation. Ajoutez  cela des logiciels de passage de
   messages disponibles librement et vous obtenez une machine
   parallle efficace avec des possibilits tendues de calcul. De
   telles grappes d'ordinateurs sont appeles "clusters Beowulf".
   L'autre avantage d'une telle grappe, en plus de son faible cot de
   construction, est la faiblesse de ses cots de mise  jour. La
   meilleure ressource pour ceux qui veulent construire un cluster
   Linux est : la page web du projet Beowulf
   [http://www.beowulf.org]. Ce site est mis  jour rgulirement
   avec des informations utiles pour construire des grappes.

    7.2.1. Liens vers des documents sur le calcul parallle

   Je vous propose de lire cet excellent article crit par Joe
   Greenseid, intitul Linux Clustering Software, logiciels pour
   grappes de calcul Linux [http://freshmeat.net/articles/view/458/],
   et la grande quantit de liens qu'il fournit. Je compte visiter
   ses diffrents liens et les ajouter dans ce guide.

   D'autres liens vers des documents libres pour le traitement
   parallle sont donns ici :

     o Le guide de Beowulf
       [http://www.traduc.org/docs/howto/lecture/Beowulf-HOWTO.html] :
       ce document constitue une introduction  l'architecture des
       super-ordinateurs Beowulf ; il fournit des informations de
       fond sur la programmation parallle, y compris des liens vers
       d'autres documents plus spcifiques ainsi que des pages web.
       Mais avant cela, si vous dsirez comprendre le traitement
       symtrique parallle multi-processeurs sous Linux, allez voir
       les documents suivants :

     o Le guide du traitement parallle sous Linux
       [http://www.traduc.org/docs/howto/lecture/Parallel-Processing-HOWTO.html]

     o Le guide du traitement symtrique multi-processeurs
       [http://www.traduc.org/docs/howto/lecture/SMP-HOWTO.html]

    7.2.2. Logiciels parallles pour Linux

   Maintenant, aprs avoir lu les documents prcdents, vous avez une
   ide de ce qu'est le calcul parallle. Les bibliothques
   parallles sont le coeur du traitement parallle dans une grappe
   de calcul Linux. Il y a plusieurs versions libres de bibliothques
   de calcul parallle. Puisque le but de ce type de calcul est la
   performance, elles ont de beaux outils fonctionnels pour analyser
   la performance de vos programmes parallles. Vous trouverez
   ci-dessous une srie de liens vers ces bibliothques de programmes
   et vers des outils.

     o Message Passing Interface, interface de passage de messages
       [http://www-unix.mcs.anl.gov/mpi] : MPI est un ensemble de
       spcifications standards pour des bibliothques de passage de
       messages. Le document ci-dessus propose de nombreux liens vers
       des documents sur le standard, etc. Une bibliothque MPI pour
       Linux, appele mpich [http://www-unix.mcs.anl.gov/mpi/mpich],
       est aussi disponible sur ce site. Il existe de nombreux
       documents pour apprendre  utiliser MPI
       [http://www-unix.mcs.anl.gov/mpi/tools.html].

     o Local Area Multicomputer [http://www.lam-mpi.org/] : LAM
       (calcul multi-stations pour rseaux locaux) est un
       environnement de programmation MPI et un systme de
       dveloppement pour rseaux d'ordinateurs htrognes. Avec
       LAM, une grappe (de calcul) ddie ou une infrastructure de
       calcul en rseau existante peut agir comme un seul ordinateur
       parallle rsolvant un problme. LAM fournit des possibilits
       tendues de dbogage dans le cycle de dveloppement de
       l'application et des performances de pointe pour les
       applications de production. LAM met en oeuvre le standard de
       communication MPI dans son intgralit. Vous pouvez
       tlcharger les sources (tar-zippes, rpm) ou les binaires ici
       [http://www.lam-mpi.org/download/]. Une srie de liens vers
       des didacticiels pour MPI et aussi un manuel pour commencer 
       travailler avec LMA sont disponibles ici
       [http://www.lam-mpi.org/tutorials/].

     o Parallel Virtual Machine, machine parallle virtuelle
       [http://www.epm.ornl.gov/pvm/pvm_home.html] : comme expliqu
       sur la page web de PVM, c'est un outil logiciel qui permet 
       une srie htrogne d'ordinateurs sous Unix et/ou sous
       Windows NT relis entre-eux par un rseau d'tre utiliss
       comme un seul gros ordinateur parallle. Ds lors, de grands
       calculs peuvent tre effectus plus conomiquement en
       utilisant la puissance et la mmoire regroupes de nombreux
       ordinateurs. Le logiciel est portable sur de nombreuses
       plateformes. Les sources, qui sont disponibles sur netlib, ont
       t compiles sur toutes sortes de machines depuis des
       ordinateurs portables jusqu' des CRAY.

     o Ganglia [http://ganglia.sourceforge.net] : Ganglia est un
       environnement libre de surveillance et d'excution de grappes,
       dvelopp dans le dpartement de science informatique de
       l'Universit de Californie de Berkeley. Comme dcrit dans le
       lien prcdent :  Ganglia est aussi simple  installer et 
       utiliser dans une grappe de 16 noeuds que dans une en
       possdant 512, comme cela a t prouv sur de nombreuses
       grappes de plus de 500 noeuds . Il peut non seulement lier
       des noeuds dans une grappe, mais aussi lier des grappes entre
       elles.

8.  Traitements de texte et outils de prsentation sous Linux

   Ceux d'entre vous qui ne souhaitent pas utiliser LaTeX
   [http://www.latex-project.org] ou qui le trouvent trop compliqu
   et qui veulent un traitement de texte "Tel cran, tel crit"
   (WYSIWYG), peuvent utiliser OpenOffice [http://fr.openoffice.org].
   Ses outils soutiennent la comparaison avec les meilleurs du
   march.

  8.1. Traitements de texte

     o LaTeX [http://www.latex-project.org] : LaTeX est un systme de
       composition de haute qualit conu pour la production de
       documentation technique et scientifique. LaTeX est le standard
       de facto pour la communication et la publication de documents
       scientifiques. Le document Getting Started with LaTeX
       [http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/] (dbuter avec
       LaTeX) crit par David R.Wilkin est une bonne introduction 
       son utilisation. Pour ceux qui prfrent un outil de
       documentation WYSIWYG, essayez LyX [http://www.lyx.org]. C'est
       une interface pour LaTeX. Il n'est pas aussi puissant que
       LaTeX lui-mme, mais est plus facile  utiliser grce  une
       bonne interface WYSIWYG.

     o Lout [http://lout.sourceforge.net] : un systme de formatage
       de document similaire  LaTeX. Il est dot de caractristiques
       intressantes ainsi que d'une bonne documentation. Il est
       lger et gnre du PostScript. Merci  Emiliano Gavilan pour
       ce lien.

     o Abiword [http://www.abisource.com] : comme dit sur la page web
       d'AbiWord :  AbiWord est adquat pour crire des articles,
       des lettres, des rapports, des mmos, etc . Il a gagn de
       nombreux prix et est probablement le meilleur traitement de
       texte libre. Visitez son site pour en savoir plus et pour le
       tlcharger.

     o kword [http://www.koffice.org/kword] : comme prcis sur la
       page d'accueil de kword :  KWord est un traitement de texte
       similaire  FrameMaker et une application de publication.
       KWord est capable de crer des documents complexes et 
       l'aspect professionnel. Que vous soyez un particulier ou un
       professionnel, un artiste de production ou un tudiant, KWord
       prouvera qu'il est un outil de qualit et facile  utiliser
       pour tous vos besoins en traitement de texte et en mise en
       page . Visitez le lien ci-dessus pour en savoir plus et le
       tlcharger. Vous pouvez galement en apprendre plus sur la
       suite koffice [http://www.koffice.org] complte.

  8.2. Outils de prsentation

     o KPresenter [http://www.koffice.org/kpresenter/] : KPresenter
       est l'outil de prsentation de la suite bureautique KOffice.
       Il permet de raliser des prsentations sur cran avec toutes
       les possibilits offertes habituellement par les outils de
       prsentation coteux. Il permet aussi de crer des
       prsentations scientifiques correctes pour peu qu'on ne
       veuille pas impressionner l'audience avec des effets n'ayant
       rien  voir avec le sujet :-). La meilleure chose  son propos
       est la possibilit de sauvegarder sa prsentation sous forme
       d'un fichier HTML. Il ralise des fichiers graphiques
       portables sur le rseau avec chaque diapositive. Avec des
       connaissances sommaires en HTML, vous pouvez ajouter une image
       anime comme lien vers une image, permettant de ce fait de
       montrer des animations quand c'est ncessaire.

     o Xfig [http://www-epb.lbl.gov/xfig/] : bien que le manuel
       prtende que c'est un outil interactif de gnration
       d'illustrations, xfig est en fait bien plus que cela. En plus
       de gnrer des figures pour exprimer ce que vous voulez dire
       dans une image, il vous aide  importer ou exporter des
       figures dans de nombreux formats,  crire du texte dans
       plusieurs polices et tailles,  gnrer des symboles grecs, 
       sauvegarder vos figures au format LaTeX ou dans n'importe quel
       format support par votre traitement de texte pour les inclure
       dans vos publications,  gnrer des images GIF de chaque page
       de votre prsentation pour les mettre sur votre site internet
       et, finalement, il gnre des fichiers *.fig qui prennent peu
       de place. La seule chose qui pour moi manque dans xfig est la
       possibilit d'diter les figures importes qui ne sont pas au
       format *.fig. Ds lors, pour une prsentation avec
       rtroprojecteur, vous avez besoin d'un navigateur supportant
       les cadres ("frames"), avec le contenu dans un cadre et les
       images gnres par xfig (exports au format *.png ou *.jpg 
       partir de Xfig) dans l'autre.

9. Systmes libres de gestion de bases de donnes pour Linux

   Le calcul scientifique a besoin de deux types de donnes : tout
   d'abord les valeurs physiques des donnes elles-mmes et ensuite
   les systmes de bases de donnes pour grer ces donnes. Dans ce
   document, je ne fournis que des liens vers des ressources pour
   bases de donnes sur internet et vers des systmes libres de bases
   de donnes. Personnellement, je n'utilise pas de bases de donnes
   pour manipuler les donnes gnres par mes codes. gawk, sed et
   d'autres commandes Unix basiques comme grep, head et tail me
   semblent suffisantes pour grer mes donnes. Je pense que je
   devais inclure cette section pour ceux qui gnrent de grandes
   quantits de donnes. J'espre qu'une personne avec de
   l'exprience dans les bases de donnes amliorera cette section.

     o Liste des bases de donnes libres
       [http://www.iam.unibe.ch/~scg/Archive/Software/FreeDB/].

     o ACM SIGMOD [http://www.acm.org/sigmod/databaseSoftware/] : un
       index des logiciels de bases de donnes disponibles
       publiquement.

     o MySQL [http://www.mysql.com] : un systme de gestion de base
       de donnes relationnelles.

     o PostgreSQL [http://www.postgresql.org] : comme dcrit dans le
       lien, PostgreSQL est un systme sophistiqu de gestion de
       bases de donnes relationnelles, supportant pratiquement tous
       les concepts SQL, y compris les sous-slections, les
       transactions et les types de donnes dfinis par
       l'utilisateur.

10. Linux au laboratoire

   L encore, c'est un domaine dans lequel je n'ai aucune exprience
   et j'espre qu'une personne exprimente apportera sa contribution
   pour amliorer ce document. Cependant, je fournis ci-dessous les
   liens suggrs par Sambaran Pahari et Deepak Gupta. De mon point
   de vue de nophyte, ces liens paraissent trs bons.

     o The Linux Lab Project, le projet de laboratoire sous Linux
       [http://www.llp.fu-berlin.de] : un site sur Linux au
       laboratoire, sur tous les procds au laboratoire, sur le
       contrle des processus, sur l'automatisation et l'acquisition
       de donnes avec Linux. Comme spcifi dans le lien ci-dessus :
        le projet de laboratoire sous Linux est destin  favoriser
       le dveloppement de logiciels LINUX d'acquisition de donnes
       et de contrle de processus. Il est envisag de fournir un
       environnement de dveloppement standardis pour une grande
       varit d'applications depuis le pilotage matriel jusqu'au
       dveloppement d'applications .

     o Pilotes Linux pour le port parallle
       [http://www.torque.net/linux-pp.html] : Ce lien dit :  Si
       vous avez un priphrique sur port parallle et que vous
       voulez savoir si un pilote Linux existe, alors vous tes au
       bon endroit . C'est une affirmation pleine d'assurance !

