Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > d74cd56fd5c222851f198ac5005d694d > files > 121

howto-text-fr-9.0-1mdk.noarch.rpm

  Serveur Web de Base de Donnees mSQL / perl HOWTO
  par Oliver Corff,
  version francaiseNicolas Caillaud
  v0.1, 17 September 1997

  Ce  Mini HOWTO, tres largement inspire de l'article de Michael Schilli
  Gebunkert : Datenbankbedienung mit Perl und CGI, publie dans le  maga-
  zine  informatique  allemand  iX du mois d'aout 1997, explique comment
  construire une base de donnees client/server SQL sur le Web, utilisant
  HTML pour l'interface utilisateur.

  11..  AA pprrooppooss ddee ccee DDooccuummeenntt

  11..11..  LLeecctteeuurrss ccoonncceerrnneess

  Ce  document  devrait etre utile a ceux qui veulent mettre en place un
  serveur de base de donnees sur le Web, mais qui ne  savent  pas  quels
  logiciels  sont  necessaires,  ni  comment  les  installer. Il fournit
  toutes les informations utiles pour  faire  fonctionner  une  base  de
  donnees  SQL sur un serveur Web ; il _n_e rentre _p_a_s dans les details de
  la programmation CGI,  ni  n'explique  le  langage  SQL.  D'excellents
  ouvrages  existent  sur  ces  sujets,  et  le  but  de ce document est
  seulement de fournir  une  plate-forme  sur  laquelle  un  utilisateur
  pourra etudier la programmation CGI et le langage SQL.

  Pour  faire  tourner un systeme SQL sur une petite echelle (et non pas
  l'exemple  classique  du  systeme  de  reservation  d'une   importante
  compagnie  aerienne, ou le systeme de gestion de base de donnees d'une
  mission spatiale), il suffit d'avoir les  logiciels  decrits  dans  ce
  document,  et la documentation les accompagnant. Le manuel utilisateur
  de  msql  (la  base  de  donnees  decrite  ici)  fournit  suffisamment
  d'informations  sur SQL pour vous permettre de construire votre propre
  base.

  Le lecteur doit savoir comment recuperer des fichiers par ftp s'il n'a
  pas  les  CD-ROM  adequats,  et  comment  construire des executables a
  partir des fichiers sources. En tout etat de cause, toutes les  etapes
  decrites  dans  ce  document  ont  ete testees sur un systeme reel, et
  devraient fonctionner sur le systeme du lecteur.

  11..22..  CCoonnvveennttiioonnss ttyyppooggrraapphhiiqquueess

  Une commande utilisateur :

  # make install

  Affichage d'un programme :

       Program installed. Read README for details on how to start.

  Exemple de fichier de code :

  ______________________________________________________________________
  # Un commentaire
  char lettre;
  ______________________________________________________________________

  22..  IInnttrroodduuccttiioonn

  On peut raisonnablement supposer que des bases de donnees contenant de
  gros  volumes  de  donnees, ou un schema relationnel complique (comme,
  par exemple, une base lexicale pour un langage  parle),  doivent  etre
  accessibles a beaucoup d'utilisateurs a la fois. De meme, il doit etre
  possible d'utiliser diverses plates-formes materielles et  logicielles
  existantes  pour  construire le systeme final.  Pour reduire les couts
  de mise en oeuvre, une seule partie du systeme a reellement besoin  de
  puissance  :  le  serveur  de  la  base  de  donnees  ;  les  stations
  utilisateurs doivent seulement afficher des donnees  et  accepter  des
  commandes utilisateurs, mais le traitement proprement dit est fait sur
  une seule machine, justifiant ainsi le terme "base de donnees client -
  serveur".   De  plus,  l'interface  utilisateur  doit  etre  facile  a
  configurer, et requerir le moins de traitement possible sur le client.

  Les  elements  suivants  (protocoles,  logiciels  et plus generalement
  concepts) sont utilises pour construire  un  systeme  conforme  a  ces
  criteres :

     LLiinnuuxx
        est  le  systeme  d'exploitation. Il s'agit d'une implementation
        stable d'Unix, multi-utilisateurs,  multi-taches,  avec  support
        reseau  complet (TCP/IP entre autres). A part le cout du support
        et de la transmission, il est gratuit et  livre  sous  forme  de
        distributions,  qui  incluent  generalement  l'indispensable, du
        Systeme d'Exploitation lui-meme au traitement de  texte,  outils
        de   developpement  logiciel,  langage  de  script,  generateurs
        d'interfaces, etc.

     HHTTMMLL
        Le langage HTML (HyperText Markup  Language)  est  utilise  pour
        construire   des   interfaces  de  systemes  reseaux  comme  des
        Intranets, des serveurs Web (WWW). HTML est  extremement  simple
        et  peut etre genere a partir de n'importe quel editeur de texte
        ASCII.

     NNaavviiggaatteeuurrss
        Les navigateurs sont des applications en mode texte (par exemple
        Lynx) ou en mode graphique (par exemple Mosaic, Netscape, Arena,
        etc.) destinees a la lecture et a l'affichage de documents HTML.
        C'est le seul logiciel directement manipule par l'utilisateur de
        la base de donnees.  Grace aux  navigateurs,  on  peut  afficher
        differents  types  de  donnees (texte ou images), et communiquer
        avec des serveurs HTTP (voir plus loin), heberges par a peu pres
        n'importe  quel modele d'ordinateur sur lequel un navigateur est
        disponible.

     SSeerrvveeuurrss HHTTTTPP
        Un serveur HTTP fournit  l'acces  a  une  zone  de  l'ordinateur
        contenant  les  donnees  publiques  d'un reseau.  Il supporte le
        protocole   HTTP   et   fournit   l'information   demandee   par
        l'utilisateur.

     SSQQLL
        SQL  (Structured  Query Language) est un langage de manipulation
        de donnees dans une base relationnelle. Sa  grammaire  est  tres
        simple   et   constitue  un  standard  largement  supporte  dans
        l'industrie. Les bases de donnees SQL  sont  au  coeur  meme  du
        concept  classique  de  base  de  donnees  Client - Serveur. Des
        systemes SQL reconnus existent, comme Oracle, Informix,  etc.  ;
        on  trouve  aussi  des  bases  comme  msql,  mysql,  postgresql,
        pratiquement gratuites lorsqu'elles sont utilisees dans un cadre
        scolaire ou universitaire.

     CCGGII
        CGI  (Common Gateway Interface) est l'interface de programmation
        entre le systeme supportant les  donnees  (dans  notre  cas,  le
        systeme  SQL)  et  le  protocole  reseau  (HTML,  bien sur). Les
        interfaces CGI peuvent etre construites en utilisant beaucoup de
        langages  de  programmation,  dont  l'un des plus populaires est
        perl.

     PPeerrll
        Perl est un langage de  script  particulierement  puissant,  qui
        combine  les  avantages  du  C,  des  differents  shells, et des
        langages de manipulations de flux comme awk ou sed. Par exemple,
        perl  possede  de  nombreux  modules  de manipulation de base de
        donnees SQL.

  33..  PPrroocceedduurree dd''iinnssttaallllaattiioonn

  33..11..  MMaatteerriieell rreeqquuiiss

  Aucune supposition ne peut etre faite sur les besoins en materiel d'un
  serveur de base de donnees. Cela depend trop du nombre d'utilisateurs,
  du  type  d'application,  de  la  charge  du  reseau,  etc.  Dans   un
  environnement  comprenant  peu  d'utilisateurs  et  un  trafic  reseau
  faible, un 486 ou equivalent, avec 16 MO de memoire  vive,  peut  etre
  suffisant.  Linux,  le  systeme  d'exploitation,  est tres efficace en
  termes de ressources, et peut fournir suffisamment de  puissance  pour
  faire  tourner un grand nombre d'applications en meme temps. Bien sur,
  un processeur plus puissant et plus de memoire vive signifient plus de
  puissance, mais la quantite de memoire vive est plus importante que le
  processeur. Plus le systeme a de memoire vive, moins il est oblige, en
  cas  de besoin, de swapper les processus les plus gourmands en memoire
  sur le disque.

  Avec un systeme equipe de 32 MO de memoire vive et d'un bus  PCI,  les
  recherches et operations de tri peuvent etre faites sans avoir recours
  au(x) fichier(s) d'echange (swap), donnant d'excellents resultats.

  L'installation decrite dans cet article a ete faite sur un IBM  686  a
  133MHz,  avec 32 MO de memoire vive et un disque dur IDE de 1.2 GO. La
  suite  du  document  presente  les   etapes   indispensables   a   une
  installation complete.

  33..22..  LLooggiicciieell

  Les  logiciels decrits dans cet article sont disponibles sur Internet,
  ou sur CD-ROM. Les produits suivants sont utilises :

  +o  Distribution Red Hat 4.2, parue pendant l'ete 1997, disponible  sur
     CD-ROM  (Red  Hat  Linux  PowerTools : 6 CD-ROM complets et prets a
     etre  utilises)  ou  sur  Internet,   sur   le   site   de   RedHat
     <http://www.redhat.com> ;

  +o  Base  de  donnees  SQL  msql  :  disponible  en  deux versions. Les
     differences entre ces deux versions resident dans le nombre maximum
     de  transactions  supporte,  l'interface  d'administration, etc. La
     version la plus ancienne, 1.0.16,  est  disponible  sur  les  sites
     miroirs de Sunsite. L'executable au format ELF peut etre trouve sur
     Sunsite, ou sur CD-ROM (en l'occurrence le disque 4 de  l'InfoMagic
     Linux  Developper's Resource, ensemble de 6 CD-ROM, decembre 1996),
     ou chez InfoMagic. La version la plus  recente,  2.0.1,  peut  etre
     obtenue  directement  de la page Web d'Hughes, en Australie, ou sur
     de nombreux sites miroirs dans le monde ;

  +o  Perl du CPAM : The Comprehensive Perl Archive Network. Sur  le  CD-
     ROM WalnutCreek, ISBN 1-57176-077-6, mai 1997 ;

  +o  L'exemple  de  programme  CGI  de Michael Schilli, dans le magazine
     informatique iX d'aout 1997, pages 150-152, disponible par ftp.

  33..33..  IInnssttaallllaattiioonn ddee ll''OOSS

  Linux est installe a partir de la distribution Red Hat Linux 4.2. Pour
  reussir  a  l'installer,  la  machine  doit avoir un lecteur de CD-ROM
  accessible a partir de MSDOS, un lecteur de CD-ROM bootable,  ou  bien
  encore  une  disquette  de  boot preparee selon les instructions du CD
  Linux.

  Pendant l'installation, l'utilisateur peut selectionner et  configurer
  de  nombreux  paquetages  logiciels.  Il  convient de selectionner les
  suivants :

  +o  support du protocole TCP/IP

  +o  le serveur http Apache

  +o  le langage Perl

  +o  le systeme XWindow

  +o  les navigateurs Arena (graphique) et Lynx (mode texte).

  Tous ces paquetages sont fournis avec la distribution Linux.  Si  vous
  ne  les  installez  pas maintenant, vous pourrez le faire plus tard en
  utilisant glint, le gestionnaire graphique  de  paquetages  logiciels.
  Assurez-vous  d'etre  connecte comme utilisateur root lorsque vous les
  installerez.

  Il n'est pas du ressort  de  cet  article  de  decrire  l'installation
  reseau,  ni  la  procedure  d'initialisation.  Pour cela, consultez la
  documentation en ligne (pages de manuel, HTML,  texinfo)  et  imprimee
  (Bible Linux, etc.).

  La  procedure d'installation de Red Hat est tres au point et necessite
  peu d'interaction de la part de l'utilisateur,  en  dehors  des  choix
  courants  (les noms de machines, par exemple). Une fois l'installation
  terminee, le systeme est pret a tourner.

  L'installation de XWindow n'est pas obligatoire pour le serveur,  mais
  cela  rend  les  acces  locaux et les tests plus faciles. La procedure
  d'installation de XWindow peut etre conduite par differents programmes
  ;  XF86Setup  offre le plus de facilite d'auto-test, et demande peu de
  connaissance des menus details (la programmation de  l'horloge  video,
  etc.).  La  seule  contrainte  est  que  le  logiciel  puisse detecter
  l'adaptateur video.  Des cartes graphiques acceleratrices  bon  marche
  (comme  les  cartes  basees  sur  le  chip  Trio S64, avant le S64UV+)
  fonctionnent sans aucun probleme.

  A partir de maintenant, nous supposons que le systeme tourne,  et  que
  Apache,  Perl et XWindow ont ete installes avec succes. Nous supposons
  de meme que les fichiers et structure de  repertoires  sont  tels  que
  definis dans l'installation. Enfin, nous laissons le nom de la machine
  tel quel, et pour le  moment,  supposons  que  c'est  localhost.  Nous
  utiliserons  ce  nom  pour  tous les tests d'installation ; des que le
  systeme fonctionnera, le veritable nom pourra etre ajoute.  Notez  que
  l'installation  reseau  suppose  d'editer le fichier /etc/hosts, entre
  autres. Cela peut etre pris en charge par les outils  d'administration
  fournis a l'utilisateur root.

  33..44..  LLee sseerrvveeuurr HHTTTTPP

  Le  serveur  HTTP fourni avec Linux est Apache, httpd pour le systeme.
  La page de manuel (man httpd) explique comment installer  et  demarrer
  le  demon http (donc http_d) mais, comme il a ete indique plus haut, si
  l'installation s'est  bien  passee,  le  serveur  HTTP  doit  tourner.
  Verifiez  l'arborescence  des  repertoires : le repertoire /home/httpd
  doit exister, avec trois sous-repertoires : ../cgi-bin/, ../html/  and
  ../icons/.   Dans  ../html/, vous devez trouver un fichier index.html.
  Plus tard, nous modifierons  ou  remplacerons  ce  fichier  par  notre
  propre  index.html.  Toute  la  configuration  se fait dans le fichier
  /etc/httpd/conf/.  Le systeme est correctement preconfigure et ne doit
  pas etre modifie, si l'installation s'est faite sans probleme.

  33..55..  LLeess nnaavviiggaatteeuurrss

  Il  existe  trois  types  de  navigateurs disponibles sous Linux : les
  logiciels purement textuels, comme  Lynx,  des  logiciels  simples  et
  experimentaux  comme  Arena  (gratuit)  et  des logiciels commerciaux,
  comme Netscape (partagiciel !)  avec support de  Java  integre.  Alors
  que Lynx et Arena sont fournis avec Linux, Netscape doit etre recupere
  par d'autres sources. Netscape est disponible sous  forme  de  fichier
  binaire  precompile  pour  Linux  sur architecture ix86 et tourne "tel
  quel" une fois l'archive decompressee.

  33..55..11..  CCoonnffiigguurraattiioonn ddee LLyynnxx

  Une fois Lynx demarre, il cherche une 'URL par  defaut'  qui  n'existe
  pas  toujours  si  le systeme n'a pas d'acces Internet permanent. Pour
  changer  cette  URL  par  defaut  (ainsi  que  d'autres   details   de
  configuration),    l'administrateur    doit    editer    le    fichier
  /usr/lib/lynx.cfg. Ce fichier  est  gros,  environ  57000  octets,  et
  contient  des informations quelquefois contradictoires. Il etablit son
  propre repertoire dans /usr/local/lib. Au debut du fichier figure  une
  ligne  commencant par STARTFILE. Remplacez cette ligne par la suivante
  :  STARTFILE:http://localhost,  en  vous  assurant  qu'il  n'y  a  pas
  d'espace en trop :
  ______________________________________________________________________
  # STARTFILE:http://www.nyu.edu/pages/wsn/subir/lynx.html
  STARTFILE:http://localhost
  ______________________________________________________________________

  Apres  avoir  enregistre le fichier, Lynx doit maintenant ouvrir notre
  index.html s'il est lance sans argument.

  33..55..22..  CCoonnffiigguurraattiioonn dd''AArreennaa

  S'il est lance sans argument, Arena  recherche  son  URL  par  defaut.
  Cette URL est codee en dur dans l'executable, mais peut etre redefinie
  en utilisant la variable  d'environnement  WWW_HOME.  L'administrateur
  systeme  peut  placer la ligne suivante dans le fichier /etc/profile :
  WWW_HOME="http://localhost". Cette variable doit etre  exportee,  soit
  par  l'ajout  de la ligne adequate (export WWW_HOME), soit en ajoutant
  WWW_HOME a la ligne d'export courante :

  ______________________________________________________________________
  WWW_HOME="http://localhost"
  export WWW_HOME
  ______________________________________________________________________

  A la prochaine connexion, la nouvelle  URL  par  defaut  d'Arena  sera
  connue du systeme.

  33..55..33..  IInnssttaallllaattiioonn eett CCoonnffiigguurraattiioonn ddee NNeettssccaappee

  Netscape  etait  un  produit commercial, et n'est donc pas inclus dans
  les anciennes distributions Linux. Neanmoins,  il  est  telechargeable
  par  Internet,  ou  accessible  a  partir de certaines compilations de
  logiciels sur CD-ROM. Netscape est fourni sous la  forme  de  fichiers
  binaires  precompiles pour les plates-formes les plus courantes. Avant
  de   l'installer,   il   est   utile   de    creer    le    repertoire
  /usr/local/Netscape,  dans lequel l'archive sera decompactee. Tous les
  fichiers doivent rester a cette place (sauf  la  bibliotheque  Java  :
  suivez  les instructions du fichier README fourni avec les binaires de
  Netscape),  et  il  suffira  de  creer   un   lien   symbolique   avec
  /usr/local/bin par la commande :

  # ln -s /usr/local/Netscape/netscape .

  depuis le repertoire /usr/local/bin/.

  Netscape  est  maintenant  pret a etre utilise, et peut etre configure
  par le menu "Options". Dans "General Preferences", il y  a  un  onglet
  intitule  "Appearance",  avec un champ de saisie "Home Page Location".
  Tapez http://localhost, et n'oubliez pas de  sauvegarder  les  options
  (par  le  menu "Options" -- "Save Options") avant de quitter Netscape.
  Au prochain demarrage, Netscape presentera la page d'accueil d'Apache.

  33..66..  LLeess nnaavviiggaatteeuurrss aavveecc AAppaacchhee

  Faites maintenant le premier test d'Apache avec un navigateur : lancez
  simplement l'un des navigateurs disponibles, et il affichera  la  page
  d'accueil  Apache  :  Red  Hat Linux Web Server. Cette page indique la
  localisation  des  fichiers  et   d'autres   informations   concernant
  l'installation  du  serveur  http.   Si  cette  page ne s'affiche pas,
  verifiez que les fichiers cites plus haut sont bien en place et que la
  configuration  du  navigateur  est  correcte.  Fermez  les fichiers de
  configuration avant de demarrer de nouveau le navigateur. Si tous  les
  fichiers  sont  installes  et  que  le  navigateur semble correctement
  configure, examinez la configuration du reseau.  Ou  bien  le  nom  de
  votre   machine   est   different   de   celui  specifie  lors  de  la
  configuration, ou bien la configuration reseau n'est pas correcte.  Il
  est  particulierement  important  que /etc/hosts contienne au moins la
  ligne suivante :

  ______________________________________________________________________
  127.0.0.1                     localhost localhost.localdomain
  ______________________________________________________________________

  qui suppose que vous pouvez vous connecter localement. Vous pouvez  le
  verifier  en lancant une commande reseau qui reclame un nom de machine
  comme argument, comme telnet localhost (en supposant que  telnet  soit
  installe).  Si  cela  ne  fonctionne pas, la configuration reseau doit
  etre controlee avant de continuer l'intallation.

  33..77..  LLaa BBaassee ddee ddoonnnneeeess eett ssoonn iinnssttaallllaattiioonn

  L'installation  de  la  base  de  donnees  demande  a  peine  plus  de
  preparation  que  les  etapes  precedentes. Il y a quelques moteurs de
  base de donnees SQL disponibles, avec des contraintes d'administration
  et d'execution differentes ; l'un des plus simples est msql, dit aussi
  "Mini-SQL", ecrit par David Hughes.  Msql  est  un  "partagiciel".  En
  fonction de la version utilisee, les sites commerciaux sont redevables
  de 250 US$, voire plus, les utilisateurs prives d'au moins 65 US$,  et
  seules  les  institutions  scolaires  et  les  entreprises  a  but non
  lucratif peuvent utiliser ce logiciel librement. Les termes exacts des
  droits  figurent  dans  la  documentation  de  la base de donnees. Les
  elements donnees ici ne sont qu'indicatifs.

  Tout d'abord, voici en quelques mots pourquoi l'auteur a choisi  msql.
  Il y a tout d'abord une experience personnelle.  Alors qu'il cherchait
  une base de donnees, l'auteur a trouve que msql etait la plus facile a
  installer et a maintenir, et qu'elle couvrait un ensemble suffisamment
  large du langage SQL pour convenir a une utilisation classique.  C'est
  seulement  en ecrivant ces lignes que l'auteur a decouvert cette eloge
  dans la DBI FAQ d'Alligator Descartes (la FAQ interface perl aux bases
  de donnees) :

       Du  point de vue de l'auteur, si le volume de donnees est relativement
       faible, les tables contenant moins d'1 million de lignes,  avec  moins
       de 1000 tables dans une base donnee, alors msql constitue une solution
       parfaitement acceptable. Cette base de donnees est  tres  bon  marche,
       extraordinairement solide, et offre un excellent support, ...

  Mqsl  est  disponible en deux versions, msql-1.0.16 et msql-2.0.1, qui
  different par leurs performances (cela  n'est  sensible  que  sur  des
  petits  projets) et les logiciels les accompagnant (la version la plus
  recente dispose de plus d'outils, de son  propre  langage  de  script,
  etc.).   Nous   decrirons   les  deux  versions  de  msql,  car  leurs
  installations se distinguent par quelques aspects.

  33..77..11..  IInnssttaallllaattiioonn ddee mmssqqll--11..00..1166

  Msql est disponible sous forme de sources et de  binaires  precompiles
  au format ELF. L'utilisation des binaires ELF rend l'installation plus
  simple,  car  l'archive  msql-1.0.16.ELF.tgz  contient  une  copie  de
  l'arborescence d'installation, pour que les repertoires soient generes
  correctement lors du decompactage dans le repertoire /.

  Si vous decidez de compiler msql-1.0.16 vous-meme, et que vous  voulez
  utiliser  le  paquetage MsqlPerl plutot que l'interface DBI (voir plus
  loin  une  presentation  detaillee  des  difference  entre  les   deux
  strategies),  alors attendez-vous a ce que MsqlPerl rapporte, lors des
  tests  d'installation,  des  erreurs  dans  msql.  Dans  ce  cas,  une
  correction  sera  necessaire, expliquee dans la documentation MsqlPerl
  (fichier patch.lost.tables). En  l'occurrence,  il  faut  inclure  les
  trois  lignes  suivantes dans msqldb.c, apres la ligne 1400, contenant
  entry->def = NULL; :

       *(entry->DB) = 0;
       *entry->table) = 0;
       entry->age = 0;

  Cette partie de code doit maintenant etre la suivante :

  ______________________________________________________________________
        freeTableDef(entry->def);
        safeFree(entry->rowBuf);
        safeFree(entry->keyBuf);
        entry->def = NULL;
        *(entry->DB) = 0;
        *entry->table) = 0;
        entry->age = 0;
  ______________________________________________________________________

  La  compilation  de  msql  comprend  plusieurs  etapes.  Apres   avoir
  decompacte   l'archive   contenant  les  sources,  il  faut  creer  un
  repertoire destination. Cela se fait avec la commande suivante :

  # make target

  Si tout se passe bien, le systeme repond avec

       Build of target directory for Linux-2.0.30-i486 complete

  Vous pouvez maintenant aller dans le  repertoire  que  vous  venez  de
  creer, et taper d'abord la commande

  # ./setup

  La  sequence  ./  est  necessaire pour s'assurer que la commande setup
  executee est bien celle du repertoire courant, et non  une  autre  qui
  aurait  le  meme  nom.  On va maintenant vous poser quelques questions
  concernant le repertoire source,  et  la  localisation  du  repertoire
  d'installation.  Une  fois  que  ces questions ont eu leur reponse, le
  systeme  lance  quelques  tests  pour  verifier  que   les   logiciels
  necessaires  (compilateurs,  utilitaires  divers, etc.) sont presents,
  puis finalement repond

       Ready to build mSQL.

       You may wish to check "common/site.h" although the defaults should  be
       fine. When you're ready, type "make all" to build the software

  Il faut alors taper

  # make all

  Si tout fonctionne comme prevu, nous devons alors lire :

       make2 : leaving directory '/usr/local/Minerva/src/msql' <-- msql done

       Make of mSQL complete.  You should now install mSQL using make install

       NOTE : mSQL cannot be used free of charge at commercial sites.  Please
       read the doc/License file to see what you have to do.

       make1 : Leaving directory '/usr/local/Minerva/src'

  Tous  les binaires doivent etre accessibles, par exemple en creant des
  liens  symboliques  dans  /usr/local/bin/.   Deplacez-vous   dans   ce
  repertoire et tapez la commande

       # ln -s /usr/local/Minerva/bin/* .

  apres quoi les liens sont correctement construits.

  33..77..22..  TTeesstt ddee  mmssqqll--11

  Apres   l'installation,  il  est  maintenant  possible  de  tester  le
  fonctionnement de la base de donnees. Avant toutes choses, le  serveur
  doit  etre  demarre. L'administrateur systeme, grace aux privileges du
  compte utilisateur root, lance la commande

  # msqld &

  (n'oubliez pas d'ajouter le &, sinon msql ne tournerait pas  en  tache
  de fond.), apres quoi le message suivant doit apparaitre :

       mSql Server 1.0.16 starting ...

       Warning : Couldn't open ACL file : No such file or directory
       Without an ACL file global access is Read/Write

  Ce  message  indique  que  tout  fonctionne  correctement,  a  part la
  configuration des  droits  d'acces.  Pour  le  moment,  il  suffit  de
  demarrer le serveur msql a partir d'un shell, mais vous pourrez par la
  suite vouloir le demarrer automatiquement  au  lancement  du  systeme.
  Cette  commande  doit  alors  etre  ajoutee  dans  un  des  scripts du
  repertoire rc.d. Seul l'administrateur systeme peut lancer la premiere
  commande typique d'une base de donnees (creation de la premiere table)
  :

  # msqladmimn create inventur

  msql repond alors Database "inventur" created. Comme preuve supplemen-
  taire,   vous  pouvez  constater  que  le  repertoire  /usr/local/Min-
  erva/msqldb/ contient maintenant le repertoire ../inventur, vide  pour
  l'intant.  Vous  pouvez  manipuler  la  nouvelle  base avec les outils
  d'administration, qui sont decrits en  detail  dans  la  documentation
  msql.

  33..77..33..  IInnssttaallllaattiioonn ddee mmssqqll--22..00..11

  Une  nouvelle  version,  plus  puissante, du serveur mSQL d'Hugues est
  maintenant  disponible.  Son  installation  est  un  peu   differente.
  Installer  msql-2  de  zero  necessite  les  etapes  suivantes. Copiez
  l'archive a l'endroit  ou  vous  souhaitez  l'installer,  par  exemple
  /usr/local/msql-2/, puis decompressez-la :

  # tar xfvz msql-2.0.1.tar.gz

  Positionnez vous a la racine de l'arborescence d'installation et tapez

  # make target

  Placez vous dans le repertoire targets et verifiez le  type  de  votre
  machine.  Il  devrait  y avoir un nouveau sous-repertoire Linux-_(_v_o_t_r_e
  _v_e_r_s_i_o_n_)_-_v_o_t_r_e _c_p_u_). Allez dans ce repertoire et  lancez  l'utilitaire
  de configuration qui s'y trouve :

  # ./setup

  Il  y  a aussi un fichier site.mm qui peut etre edite. Peut-etre avez-
  vous deja utilise le repertoire /usr/local/Minerva/ et  souhaitez-vous
  le  conserver intact ? Dans ce cas, changez la ligne INST_DIR=... pour
  indiquer le  repertoire  destination  qui  vous  convient.  Sinon,  ne
  changez rien.

  Maintenant, vous pouvez contruire la base de donnees :

  # make
  # make install

  Si tout marche bien, vous verrez ce message :

       [...]

       Installation of mSQL-2 complete.

       *********
       **  This is the commercial, production release of mSQL-2.0
       **  Please see the README file in the top directory of the
       **  distribution for license information.
       *********

  Une   fois  que  tout  est  installe  correctement,  vous  devez  vous
  preoccuper de certains details d'administration.  C'est  ici  que  les
  differences  avec  msql-1 commencent. D'abord, un utilisateur msql est
  cree, et est responsable de l'administration de la base de donnees.

  # adduser msql

  Maintenant, vous devez changer les proprietaire et groupe de tous  les
  fichiers dans le repertoire de mSQL en tapant :

  # cd /usr/local/Minerva
  # chown -R msql:msql *

  Enfin,   vous  pouvez  creer  les  liens  symboliques  pour  tous  les
  executables de la base de donnees dans /usr/local/bin/ en  lancant  la
  commande :

  # ln -s /usr/local/Minerva/bin/* .

  33..77..44..  TTeesstt ddee mmssqqll--22

  Demarrez maintenant le serveur de la base en tapant la commande msql2d
  &, vous devriez obtenir cette reponse :

       Mini SQL Version 2.0.1
       Copyright (c) 1993-4 David J. Hugues
       Copyright (c) 1995-7 Hughes Technologies Pty. Ltd.
       All rights reserved.

            Loading configuration from '/usr/local/Minerva/msql.conf'.
            Server process reconfigured to accept 214 connections.
            Server running as user 'msql'.
            Server mode is Read/Write.

       Warning : no ACL file. Using global read/write access.

  Tout est parfait. La base est compilee et installee, et  nous  pouvons
  maintenant  continuer  avec  les  modules perl puisqu'ils demandent la
  presence d'un serveur de base de donnees operationnel pour les  tests.

  Au  fait,  ce  moment  est  bien choisi pour imprimer la documentation
  complete livree avec msql-2.0.1 :

  # gzip -d manual.ps
  # lpr manual.ps

  Nous pouvons maintenant poursuivre la mise en  place  des  interfaces,
  mais  il est judicieux de laisser le nouveau serveur SQL tourner: cela
  ne fera que faciliter les tests des bibliotheques d'interface.

  33..88..  LLeess ddiiffffeerreenntteess IInntteerrffaacceess :: DDBBII//mmSSQQLL,, MMssqqllPPeerrll,, eett LLiittee

  Une  phrase  frequemment citee dans le Camel Book (la documentation de
  reference de perl) affirme  qu'il  y  a  toujours  plusieurs  manieres
  d'obtenir un resultat avec perl. Helas, cela est vrai aussi avec notre
  application. Il y a trois methodes pour acceder a une base de  donnees
  msql  par  l'intermediaire  de  CGI.  Tout d'abord, la question est de
  savoir s'il faut ou non utiliser perl. Dans le  premier  cas  (suppose
  dans   ce  document),  il  y  a  encore  le  choix  entre  deux  types
  completement differents d'interface. Si nous n'employons pas perl,  il
  reste  la  solution  d'employer  le  langage  de script propre a msql,
  appele Lite, qui est relativement proche du langage C, en plus simple.

  33..88..11..  DDBBII eett DDBBDD--mmSSQQLL

  Au  moment  de  la  redaction  de  ce document, c'est l'utilisation de
  l'interface generique de base de donnees appelee DBI qui est preferee.
  DBI  a quelques avantages. Elle fournit un controle d'acces standard a
  de nombreuses base  de  donnees  commerciales,  et  ce  avec  le  meme
  ensemble  de  commandes.  La  base de donnees en fonctionnement sur un
  systeme donne est  alors  interrogee  par  une  interface  qui  masque
  efficacement   les  caracteristiques  specifiques  de  cette  base  au
  programmeur.  Ainsi,  DBI  fournit  une   passerelle   pratique   pour
  travailler  avec differentes bases de differents auteurs. Avec un seul
  script, il est possible de communiquer avec plusieurs bases de donnees
  differentes.  Le lecteur interesse peut consulter la DBI-FAQ pour plus
  de details. Il y a cependant un inconvenient : l'interface DBI est  en
  cours  de  developpement et aligne les versions a une allure galopante
  (quelques fois avec plusieurs mises a jour par  mois).  De  meme,  les
  pilotes  de  bases  de donnees sont frequemment mis a jour, et peuvent
  etre bases sur des versions specifiques  de  l'interface  de  base  de
  donnees. Les utilisateurs faisant une premiere installation doivent se
  limiter aux numeros de version donnes dans ce document,  car  d'autres
  versions  peuvent  poser des problemes de compilation et de test, dont
  la resolution n'est pas une affaire de neophyte.

  33..88..22..  MMssqqllPPeerrll

  MsqlPerl est une bibliotheque  permettant  l'acces  direct  a  msql  a
  partir  de  programmes  ecrits en perl. Elle n'utilise pas l'interface
  DBI et est tres compacte. Bien qu'elle fonctionne tres bien  avec  les
  deux  versions  de  msql,  son usage n'est pas conseille par rapport a
  l'interface DBI, qui tend a  se  generaliser.  Neanmoins,  suivant  le
  systeme,  c'est  une alternative interessante, car la bibliotheque est
  petite et facile a installer. Notamment, il y a  moins  de  dependance
  par  rapport aux numeros de version que celles constatees entre DBI et
  les pilotes de base de donnees.

  33..88..33..  LLee llaannggaaggee ddee ccoommmmaannddee pprroopprree ddee mmssqqll :: LLiittee

  Enfin, msql-2 fournit son  propre  langage  de  commande  :  Lite.  Ce
  langage   est   proche   du  C,  assaini  et  complete  avec  quelques
  fonctionnalites du type 'shell' (d'une  certaine  maniere,  c'est  une
  version  specialisee  de  perl).  Lite  est  un langage simple et bien
  documente dans le manuel msql-2. Le paquetage msql-2  livre  aussi  en
  exemple un application utilisant Lite.

  Nous  ne  decrirons pas ici Lite, car il est trop specifique de msql-2
  (et deja documente !), et parce que le  lecteur  est  cense  avoir  un
  certain  interet  pour perl, et en avoir de bonnes notions. Neanmoins,
  il est recommande d'y jeter un coup  d'oeil  :  il  peut  s'averer  la
  solution  ideale dans un environnement ne mettant en oeuvre que msql-2
  (en supposant donc qu'aucune autre base n'est utilisee),  grace  a  sa
  simplicite.

  33..99..  LLaa ssoolluuttiioonn ssttaannddaarrdd :: DDBBII eett DDBBDD--mmssqqll

  Nous  supposons  que  perl  a ete installe pendant la configuration du
  systeme, ou en utilisant le gestionnaire de paquetage  mentionne  plus
  haut.  Aucun  detail supplementaire ne sera donne ici. Neanmoins, nous
  allons d'abord tester si notre version de perl est recente :

  # perl -v

  perl doit repondre avec le message suivant :

       This is perl, version 5.003 with EMBED
               Locally applied patches:
                 SUIDBUF - Buffer overflow fixes for suidperl security

               built under linux at Apr 22 1997 10:04:46
               + two suidperl security patches

       Copyright 1987-1996, Larry Wall
       [...]

  Jusque la, tout va bien. L'etape suivante  consiste  a  installer  les
  bibliotheques  generales  perl  pour  les  bases  de donnees (DBI), le
  pilote msql (DBD-mSQL) et CGI. Le pilote CGI est necessaire dans  tous
  les cas. Les archives suivantes sont utilisees :

  1. DBI-0.8.1.tar.gz

  2. DBD-mSQL-0.65.tar.gz

  3. CGI.pm-2.31.tar.gz (ou plus recent>

  Une  precision  est necessaire ici pour les debutants : le test decrit
  ici  fonctionne  tres  bien  a  condition  d'utiliser  _e_x_a_c_t_e_m_e_n_t  les
  versions   recommandees  de  logiciels  ;  des  combinaisons  d'autres
  versions peuvent echouer a un moment ou a un autre.  Le  deboguage  de
  combinaisons de versions incompatibles est une affaire de specialistes
  des interfaces d'appel. Quelquefois, seule une methode change  de  nom
  alors  qu'elle  fait la meme chose, mais d'autres fois, les structures
  internes changent de maniere significative.  Donc,  encore  une  fois,
  tenez-vous  en  aux numeros indiques de versions si vous ne voulez pas
  de probleme, et ce meme si vous constatez que les versions ont  encore
  change  dans  l'intervalle. Il est normal de voir les versions evoluer
  rapidement, et vous devez vous attendre a des problemes en  installant
  d'autres versions que celles conseillees ici.

  Il  est tres important que le pilote de base pour mSQL (DBD-mSQL) soit
  installe _a_p_r_e_s l'interface generique DBI.

  Nous commencons par creer le repertoire _/_u_s_r_/_l_o_c_a_l_/_P_e_r_l_M_o_d_u_l_e_s car  il
  est  important  de  conserver l'arborescence initiale de perl intacte.
  Nous pourrions aussi choisir un autre nom de  repertoire  ;  cela  n'a
  strictement  aucune  importance, malheureusement aucune recommandation
  n'est faite dans les fichiers README des differents modules perl.  Une
  fois    recopiees    les    archives    precedemment    citees    dans
  /usr/local/PerlModules, nous les decompactons en tapant

       # tar zxvf [archive-file]

  pour chacune des trois archives. N'oubliez pas d'indiquer le vrai  nom
  de  l'archive  a  la  commande tar. Le processus d'installation de ces
  trois archives est tres  standard  ;  seuls  les  messages  de  sortie
  concernant les etapes les plus importantes sont reproduits ici.

  33..99..11..  IInnssttaallllaattiioonn ddee ll''iinntteerrffaaccee ppeerrll ddee bbaassee ddee ddoonnnneeeess DDBBII

  L'interface de la base de donnees doit avoir ete  installee  avant  le
  pilote  specifique a la base. Le decompactage de l'archive DBI cree le
  repertoire  /usr/local/PerlModules/DBI-0.81/.  Placez-vous   dans   ce
  repertoire.  Il  y  a  un fichier README (que vous devriez lire) et un
  makefile specifique pour perl. Maintenant, tapez la commande

  # perl Makefile.PL

  Le systeme doit repondre avec un long message dont la partie  la  plus
  importante figure ci-dessous :

       [...]
       MakeMake (v5.34)
       Checking if your kit is complete ...
       Looks good
            NAME => q[DBI]
            PREREQ_PM => { }
            VERSION_FROM => q[DBI.pm]
            clean => { FILES=>q[$(DISTVNAME) /] }
            dist => { DIST_DEFAULT=>q[clean distneck disttest [...]
       Using PERL=/usr/bin/perl

       WARNING! By default new modules are installed into your 'site_lib' directories. Since site_lib directories
       come after the normal library directories you MUST delete old DBI files and directories from your 'privlib'
       and 'archlib' directories and their subdirectories.

       Writing Makefile for DBI

  Comme le programme l'indique, tout va bien, et nous pouvons poursuivre
  avec l'etape suivante :

  # make

  Si aucun message d'erreur n'apparait (les traces detaillees  affichees
  sur  l'ecran  _n_e sont _p_a_s un message d'erreur), nous pouvons tester la
  librairie nouvellement installee avec la commande

  # make test

  Sur l'affichage, guettez les lignes suivantes  (vous  pouvez  toujours
  revenir en arriere avec la touche [Shift]-[PgUp]) :

       [...]
       t/basics............ok
       t/dbidrv............ok
       t/examp.............ok
       All tests successful.
       [...]
       DBI test application $Revision: 1.20 $
       Switch: DBI-0.81 Switch by Tim Bunce, 0.81
       Available Drivers: ExampleP, NullP, Sponge
       ExampleP: testing 2 sets of 5 connections:
       Connecting... 1 2 3 4 5
       Disconnecting...
       Connecting... 1 2 3 4 5
       Disconnecting...
       Made 10 connections in 0 seconds ( 0.00 usr  0.00 sys = 0.00 cpu)

       test.pl done

  La  derniere  etape est l'installation de tous les fichiers dans leurs
  repertoires respectifs. La commande suivante s'en occupe :

  # make install

  Il n'y a plus rien a faire.  Si  pour  quelque  raison  que  se  soit,
  l'installation  echoue  et  que vous vouliez la recommencer, n'oubliez
  pas de taper d'abord la commande

  # make realclean

  Cela  supprimera  toutes  les  traces  laissees  par   la   precedente
  installation.  Vous  pouvez  aussi supprimer les fichiers installes en
  copiant le contenu de l'ecran (montre ici abrege)

       Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBIXS.h
       Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBI.so
       Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBI.bs
       [...]
       Writing /usr/lib/perl5/site_perl/i386-linux/auto/DBI/.packlist
       Appending installation info to /usr/lib/perl5/i386-linux/5.003/perllocal.po

  dans un fichier, en remplacant Installing par rm. Si vous avez appelle
  ce fichier uninstall vous pouvez alors taper

  # . uninstall

  ce qui effacera les derniers fichiers installes.

  33..99..22..  LLee ppiilloottee mmssqqll ddee ppeerrll :: DDBBDD--mmSSQQLL

  Le  pilote  msql  pourra  etre  installe seulement _a_p_r_e_sl'installation
  reussie de l'interface perl generique de base de donnees.

  Les etapes de l'installation  sont  pratiquement  les  memes  que  les
  precedentes, donc commencez par taper

  # perl Makefile.PL

  La,  le  systeme doit repondre avec un avertissement vous demandant de
  lire la  documentation  accompagnant  le  logiciel.   Ensuite,  il  va
  detecter  ou  se  trouve  msql,  et  vous  demande quelle version vous
  utilisez :

  $MSQL_HOME not defined. Searching for mSQL...
  Using mSQL in /usr/local/Hughes

  -> Which version of mSQL are you using [1/2]?

  Entrez la version correcte. Quelques lignes de texte suivent.  Guettez
  les suivantes :

       Splendid! Your mSQL daemon is running. We can auto-detect your configuration.

       I've auto-detected your configuration to be running on port: 1114

  Vous pouvez maintenant tester le pilote en tapant

  # make test

  Encore  une  fois,  plusieurs  lignes  sont  affichees.  Si  elles  se
  terminent par

       Testing: $cursor->func( '_ListSelectedFields' )/ This will fail.
            ok: not a SELECT in msqlListSelectedFields!
       Re-testing: $dbh->do( 'DROP TABLE testaa' )
            ok
       *** Testing of DBD::mSQL complete! You appear to be normal! ***

  tout va bien, et vous pouvez lancer l'installation du pilote en tapant

  # make install

  Vous etes pret a continuer et pouvez sauter le paragraphe suivant.

  33..1100..  LL''iinntteerrffaaccee MMssqqllPPeerrll

  Si  vous decidez d'utiliser l'interface globale MsqlPerl, aucun pilote
  particulier n'est necessaire ;  seule  l'archive  MsqlPerl-1.15.tar.gz
  est utilisee, puisque, comme cela a deja ete dit, MsqlPerl fournit une
  interface directe entre perl et le serveur de base  de  donnees,  sans
  utiliser l'interface DBI. L'installation et le test sont tres faciles.

  Apres avoir tape perl Makefile.PL, l'utilitaire make peut etre active.
  Vous  devez  d'abord  indiquer  ou  se  trouve  mSQL.  S'il  est  dans
  /usr/local/Minerva/, la reponse par defaut peut etre validee.

  Ensuite, tapez make test. Avant cela, vous devez vous assurer qu'il  y
  a  bien une base nommee test et que vous avez les droits d'ecriture et
  lecture dessus. Cela peut etre fait avec

  # msqladmin create test

  33..1111..  BBiibblliiootthheeqquuee CCGGII ddee ppeerrll

  L'installation de l'interface CGI de perl est la plus simple des trois
  etapes. Lancez les commandes dans l'ordre donne, et voila :

  # perl Makefile.PL
  # make
  # make install

  Contrairement  aux autres pilotes, cette interface n'a pas d'option de
  test (# make test), alors que les autres modules _d_o_i_v_e_n_t  etre  testes
  dans tous les cas.

  Un  sous-repertoire  avec  les  exemples  CGI est cree. Vous pouvez en
  copier le contenu vers /home/httpd/cgi-bin/ et utiliser un  navigateur
  pour jouer avec les scripts.

  33..1122..  CChheecckk--lliisstt ddee ll''iinnssttaallllaattiioonn

  Nous avons effectue les etapes suivantes, dans cet ordre:

  1. Installation de Linux avec support reseau

  2. Installation d'un serveur http, par exemple Apache

  3. Installation d'un navigateur, par exemple Arena, Lynx ou Netscape

  4. Installation d'un serveur SQL, par exemple msql

  5. Installation d'une interface perl SQL convenable

  6. Installation des fichiers CGI

  A  la fin, vous devez faire un peu de menage. Toutes les arborescences
  des sources msql et les  modules  perl  peuvent  etre  detruites  sans
  inconvenient  (cependant,  vous  ne  devriez pas detruire les fichiers
  archives !) puisque les binaires et la documentation  sont  maintenant
  dans des repertoires differents.

  44..  UUnn eexxeemmppllee ddee BBaassee ddee DDoonnnneeeess

  Apres   avoir   termine  la  procedure  d'installation,  nous  pouvons
  maintenant lancer l'application donnee en exemple. En fonction  de  la
  version  de  msql  installee  et  de  l'interface  perl utilisee, nous
  devrons modifier un peu ce programme.

  Tout   d'abord,   le   fichier   index.html,   dans   le    repertoire
  /home/httpd/html/   doit   etre  modifie  pour  appeler  l'application
  exemple. Nous pouvons mettre notre  base  (que  nous  pouvons  appeler
  database.cgi ou inventur.cgi) dans /home/httpd/html/test.

  Nous  ajoutons  une  ligne  parmi  les  suivantes  dans  index.html (a
  choisir, bien sur, en fonction des choix d'installation) :

  ______________________________________________________________________
  <LI>Test the <A HREF="test/database.cgi">Database, DBI:DBD-mSQL style!</A>
  <LI>Test the <A HREF="test/inventur.cgi">Database, MsqlPerl style!</A>
  ______________________________________________________________________

  Vous ne devez  en  principe  choisir  qu'une  seule  des  deux  lignes
  precedentes,  mais  vous  pouvez, si vous avez installe les deux types
  d'interface, laisser les deux  lignes  telles  quelles.  Vous  pourrez
  alors comparer les performances.

  44..11..  AAddaappttaattiioonn ddee ll''eexxeemmppllee ddee ssccrriipptt ppoouurr MMssqqllPPeerrll

  Il est necessaire d'indiquer, dans notre exemple de script, qu'il faut
  utiliser l'interface MsqlPerl.  La  modification  doit  etre  faite  a
  plusieurs  endroits.  D'abord, au debut du fichier, il faut changer la
  clause use :

       # use DBI;                 # Generisches Datebank-Interface
       use Msql;

  Ensuite, a la ligne 27, MsqlPerl n'exige pas la  mention  d'un  pilote
  particulier  :

       # $dbh = DBI->connect($host, $database, '', $driver) ||
       $dbh = Msql->connect($host, $database) ||

  A  partir  de  la  ligne 33 et pour tout le script, changez toutes les
  occurrences de do par query :

       # $dbh->do("SELECT * FROM hw") || db_init($dbh);
       $dbh->query("SELECT * FROM hw") || db_init($dbh);

  Enfin, dans le  laius  MsqlPerl,  la  ligne  207  peut  etre  mise  en
  commentaire :

       # $sth->execute || msg("SQL Error: $sth->errstr);

  De  plus,  il peut etre necessaire de remplacer tout les appels errstr
  tels que celui de la ligne precedente par errmsg. Cela  depend  de  la
  version utilisee.

  Apres ces modifications, le script doit tourner correctement.

  44..22..  AAddaappttaattiioonn ddee ll''eexxeemmppllee ppoouurr mmssqqll--22

  La  syntaxe  SQL  a  subi  des  changements durant le developpement de
  msql-2.  Le  script  original   n'executera   pas   les   instructions
  d'initialisation  de  la  table,  aux lignes 45 -- 48. Le modificateur
  primary key n'est plus compris par msql-2, et doit etre supprime :

         $dbh->do(<<EOT) || die $dbh->errstr;   # Neue Personen-Tabelle
             create table person (
       # We do not need the 'primary key' modifier anymore in msql-2!
       #           pn    int primary key,    # Personalnummer
                   pn    int,                # Personalnummer
                   name  char(80),           # Nachname, Vorname
                   raum  int                 # Raumnummer
                 )
       EOT
         $dbh->do(<<EOT) || die $dbh->errstr;   # Neue Hardware-Tabelle
             create table hw (
       # We do not need the 'primary key' modifier anymore in msql-2!
       #           asset   int primary key,    # Inventurnummer
                   asset   int,                # Inventurnummer
                   name    char(80),           # Bezeichnung
                   person  int                 # Besitzer
                 )
       EOT

  Malheureusement,  ce  script  particulier  acceptera  maintenant   les
  enregistrements   avec   des   numeros   personnels  identiques  ;  le
  modificateur msql-1 primary key etait justement la pour  eviter  cela.
  La documentation msql2 indique comment utiliser la clause CREATE INDEX
  pour creer des entrees uniques.

  55..  CCoonncclluussiioonn

  Si vous avez installe msql-2 sur votre systeme, vous  pouvez  regarder
  les  exemples  de programmes ecrits avec Lite, le langage de script de
  msql-2.

  Chaque  version  de  msql  est  livree  avec   un   minimum   d'outils
  d'administration,  qui permettent a l'utilisateur de creer et detruire
  des tables (msqladmin) et  d'examiner  la  structure  de  la  base  de
  donnees (relshow).

  Msql   deuxieme  generation  (c'est-a-dire  msql-2)  possede  quelques
  utilitaires  de  plus  :  msqlimport  et  msqlexport.  Ils  permettent
  d'inserer  et  d'extraire  des  donnees de la base SQL, a partir de et
  vers des fichiers. Ces utilitaires peuvent etre utilises pour, _e_n  _u_n_e
  _s_e_u_l_e  _p_a_s_s_e,  charger ou extraire de grandes quantites de donnees, et
  cela sans que l'utilisateur ait a se soucier d'ecrire _u_n_e _s_e_u_l_e  ligne
  de perl, de SQL, ni meme de n'importe quoi.

  Si  vous  voulez ecrire votre propre script perl de gestion de base de
  donnees,  vous  trouverez  suffisamment  d'aide  dans   les   fichiers
  d'exemples,  et  dans  la  volumineuse  documentation en ligne qui est
  livree avec le module DBI.

  Dans tous les cas, vous etes maintenant prets a  publier  vos  donnees
  sur votre reseau, et meme sur le Web.