Le but de ce document est de fournir une liste de pointeurs/URL détaillée de façon à mettre rapidement en oeuvre PostgreSQL et de mettre en avant l'intérêt des systèmes à Code Source Ouvert tel que PostgreSQL, Linux.
Tout système informatique au monde a besoin d'une base de données pour stocker/retrouver les informations. La première raison pour laquelle on utilise un ordinateur est de stocker, retrouver et traiter l'information et de faire cela très rapidement, et donc, de faire économiser du temps. En même temps, le système doit être simple, robuste, rapide, fiable, économique et d'utilisation aisée. La Base de Données constitue une PARTIE VITALE DU SYSTÈME des plus importantes car elle contient les données indispensables de toute compagnie au monde. Les systèmes de gestion de base de données les plus courants sont basés sur les spécifications ISO (International Standard Organisation) SQL lesquelles sont également basées sur les normes américaines ANSI SQL. Les spécifications les plus courantes généralement utilisées sont l'ISO/ANSI SQL 1992. La prochaine norme, encore en cours de développement est la SQL 1998/99 aussi appelée SQL-3. Les systèmes de gestion de bases de données les plus répandus tels que Oracle, Sybase et Informix s'appuient sur ces standards ou essaient de les implémenter.
Il y a plus de 20 variétés, commerciales/internet, de systèmes de gestion de base de données actuellement utilisés dans le monde et beaucoup plus dans un futur proche. En l'absence d'une norme telle que l'ANSI/ISO SQL, il serait très difficile pour l'utilisateur de développer une application une fois pour toutes et de l'utiliser avec tous les systèmes de gestion de bases de données. L'utilisateur veut développer son application une fois pour toutes en utilisant les normes ISO SQL, ODBC, JDBC afin qu'elle puisse être déployée sur une grande variété de systèmes de gestion de base de données a travers le monde.
PostgreSQL est la Base de Donnée LIBRE la plus populaire au monde qui implémente la plupart des normes ISO SQL, ANSI SQL/98, SQL/92 et ANSI SQL/89 RDBMS. PostgreSQL est une base de données relationnelle Objet de la nouvelle génération et les futures normes ANSI SQL tels que le SQL 1998 (SQL-3) et au-delà traiteront de manière croissante de bases de données Objet et de types de données Objet. PostgreSQL est le seul SGBD (RDBMS - Relational Data Base Management System) au monde qui supporte les bases de données Objet et SQL. Ce document vous explique comment installer le système de gestion de base de données, comment mettre en place la base de données Web, la base de données application , les frontaux GUIs et les programmes interfaçage. On ne saurait trop RECOMMANDER d'écrire vos applications bases de données 100 % compatibles avec les normes ISO/ANSI SQL, ODBC, JDBC ceci rendant votre application portable sur de multiples SGBD (Systèmes de gestion de Bases de Données) tels que PostgreSQL, Oracle, Sybase, Informix etc.
La haute qualité, et un large ensemble de possibilités de PostgreSQL viennent du fait que ce système est développé suivant le principe du «Modèle de développement à Code Source Ouvert». Les modèles à Code Source Ouvert sont ceux ou la totalité du code source est fournie et ou le développement se fait à travers l'internet par une très vaste communauté de cerveaux humains en réseau. La tendance future des développement logiciels réside dans ce que l'on appelle les "super autoroutes de l'information" qui s'étendent à travers le monde entier. Dans les années à venir, la croissance d'internet va être explosive et de ce fait favorisera l'adoption de PostgreSQL par la communauté des utilisateurs de bases de données.
Par l'application des principes de la statistique, des mathématiques et de la science à la qualité des logiciels, on obtient la meilleure qualité des logiciels 'à Code Source Ouvert' tel que PostgreSQL en mettant le code source des programmes à la disposition d'un grand nombre de cerveaux humains interconnectés par les super-autoroutes de l'information. Plus le nombre de cerveaux au travail sera grand, meilleure sera la qualité du logiciel produit. Le modèle "à Code Source Ouvert" évite aussi de RÉINVENTER LA ROUE, supprime LA DUPLICATION DU TRAVAILtout en étant particulièrement économique, en diminuant les délais de distribution et en suivant les lois économiques modernes d'optimisation des ressources nationales et globales. Une fois qu'un logiciel a été réalisé par d'autres, vous N'AVEZ PAS à recommencer le travail. Vous ne perdrez pas un temps précieux sur quelque chose qui a déjà été CORRECTEMENT réalisé. Votre temps est extrêmement précieux et il faut l'utiliser de manière efficace, car vous ne disposez que de 8 heures par jour pour travailler!!. Dans un futur proche, à l'aube du 21-ième siècle, la manière de se procurer un logiciel va changer. Les utilisateurs accorderont en premier lieu leur préférence aux logiciels ouverts tel PostgreSQL, Linux etc...
En achetant des binaires vous n'obtenez pas la véritable propriété du logiciel et ce n'est pas juste. Acheter un logiciel peut devenir une attitude archaïque. On a seulement besoin d'acheter un bon matériel, il vaut mieux dépenser de l'argent en matériel et trouver le logiciel sur internet. Le point important, c'est que le gros du travail est effectué par le matériel. Le matériel est le cheval de bataille et le logiciel est là pour le piloter. Le matériel est tellement plus compliqué que seulement 6 pays sur 180 au monde ont démontré leur capacité à concevoir et à fabriquer les composants d'ordinateurs. La conception et la fabrication de composants d'ordinateurs est une technologie avancée. C'est un processus très complexe, requérant de très larges investissements en usine et en machines de production maîtrisant la technologie des 0.18 micron. Des milliards de transistors/circuits sont implantés sur une petite puce de silicium. Des compagnies telles que Applied Material, AMD, Intel, Cyrix, Hitachi, Ibm et autres ont dépensé d'importantes quantités d'hommes-ans de travail pour maîtriser des hautes technologies telles que la Micro-électronique et la Nano-électronique (Micro signifie millionième de mètre et Nano signifie milliardième de mètre). La technologie actuelle utilise la micro-électronique à 0.35 microns avec des conducteurs en aluminium, celle de 0.25 microns utilise des conducteurs de cuivre. Dans un futur proche, la technologie des 0.10 microns avec conducteurs de cuivre et même la nano-électronique sera utilisées pour les circuits intégrés d'ordinateurs. Les conducteurs en aluminium seront détrônés par ceux en cuivre sur les puces d'ordinateurs, car le cuivre est meilleur conducteur d'électrons. En photo-lithographie, l'extrême ultraviolet, les rayons X ou les techniques de faisceau d'electrons seront utilisées pour graver des circuits de taille inférieure à 0.15 microns. Dans environ 20 ans, les circuits en silicium seront remplacées par des ordinateurs moléculaires et des circuits biologiques qui seront des millions de fois plus rapides que les circuits en silicium. Les molécules sont des groupes d'atomes, et les atomes sont de minuscules particules constituant la matière première première de tout ce qui nous entoure. Les ordinateurs moléculaires utiliseront les molécules en tant qu'interrupteurs électroniques ultra rapides. Lorsque l'interrupteur est fermé (ON), on obtient la valeur 1 et quand il est ouvert (OFF), la valeur 0. Tous les programmes d'ordinateurs au monde utilisent l'algèbre binaire (nombres 0 et 1). Le tableau ci-dessous montre les progrès et les tendances futures des puces d'ordinateurs.
Progrès dans les capacités des puces dans le futur
**************************************************
+--------------------------------+--------+--------+--------+--------+-------+---------+
| Item/Année | 1997 | 1999 | 2001 | 2003 | 2012 | 2020 |
+--------------------------------+--------+--------+--------+--------+-------+---------+
| Technologie (micron) | 0.25 | 0.18 | 0.15 | 0.13 | 0.05 |< 0.00001|
+--------------------------------+--------+--------+--------+--------+-------+---------+
| Taille de la puce(mm) | 200 | 300 | 300 | 300 | 45 | Mol/bio |
+--------------------------------+--------+--------+--------+--------+-------+---------+
| Tension mini. de fonctionnement| 1.8-2.5| 1.5-1.8| 1.2-1.5| 1.2-1.5|0.5-0.6| < 0.001 |
+--------------------------------+--------+--------+--------+--------+-------+---------+
| Puissance dissipée maximum | 70 | 90 | 110 | 130 | 175 | 600 |
+--------------------------------+--------+--------+--------+--------+-------+---------+
| fréquence de fonct. puce (MHz)| 750 | 1250 | 1500 | 2100 | 10000 | > 50 000|
+--------------------------------+--------+--------+--------+--------+-------+---------+
| Capacité mémoire DRAM | 256 MB | 1 GB | 2 GB | 4 GB | 256 GB| > 1000GB|
+--------------------------------+--------+--------+--------+--------+-------+---------+
Comme on peut le voir c'est le matériel qui est important et de haute technologie, le logiciel
est une technologie moins difficile à maîtriser. Donc la fabrication de matériel est
vitale pour l'économie nationale!. Des compagnies comme Compaq, Dell, Sun Microsystems, HP, IBM
qui fabriquent des ordinateurs contribuent de façon importante à l'économie U.S. aujourd'hui et
dans le futur!!
D'un autre côté, chaque pays au monde développe/produit du logiciel. En fait, n'importe qui dans le monde, avec un petit PC économique, peut créer un système serveur de base de données Oracle. Mais cela lui prendra environ 10 ans (Le serveur de base de données Oracle correspond à plus de 10 hommes-ans de travail). Un homme-an correspond au travail d'un homme à temps plein pendant une année. Si 10 personnes travaillent pendant un an cela correspond à 10 hommes-ans.
Les SGBD tels que Oracle, Informix, Sybase, IBM DB2 (Unix) sont écrits en langage "C" et les binaires créés par compilation de ces sources sont fournis aux clients. Les SGBD Oracle, Sybase, Informix sont des programmes "C" à 100 %!!.
Puisqu'une masse importante de travail a été effectuée sur PostgreSQL au cours des 14 dernières années, cela n'aurait aucun sens de recréer ex-nihilo un autre système de gestion de base de données satisfaisant aux normes ANSI/ISO SQL. Il est bien plus intéressant de prendre le code existant de PostgreSQL, de commencer à l'utiliser, de l'améliorer et d'y ajouter les fonctionnalités manquantes.
PostgreSQL n'est pas seulement un SGBD libre mais aussi un "Produit Internet" de bonne qualité.
On peut prédire que la demande de produits "Fabriqué sur Internet" va croître exponentiellement. Ces produits étant de haute qualité, de faible coût et ayant une base d'utilisateurs et de développeurs extrêmement large. Les pays qui n'utilisent pas les produits "Fabriqué sur Internet" seront les oubliés de "la Révolution mondiale Internet" et resteront loin derrière les autres pays. La raison provient de ce "qu'Internet" lui-même est la PLUS GRANDE compagnie de logiciels!
Ce document est publié en 10 formats différents qui sont - DVI, Postscript, Latex, LyX, GNU-info, HTML, RTF(Rich Text Format), Texte simple, Pages de manuel Unix et SGML.
Ce document se trouve à -
Vous pouvez également le trouver sur les sites miroirs suivants -
Pour visualiser le document au format dvi, utilisez le programme xdvi. Le programme xdvi se trouve dans le paquetage tetex-xdvi*.rpm de Redhat Linux que l'on trouve en choisissant les menus : Panneau de contrôle | Applications | Publication | TeX. Pour lire le document, tapez la commande -
xdvi -geometry 80x90 howto.dvi
man xdvi
Et redimensionnez l'écran à l'aide du mulot. Consultez la page de manuel
concernant xdvi.
Pour naviguer dans le document, utilisez les touches Flèches, Page précédente
,Page suivante. Vous pouvez aussi utiliser les lettres 'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n'
pour vous déplacer vers le haut, vers le bas, au centre, vers la page précédente,
Pour désactiver le menu expert, tapez 'x'.
Vous pouvez lire le fichier postscript en utilisant le programme 'gv' (ghostview) ou 'ghostscript'. Le programme ghostscript se trouve dans le paquetage ghostscript*.rpm et le programme gv dans le paquetage gv*.rpm de Linux Redhat que l'on peut trouver en choisissant les menus : Panneau de contrôle | Applications | Graphique. Le programme gv est beaucoup plus convivial que ghostscript. Les programmes ghostscript et gv sont disponibles sous d'autres plates-formes telles que OS/2, Windows 95 et NT, vous pouvez donc visualiser ce document sur ces plates-formes. Pour lire le document postscript tapez la commande -
gv howto.ps
ATTENTION: ce document est volumineux, le nombre total de pages (postscript)
imprimées est approximativement de 134.
Vous pouvez lire ce document en format HTML en utilisant Netscape Navigator, Microsoft Internet explorer, Redhat Baron Web browser ou n'importe lequel des 10 butineurs web.
Vous pouvez le lire en format latex de sortie de LyX en utilisant LyX, frontal X-Window pour latex.
Dans ce chapitre, on montrera comment la science joue un rôle important dans la création de nombreux objets comme le logiciel, cet univers, la masse, les atomes, les énergies et même vous-même !. Ce chapitre montre également pourquoi il est important d'avoir des connaissances en science AVANT de commencer à en utiliser les produits. Tout en fait partie - par exemple PostgreSQL, le temps, la masse, l'énergie, les planètes, le soleil, la lune, les étoiles, les super-amas, les humains etc... sont des objets créés par la science. Ce chapitre montre également comment les lois de la science et les statistiques témoignent en faveur de systèmes à code source ouvert comme PostgreSQL et Linux. La vitesse d'internet s'accroissant de jour en jour, et internet devenant de PLUS EN PLUS fiable, les systèmes à code source ouvert gagnent rapidement de l'audience. Et, si les règles de la statistique et les lois de la physique sont correctes, les systèmes à code source fermés sont appelés à DISPARAÎTRE de cette planète.
Les paragraphes ci-dessous montreront - "combien la science est vaste, combien elle est importante pour les hommes et quel est son impact sur des projets logiciels comme PostgreSQL, Linux".
Le développement d'un projet tel que PostgreSQL requiert des ressources telles que de l'énergie et du temps, de ce fait, PostgreSQL est un produit d'énergie et de temps. Puisque l'énergie et le temps ne peuvent d'expliquer que par la science, il y a une corrélation directe entre la physique et les projets tels que PostgreSQL, Linux.
Les lois des sciences (Physique) s'appliquent partout, toujours, à tout ce que vous faites et même aux projets logiciels. La physique est en action pendant que vous parlez (ondes sonores), marchez (frottement entre le sol et vos pieds), lisez un livre ou écrivez un logiciel. Différentes branches des sciences, telles que la physique, la chimie, etc... se rejoignent toutes dans un vaste ensemble, les mathématiques (également nommées Reine des Sciences).
Et tout, dans ce monde, a des racines profondes dans les mathématiques, y compris PostgreSQL. PostgreSQL utilise «L'algèbre moderne» qui constitue une petite branche des mathématiques. L'algèbre moderne concerne la «Théorie des ensembles », «l'algèbre relationnelle», la science des Groupes, des Anneaux, les Collections, Ensembles, Unions, Intersections, Exclusions,Domaines, Listes, etc...
Un logiciel tel que PostgreSQL existe aujourd'hui grâce à l'énergie et au temps. C'est l'énergie qui a créé ce monde, les cerveaux humains et beaucoup d'autres choses!. Et, la masse et l'énergie sont UNE et la MÊME entité!. Il y a 100 ans, le fait que la masse et l'énergie soient la même chose n'était pas connu des gens !
Les cellules des cerveaux humains consomment de l'énergie en travaillant (à la création d'un logiciel), transformant de l'énergie chimique en chaleur. Même pendant la lecture de ce paragraphe, les cellules de votre cerveau consomment du carburant et utilisent de l'énergie. Donc INTERROMPEZ IMMÉDIATEMENT VOTRE LECTURE!
L'énergie résultant de l'activité des neurones (cellules du cerveau) peut être mesurée en laboratoire. Par exemple, il y a de nombreux instruments comme le "détecteur de mensonge" et autres instruments médicaux qui peuvent mesurer l'activité du cerveau. Tout cela sous-entend que le cerveau humain est une machine thermodynamique. Et comme le cerveau humain est une machine thermodynamique, les lois de la thermodynamique d'appliquent au cerveau et, par conséquent, la thermodynamique a des effets indirects sur les logiciels comme PostgreSQL.
Suivant la science, il est impossible de construire tout système ou théorie (y compris un système logiciel de gestion de base de données) qui soit parfait à 100 % et sans erreur. C'est comme poursuivre un mirage, nous ne pourrons JAMAIS atteindre l'objectif d'obtenir la perfection dans un système ou une théorie. Les équations/discussions mathématiques détaillées pour prouver qu'un "système parfait" (de même pour prouver qu'un "système imparfait") est impossible sont des sujets avancés et hors sujet dans ce document. Et une telle étude mathématique implique la prise en compte d'un nombre infini de dimensions (ainsi que les dimensions primaires) que l'on trouve dans la nature. Malheureusement, les humains ne peuvent voir et conceptualiser que 4 dimensions alors que les mathématiques peuvent facilement en explorer beaucoup d'autres. Les autres dimensions sont "infiniment plus petites" que les atomes, et les atomes eux-mêmes sont si minuscules que les yeux humains ne peuvent pas les voir ! Pour analyser et expliquer la naissance et la mort de notre univers, les mathématiques constituent un outil très puissant. Notre univers, si vous le regardez à partir d'un autre univers possède pratiquement une taille nulle et vice versa. Ce qui signifie que notre univers n'est pas visible (n'existe pas) pour les gens d'un autre univers ! Et vice versa ! Théoriquement, il est possible de sortir de notre univers et de voyager sur des distances immenses (milliard d'années lumière) en un temps nul et de rentrer en un point différent de l'espace-temps !. La distance entre notre univers et les autres univers est en réalité nulle !.
Bien qu'il y ait un nombre infini de dimensions, celles-ci peuvent être déduites/générées à partir d'un nombre restreint de dimensions PRIMAIRES. C'est-à-dire qu'un nombre infini de dimensions peut se combiner et se ramener aux dimensions primaires. Les dimensions primaires absorbent simplement les autres dimensions sans être détruites. Les mathématiciens utilisent ces dimensions primaires pour comprendre la naissance et la mort des univers. L'univers où vous vivez actuellement a commencé à exister lors d'un BIG BANG, causé par les interactions de particules atomiques d'autres dimensions, qui s'est produit il y a des milliards d'années (environ 20 milliards d'années). Juste avant le big bang il y avait un petit point où la longueur, la largeur, la hauteur et le temps étaient NULS ( c'est-à-dire que notre univers N'EXISTAIT PAS !!) alors que d'autres univers et les dimensions primaires existaient. Le temps lui-même n'existait PAS là et les atomes, les étoiles, les planètes et les galaxies n'existaient PAS! Les atomes qui sont à l'intérieur de notre corps n'existaient PAS !!. Tellement de choses se sont passées AVANT qu le temps n'existe !
Le big bang et donc la naissance de notre univers résulte de quelques atomes de dimensions primaires. QUELQU'UN, (quelque chose ?), a causé le fracassement de quelques atomes minuscules d'autres dimensions pour créer notre univers, et de nouvelles dimensions de temps, de longueur, de largeur et de hauteur étaient nées !. Nous voyons l'effet d'une quelconque main dans se processus. Ce processus n'est pas parfaitement compris par les hommes. Ceux-ci essaient de générer un autre univers en laboratoire en simulant le big bang (Un accélérateur très puissant est en construction en Europe, un autre, en cours de construction à Dallas, aux USA, a été arrêté par le congrès US pour cause de coupes budgétaires). Il y a des atomes dans d'autres dimensions exactement comme nous avons des atomes dans notre univers. Théoriquement, on peut créer/générer un nombre infini d'univers !. Ce processus est réversible, ce qui veut dire que notre univers peut complètement s'effondrer sur lui-même et disparaître en quelques atomes d'autres dimensions !. C'est une analogie similaire à la façon dont VOUS êtes nés à partir de de deux cellules minuscules qui se sont FRACASSÉES l'une contre l'autre pour créer une cellule unique. Cette toute petite cellule s'est divisée et multipliée en 6 billions de cellules pour devenir cet être humain de 1.80 mètre (que vous êtes !). Il y a une ressemblance entre les êtres humains et les univers qui naissent puis meurent, un peu comme les humains.
Puisqu'un état PARFAIT (comme IMPARFAIT) est impossible, des univers comme le nôtre sont nés et plus tard mourront selon un processus cyclique. MAIS il ne peut pas y avoir de mort PARFAITE, seules des transformations sont permises par la science !. Actuellement notre univers est en expansion à un rythme formidable, il n'est pas statique mais très dynamique. Cet univers continuera son expansion jusqu'à ce que quelque chose interfère pour entraîner son effondrement par l'application de pressions ayant des dimensions externes qui l'annihileront !!. Il y a deux possibilités : suppression de masse de l'univers via les trous noirs (processus lent), ou ajout de masse à l'univers via les trous blancs (processus rapide d'un big crunch). Des millions d'univers peuvent exister mais seuls très peu d'univers peuvent être bâtis à partir des dimensions primaires. Vous n'êtes pas constitués uniquement d'atomes de cet univers mais aussi d'atomes d'autres dimensions !. Dans les trous noirs les atomes et les particules de notre univers sont engloutis et entièrement transformés et convertis en particules d'autres dimensions !. Au centre d'un trou noir, le temps est nul comme le sont la longueur, la largeur et la hauteur !. Et le trou noir constitue la porte d'ENTRÉE/SORTIE pour d'autres univers. Ces portes d'entrée/sortie peuvent s'ouvrir n'importe où, même à l'intérieur de votre corps !
Il peut y avoir un nombre infini de couleurs, de langages informatiques, d'architectures de circuits d'ordinateurs et de théories, mais il NE PEUT PAS y avoir LA PERFECTION pour UN(E) SEUL(E) couleur, langage informatique, architecture ou système ! Vous ne pouvez obtenir qu'une couleur (longueur d'onde, qu'un système, qu'une base de données ou une théorie PRESQUE PARFAITE ! La nature est comme un kaléidoscope.
En combinant les énergies de millions de personnes à travers le monde via internet il est possible d'obtenir un système PRESQUE PARFAIT (y compris un système logiciel de gestion de base de données). Prise individuellement, l'énergie de chacun est microscopique, mais en mettant en réseau un très grand nombre de personnes, l'énergie totale sera énorme, et elle peut être canalisée pour créer un système presque parfait. Les êtres humains sont des créatures à l'énergie et aux ressources finies, portés à faire des erreurs allant de la plus triviale à la plus profonde. Puisque notre propension à faire des erreurs varie largement en fonction de qualifications particulières, d'expérience particulière et des humeurs du moment, la découverte et l'élimination des erreurs logicielles dues à des erreur humaines ordinaires peut être largement facilitée en concentrant un grand nombre d'esprits humains à ce problème.
Il est très clair qu'internet peut mettre en réseau un grand nombre de personnes, ce qui implique qu'internet possède beaucoup d'énergie et de temps qui peuvent créer des produits logiciels de bien meilleure qualité, en un temps plus court, que des compagnies commerciales. Même de grandes compagnies comme Microsoft, IBM ne peuvent pas s'affranchir des lois de la physique mais finalement SE PLIER aux lois de la science !
Aujourd'hui, il y a beaucoup trop de systèmes de base de données relationnelles SQL RDBMS dans le monde se référant à une spécification ANSI/ISO SQL unique. L'humanité ne doit pas perdre son temps à créer de trop nombreux paquetages logiciels SIMILAIRES OU IDENTIQUES alors qu'il y a trop d'autres sujets en sciences qui mériteraient l'attention.
En conclusion, à cause des lois de la science, les systèmes à "code source ouvert" comme PostgreSQL, Linux seront toujours meilleurs que les systèmes à "code source fermé", et il est possible de prouver cette affirmation scientifiquement.
PostgreSQL Version 6.5.2 est un SGBD libre, son code source complet est fourni. De plus, c'est un SGBD Relationnel-Objet pratiquement conforme (de plus en plus conforme) aux normes ANSI SQL1998,92,89. Il fonctionne sur diverses plates-formes matérielles sous différents Systèmes d'Exploitation.
Quelquefois des corrections urgentes d'erreurs sont diffusées après la diffusion
d'une révision de PostgreSQL. Vous pouvez appliquer ces rustines optionnelles
selon les besoins de votre application. Effectuez les étapes suivantes pour
appliquer ces rustines -
cd /usr/src/postgresql6.5.2
man patch
patch -p0 < patchfile
make clean
make
Les fichiers de mise à jour se trouvent dans
L'objectif ultime et le but final de PostgreSQL est de devenir compatible à 100 % à la norme ANSI/ISO SQL ainsi que de devenir le numéro UN mondial des systèmes de gestion de Base de Données ouverts génériques. PostgreSQL guidera, conduira, contrôlera, suivra et dictera le futur de l'ANSI/ISO SQL. C'est-à-dire, l'implémentation et les idées apparaîtront en premier dans PostgreSQL puis, plus tard, seront incorporés dans l'ANSI/ISO SQL. PostgreSQL représente "l'état de l'art" de la technologie des bases de données.
Le serveur Informix Universal (diffusé en 1997) est basé sur une version précédente de PostgreSQL car Informix a acheté Illustra Inc. et l'a intégrée à Informix. La base de données Illustra était complètement basée sur Postgres (version précédente de PostgreSQL).
PostgreSQL est une amélioration du SGBD POSTGRES, prototype de recherche de SGBD de la prochaine génération. PostgreSQL, tout en conservant le puissant modèle de données et la richesse des types de données de POSTGRES, remplace le langage de requête PostQuel par un sous-ensemble étendu de SQL.
Le développement de PostgreSQL est réalisé par une équipe de développeurs Internet qui sont tous inscrits à la liste de diffusion "PostgreSQL développement mailing list". Son coordinateur actuel est Marc G. Fournier
Cette équipe est maintenant responsable des développements actuels et futurs de PostgreSQL. Naturellement, l'utilisateur de la base de données est lui-même développeur de PostgreSQL!. La charge de développement est répartie au sein d'un grand nombre d'utilisateurs finaux de bases de données sur internet.Les auteurs de PostgreSQL 1.01 sont Andrew Yu et Jolly Chen. De nombreux autres ont contribué au portage, aux tests, à la mise au point et a l'amélioration du code. Le code original Postgres, duquel PostgreSQL est issu, est le résultat de l'effort de nombreux étudiants de troisième cycle, de deuxième cycle et d'enseignants sous la direction du Professeur Michael Stonebraker de l'université de Californie, Berkeley.
Le nom original du logiciel à Berkeley était Postgres. Lors de l'ajout des fonctionnalités SQL en 1995, il fut renommé Postgres95. Ce nom fut changé à la fin de 1996 en PostgreSQL.
Des millions d'exemplaires du SGBD PostgreSQL sont installés comme serveurs, serveurs Web et serveurs d'application. Ce SGBD est très avancé, c'est un SGBD Relationnel-Objet (ORDBMS).
PostgreSQL peut stocker plus de types de données que les types traditionnels entier, caractères, etc. - L'utilisateur peut créer des types, des fonctions, de l'héritage de type etc. PostgreSQL fonctionne sur Solaris, SunOS, HPUX, AIX, Linux, Irix, Digital Unix, BSDi, NetBSD, FreeBSD, SCO unix, NEXTSTEP, Unixware et toutes sortes d'unix. Un portage pour Windows 95/NT est en cours de réalisation.
On peut acheter le CDROM Linux Redhat 5.0, le CDROM Linux Debian ou le CDROM Linux Slackware qui contiennent déjà postgresql sous forme de paquetage (a la fois en code source et en binaires) au :
L'organisation PostgreSQL vend un 'CDROM PostgreSQL' qui contient le code source complet et les binaires pour de nombreux systèmes d'exploitation Unix, ainsi que la documentation complète.
Distributions uniquement en binaire de PostgreSQL :
Sites WWW Web :
Les sites ftp sont indiqués ci-dessous :-
Le code source de PostgreSQL est aussi disponible sur tous les sites miroirs de sunsite.unc (soit environ 1000 sites autour du globe). Il se trouve dans la distribution Linux Red Hat dans le fichier /pub/contrib/i386/postgresql.rpm.
Ce chapitre est destiné à vous aider à installer et à faire tourner la base de données très rapidement, en moins de 10 minutes.
Étapes rapides pour installer, tester, vérifier et faire tourner PostgreSQL Connectez-vous en tant qu'utilisateur root.
# rpm -qpl postgre*.rpm (pour consulter la liste des fichiers. Pour la documentation 'man rpm') # rpm -qpi postgre*.rpm (pour prendre connaissance des informations concernant le paquetage) # cat /etc/passwd | grep postgres
# rpm -i postgre*.rpm (Doit installer tous les paquetages clients, devel, data
et main pour que pgaccess puisse fonctionner )
# chkconfig --add postgresql (pour lancer pg durant le démarrage, voir 'man
chkconfig')
# cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload (pour
python)
# /etc/rc.d/init.d/postgresql start (pour lancer postgres)
# su - postgres
bash$ createdb mydatabase (ceci va créer une base de données de nom :
'mydatabase')
(pour lire la documentation 'man createdb')
bash$ psql mydatabase (pour lire la documentation 'man psql')
..... dans psql utilisez les flèches haut/bas ou \s pour visualiser l'historique
bash$ export DISPLAY=<hostname>:0.0; pgaccess mydatabase; (consulter 'man
pgaccess')
bash$ cd /usr/doc/postgresql*
Pour obtenir des informations complémentaires concernant PostgreSQL, consultez http://www.postgresql.org
Téléchargez le livre 'Maximum RPM' à l' http://www.RPM.org. le nom du fichier est maximum-rpm.ps.gz Lisez-le sous Linux en utilisant la commande gv -
# gv maximum-rpm.ps.gz
bash$ cd /usr/lib/pgsql/python
bash$ createdb thilo
bash$ psql thilo
thilo=> create table test (aa char(30), bb char(30) );
bash$ /usr/bin/python
>>> import _pg
>>> db = _pg.connect('thilo', 'localhost')
>>> db.query("INSERT INTO test VALUES ('ping', 'pong')")
>>> db.query("SELECT * FROM test")
eins|zwei
----+----
ping|pong
(1 row)
>>>CTRL+D
bash$
..... Wow! Cela a l'air de fonctionner - maintenant, installons-le proprement
bash$ su - root
# cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload
bash$ cd /usr/doc/postgresql-6.5.2/examples/perl5
bash$ perl -I/usr/lib/perl5/site_perl/5.004/i386-linux-thread ./example.newstyle
Prenez connaissance des fichiers d'exemples pour l'utilisation de l'interface perl.
bash$ cd /usr/doc/postgresql-6.5.2/examples/libpq++
bash$ su root --> to change ownership of examples
# chown -R postgres /usr/doc/postgresql-6.5.2/examples
# exit
bash$ g++ testlibpq0.cc -I/usr/include/pgsql -I/usr/include/pgsql/libpq++
-lpq++ -lpq -lcrypt
bash$ ./a.out (Note: Ignore Error messages if you get any - as below)
> create table foo (aa int, bb char(4));
No tuples returned...
status = 1
Error returned: fe_setauthsvc: invalid name: , ignoring...
> insert into foo values ('4535', 'vasu');
No tuples returned...
status = 1
Error returned: fe_setauthsvc: invalid name: , ignoring...
> select * from foo;
aa |bb |
-----|-----|
4535 |vasu |
Query returned 1 row.
>
>CTRL+D
bash$
Pour pouvoir effectuer ceci vous DEVEZ installer le paquetage jdk-*glibc*.rpm (paquetage Java RPM)
bash$ cd /usr/doc/postgresql-6.5.2/examples/jdbc bash$ echo $CLASSPATH --> Devrait afficher CLASSPATH=/usr/lib/jdk-1.1.6/lib/classes.zip bash$ export CLASSPATH=$CLASSPATH:.:/usr/lib/pgsql/postgresql.jar Editer tout le fichier psql.java et enlevez le symbole de commentaire de la ligne 'package'. bash$ javac psql.java bash$ java psql jdbc:postgresql:template1 postgres < password>[1] select * from pg_tables; tablename tableowner hasindexes hasrules pg_type postgres true false false pg_attribute postgres true false false [2] CTRL+C bash$
bash$ cd /usr/doc/postgresql-6.5.2/examples/ecpg bash$ ecpg test1.pgc -I/usr/include/pgsql bash$ cc test1.c -I/usr/include/pgsql -lecpg -lpq -lcrypt bash$ createdb mm bash$ ./a.out
bash$ cd /usr/doc/postgresql-6.5.2/examples/sql Under-development..
Il y a un exemple d'interfaces Tcl/Tk dans le programme pgaccess. Lire le fichier /usr/bin/pgaccess à l'aide d'un éditeur de texte -
bash$ view /usr/bin/pgaccess bash$ export DISPLAY=<hostname of your machine>:0.0 bash$ createdb mydb bash$ pgaccess mydb
1. Procurez-vous le pilote win32 pgsql odbc à http://www.insightdist.com/psqlodbc/ 2. Voir également /usr/lib/libpsqlodbc.a
Procurez-vous les RPMs auprès de http://www.mutinybaysoftware.com
Pour vérifier le parfait fonctionnement de PostgreSQL, faites tourner le paquetage de test de Régression :- Connectez-vous en tant que root -
# rpm -i postgresql*.src.rpm # cd /usr/src/redhat/SPECS # more postgresql*.spec (pour savoir quels sont les paquetage RPM que vous devez installer) # rpm -bp postgresql*.spec (.. ce qui va préparer le paquetage) Le test de régression a besoin des Makefiles et de quelques fichiers en-tête comme *fmgr*.h qui peuvent être construits par - # rpm --short-circuit -bc postgresql*.spec ( .. utilisez "short circuit" pour forcer les choses!) Interrompre la construction en pressant les touches CTRL+C quand vous voyez 'make -C common SUBSYS.o' À ce moment là, la configuratioin est réussie, tous les "makefiles" et tous les fichiers en-tête (headers) ont été créés. Il n'y a rien de plus à faire. # cd /usr/src/redhat/BUILD # chown -R postgres postgresql* # su - postgres bash$ cd /usr/src/redhat/BUILD/postgresql-6.5.2/src/test/regress bash$ more README bash$ make clean; make all runtest bash$ more regress.out
Les performances des machines à cpu 32-bit décroissent rapidement quand la taille de la base de données dépasse 5 GigaBytes. Vous pouvez faire tourner des bases de données de 30 gigas avec un cpu 32-bit cpu mais cela ne sera pas très performant. Les machines à CPU 32 bits imposent une limitation de 2 GB de mémoire RAM, de 2 GB pour le système de fichier et d'autres limitations dues au système d'exploitation.
Si vous avez besoin d'utiliser des bases de données extrêmement grandes, il est fortement recommandé d'utiliser des machines 64-bit telles que : Digital Alpha cpu, Sun Ultra-sparc 64-bit cpu, Silicon graphics 64-bit cpu, Intel Merced IA-64 cpu, machines HPUX 64bit , machines IBM 64-bit. Si l'on compile PostgreSQL avec un cpu 64-bit il pourra supporter d'énormes bases de Données et de grosses requêtes. Les performances de PostgreSQL pour des interrogations sur de grandes tables et de grandes bases de données sera plus rapide de plusieurs ordres de grandeurs que sur des machines à cpu 32-bit . L'avantage des machines 64-bit est qu'elles disposent d'un grand espace d'adressage mémoire et que le système d'exploitation peut gérer de très grands systèmes de fichiers. Cela permet des meilleures performances avec de grandes bases de données, plus de mémoire centrale (RAM), plus de possibilités etc...
Le paquetage de "Test de Régression" permet de s'assurer de son bon fonctionnement. Il est inclus (src/test/regress) dans la distribution et permet à l'ordinateur d'effectuer la vérification des opérations SQL standard ainsi que des capacités de PostgreSQL. Le paquetage de test contient déjà des centaines de programmes SQL de test.
L'avantage de ce test effectué par l'ordinateur vient du fait que celui-ci peut effectuer plusieurs millions de test SQL très rapidement. La vitesse de l'ordinateur est un milliard de fois plus rapide que celle de l'esprit humain! Il est donc pertinent d'utiliser la puissance de calcul de l'ordinateur pour valider un logiciel plutôt celle de l'esprit humain.
Si c'est nécessaire, vous pouvez en ajouter beaucoup d'autres. Dans ce cas penser à envoyer ces tests au site PostgreSQL primaire si vous pensez que cela peut être utile aux autres. Le paquetage de Test de Régression permet d'asseoir la confiance des utilisateurs en PostgreSQL et facilite le déploiement rapide de PostgreSQL sur des systèmes en production sans inquiétude majeure.
Le paquetage "Test de Régression" peut être considéré comme un document technique "TRÈS SOLIDE" reconnu mutuellement par les développeurs et par les utilisateurs finaux. Les développeurs de PostgreSQL utilisent de façon intensive ce paquetage durant la période de développement et également avant de mettre le logiciel à la disposition des utilisateurs pour en assurer la parfaite qualité.
Le navigateur Web deviendra, dans le futur, l'interface utilisateur graphique le (GUI) le plus populaire. La plus grande partie du code doit être écrite en utilisant le langage de scripts de serveurs Web PHP/Zend (et en le compilant) PHP combiné avec un peu de JavaScript du côté du client web. Il est recommandé de migrer vos applications existantes sous Windows 95/NT vers PHP/Zend.
Les meilleurs outils sont :
Les langages, par ordre de préférence sont :
D'autres outils sont disponibles : PostgreSQL possède une bibliothèque d'interface Tcl/Tk dans la distribution nommée 'pgTcl'. Il existe un Environnement de Développement Intégré (EDI ou IDE pour integrated development environment) pour Tcl/Tk nommé SpecTcl.
ODBC signifie 'Open DataBase Connectivity'. C'est une norme répandue pour accéder aux informations des bases de données de différents vendeurs. Le fonctionnement des applications écrites en utilisant les pilotes ODBC est garanti quelle que soient les bases de données utilisées PostgreSQL, Oracle, Sybase, Informix etc..
Il existe aussi un projet appelé FreeODBC Pack Package . Il n'y a pas de version PostgreSQL, peut-être pouvez vous y participer.
UDBC est une version statique de pilote de gestionnaire et de DLL d'ODBC indépendant, pour intégrer le support de la connectivité base de données directement au niveau des applications.
JDBC signifie 'Java DataBase Connectivity'. Java est un langage de développement indépendant de la plate-forme d'utilisation développé par Sun Microsystems. Les programmeurs Java sont encouragés à écrire leurs applications en utilisant JDBC pour faciliter la portabilité entre différentes plates-formes telles que PostgreSQL, Oracle, informix, etc. Si vous écrivez des applications Java applications vous pouvez obtenir les pilotes JDBC pour PostgreSQL à partir des sites suivants :
Le pilote JDBC est inclus dans la distribution PostgreSQL.
Le site JDBC, le guide et les FAQ sont situés à -
Ces classes pour PostgreSQL seront très utiles au programmeur JAVA.
PERL est l'acronyme de 'Practical Extraction and Report Language'. Perl est disponible pour tous les systèmes d'exploitation et toutes les plates-formes matérielles au monde. Vous pouvez utiliser Perl sous Windows95/NT, Apple Macintosh iMac, toutes les variétés d'Unix (Solaris, HPUX, AIX, Linux, Irix, SCO etc..), ordinateur central MVS, ordinateur de bureau OS/2, OS/400, Amdahl UTS et beaucoup d'autres. Perl tourne MÊME sur de nombreux matériels et systèmes d'exploitations peu courants/généralement inconnus!! Aussi, ne soyez pas surpris si vous voyez perl tourner sur un système d'exploitation très rarement utilisé.
Cette interface est incluse dans la distribution de PostgreSQL. On la trouve dans le répertoire src/pgsql_perl5.
L'interface de SGBD Perl (Perl Database Interface - DBI) est une interface logicielle d'accès à un SGBD (Application Programming Interface - API) pour le langage PERL. Les spécifications de l'API DBI perl définissent un ensemble de fonctions, de variables et de conventions d'accès à un SGBD cohérent et indépendant du SGBD utilisé. Les informations concernant cette section DBI ont été prises dans la "DBI FAQ" dont l'auteur est Alligator Descartes et sont reproduites ici avec sa permission.
Vous pouvez obtenir DBD-Pg-0.89.tar.gz de l'un des sites indiqués ci-dessous :
CONTRAINTES :
Veuillez envoyer vos commentaires et vos comptes-rendus d'erreurs à
Pensez à inclure la sortie de perl -v, et perl -V, la version de PostgreSQL, la version de DBD-Pg, et la version de DBI dans votre compte-rendu d'erreur.
Pour citer Tim Bunce, l'architecte et l'auteur de DBI :
``DBI est une interface logicielle d'accès aux bases de données (Application Programming Interface -API) pour le langage Perl. Les spécifications DBI API définissent un ensemble de fonctions, de variables et de conventions cohérents d'interfaçage à une base de données indépendant de la base de données utilisée.''
En langage simple, l'interface DBI permet aux utilisateurs d'accéder de manière transparente à de multiples base de données. Ainsi, Si vous vous connectez à une base de données Oracle, Informix, mSQL, Sybase ou n'importe quelle autre, vous n'avez pas besoin de connaître les mécanismes sous-jacents de la couche 3GL. L'API définie par DBI fonctionnera sur tous ces types de bases de données.
On obtient un bénéfice du même ordre en ayant la possibilité de se connecter à deux bases de données de différents fournisseurs à l'aide du même script perl, i.e., je veux lire des données d'une base de données Oracle et les insérer dans une Informix à partir du même programme. La couche logicielle DBI permet de le réaliser simplement et efficacement.
DBperl est le nom ancien des spécifications de l'interface. Il est utilisé maintenant pour désigner les modules perl4 d'interfaçage des bases de données tels que oraperl, isqlperl, ingperl et autres. Ces interfaces n'ont pas d'API standard et ne sont généralement pas supportés.
Voici une liste des modules DBperl, de leur équivalent DBI correspondants et du support d'information. Notez que les auteurs cités ici ne maintiennent généralement pas le module DBI de la base de données. Les adresses E-mail n'ont pas été vérifiées et ne doivent être utilisées que pour les questions concernant les modules perl4 listés ci-dessous. Les questions sur les pilotes DBI doivent être directement adressées aux listes de diffusion des utilisateurs DBI.
Nom du module SGBD requis Auteur DBI
----------- ----------------- ------ ---
Sybperl Sybase Michael Peppler DBD::Sybase
<mpeppler@itf.ch>
Oraperl Oracle 6 & 7 Kevin Stock DBD::Oracle
<dbi-users@fugue.com>
Ingperl Ingres Tim Bunce & DBD::Ingres
Ted Lemon
<dbi-users@fugue.com>
Interperl Interbase Buzz Moschetti DBD::Interbase
<buzz@bear.com>
Uniperl Unify 5.0 Rick Wargo None
<rickers@coe.drexel.edu>
Pgperl Postgres Igor Metz DBD::Pg
<metz@iam.unibe.ch>
Btreeperl NDBM John Conover SDBM?
<john@johncon.com>
Ctreeperl C-Tree John Conover None
<john@johncon.com>
Cisamperl Informix C-ISAM Mathias Koerber None
<mathias@unicorn.swi.com.sg>
Duaperl X.500 Directory Eric Douglas None
User Agent
Cependant, certains modules DBI possèdent des couches logicielles d'émulation. Ainsi
DBD::Oracle est livré avec une couche d'émulation Oraperl, ce qui permet d'exécuter
d'anciens scripts oraperl sans modification. La couche logicielle d'émulation traduit
les appels oraperl API en appels DBI et les exécute.
Voici une table des couches d'émulation :
Module Couche d'émulation État
------ --------------- ------
DBD::Oracle Oraperl Complète
DBD::Informix Isqlperl En cours de développement
DBD::Sybase Sybperl Fonctionnelle? ( Nécessite une
vérification)
DBD::mSQL Msqlperl En version expérimentale avec
DBD::mSQL-0.61
L'émulation Msqlperl est un cas particulier. Msqlperl est un pilote perl5 pour les
bases de données mSQL , mais il ne se conforme pas aux spécifications DBI. On
désapprouve son utilisation en faveur de DBD::mSQL. On peut télé-charger Msqlperl à
partir du site CPAN via :
Il existe quelques sources d'information sur DBI. Spécifications DBI
On trouve deux spécifications disponibles à cette adresse: la nouvelle spécification Draft (édition provisoire) DBI qui est un document en évolution rapide à mesure que l'équipe de développement s'approche d'une version stable de l'interface, et l'ancienne spécification historique DBperl à partir de laquelle l'interface DBI actuelle a évolué.Il faut considérer ce dernier document comme ne présentant qu'un intérêt historique et ne pas l'utiliser en tant que manuel de programmation ou document de référence. Il demeure cependant une source d'informations très utile.
Documentation POD (Plain Old Documentation) Les PODs sont des morceaux de documentation généralement noyés à l'intérieur des programmes perl qui documentent le code "sur place". Ce sont des ressources très utiles pour les programmeurs et les utilisateurs des modules. Les PODs pour DBI et pour les pilotes deviennent monnaie courante et la documentation pour les modules contenant ces PODs peut être lue avec les commandes suivantes.
La Spécification DBI Les PODs pour la spécification DBI peut être lue avec la commande :
perldoc DBI
Oraperl Les utilisateurs de la couche d'émulation fournie avec DBD::Oracle, peuvent s'informer sur la manière de programmer en utilisant l'interface Oraperl en tapant:
perldoc Oraperl
Ce qui permettra d'obtenir une copie à jour de la page de manuel originale écrite par Kevin Stock pour perl4. L'API oraperl y est entièrement listée et décrite.
DBD::mSQL Les utilisateurs du module DBD::mSQL peuvent lire des informations sur quelques fonctions privées et bizarreries de ce pilote en tapant :
perldoc DBD::mSQL
Foire Aux Questions (FAQ) Ce document, la Foire Aux Questions, est aussi disponible en tant que documentation POD! Vous pouvez le lire sur votre propre système en tapant :
perldoc DBI::FAQ
Ceci peut être plus pratique pour ceux qui ne sont pas connectés à l'Internet ou le sont d'une manière peu pratique.
Les POD en général On peut lire des informations sur la manière d'écrire des PODs, ainsi que sur la philosophie des PODs en général en tapant :
perldoc perlpod
Les utilisateurs ayant le module Tk installé seront peut-être intéressés d'apprendre qu'il existe un lecteur de POD basé sur Tk nommé tkpod. Il formate les POD de manière pratique et lisible.
Discussions, Cancans et Observations
Il y a , de temps en temps, une série de discussions de la part de certaines personnes, dans les listes de diffusion sur DBI.
``DBI -- L'interface de SGBD en perl5'' C'est un article écrit par Alligator Descartes et Tim Bunce sur la structure de DBI. Il a été publié dans le numéro 5 de ``The Perl Journal''. Il est extrêmement bon. Allez acheter ce magazine. En fait, achetez les tous. Le site WWW de ``The Perl Journal'' est :
``DBperl'' Cet article, publié dans l'édition de novembre 1996 du ``Dr. Dobbs Journal'' traitait de DBperl.
``The Perl5 Database Interface'' Cette référence est celle d'un livre à écrire par Alligator Descartes publié par O'Reilly et Associés.
Listes de diffusion Il y a trois listes de diffusion pour DBI gérées par Ted Lemon. On peut s'inscrire à toutes et résilier cette inscription à travers le World Wide Web à :
Les listes où les utilisateurs peuvent participer sont:
dbi-announce Cette liste de diffusion est réservée uniquement aux annonces. Si vous n'arrivez pas à utiliser le formulaire sur la page WWW indiquée ci-dessus, inscrivez-vous à cette liste de la manière suivante :
avec le mot 'subscribe' dans le corps du message.dbi-dev Cette liste de diffusion est à l'usage des développeurs pour discuter des idées et des concepts de l'interface DBI, API et des mécanismes des pilotes. Seulement utiles pour les développeurs et les personnes intéressées. Trafic faible. Si vous n'arrivez pas à utiliser le formulaire sur la page WWW indiquée ci-dessus, inscrivez-vous à cette liste de la manière suivante :
dbi-users Cette liste de diffusion est un lieu de discussion générale utilisée pour les rapports d'erreurs, la discussion sur différents problèmes et des demandes de renseignement d'intérêt général. Si vous n'arrivez pas à utiliser le formulaire sur la page WWW indiquée ci-dessus, inscrivez-vous à cette liste de la manière suivante :
Archives des Listes de Diffusion
Si vous avez un vidage mémoire, essayez le module Devel::CoreStack pour générer une trace de la pile du vidage mémoire. On peut trouver Devel::CoreStack à :
Envoyez un courrier électronique sur la Liste dbi-users contenant la trace de la pile, les versions des modules, la version de perl, les situations de test, la version du système d'exploitation et toutes autres informations pertinentes. Plus vous fournirez d'informations plus vite les développeurs pourront résoudre les problèmes. Si vous ne nous envoyez rien, n'attendez rien en retour.
Les portages de DBI et de DBD::Oracle pour Win32 ports font maintenant partie intégrante de DBI, donc, la récupération d'une version de DBI supérieure à 0.81 doit donner satisfaction. Vous pouvez accéder aux bases de données Microsoft Access et SQL-Server à partir de DBI via ODBC. Une "couche d'émulation" DBI expérimentale est fournie avec DBI-0.79 (et suivants ) pour le module Win32::ODBC. Son nom est DBI::W32ODBC. Vous aurez besoin du module Win32::ODBC.
A l'origine UNIX était bienheureux avec sa "Base de Données" rustique reposant sur des fichiers, nommée système dbm. Avec dbm vous enregistrez les données dans des fichiers et les retrouvez rapidement. Cependant, il souffre de sérieux inconvénients.
Verrouillage des fichiers
Les systèmes dbm ne permettent par un verrouillage particulièrement robuste des fichiers, de même qu'il n'y a pas de possibilité de corriger les problèmes survenants lors d'écritures [ dans la base de données ] simultanées.
Structures de Données Arbitraires
Les systèmes dbm permettent seulement une simple structure de données fixe: paires clé-valeur. Cette valeur peut être un objet complexe, tel qu'une structure [ C ], mais la clé doit être unique. Ce fut une grande limitation dans l'utilité des systèmes dbm.
Cependant, les systèmes dbm continuent d'offrir des fonctions utiles pour les utilisateurs ayant des ensembles de données simples et des ressources limitées, puisqu'ils sont rapides, robustes et extrêmement bien testés. Les modules Perl pour accéder aux systèmes dbm font maintenant partie intégrante de la distribution Perl via le module AnyDBM_File.''
Pour résumer, DBM est une solution parfaitement satisfaisante pour les bases de données essentiellement en lecture seule, ou pour des ensembles de données simples et réduits. Toutefois, pour des ensembles de données plus importants, sans mentionner un verrouillage des transactions robuste, on recommandera aux utilisateurs de préférer DBI.
Si l'on suppose que la fonctionnalité en question n'est pas, en standard, spécifique d'un SGBD, alors la réponse sera non.
DBI représente un API qui doit fonctionner avec la plupart des SGBD, et n'a pas de fonctionnalité spécifique à un SGDB particulier.
Cependant, les auteurs d'un pilote peuvent, s'ils le désirent, ajouter une fonctionnalité spécifique à un SGBD à travers les méthodes func définies dans l'API DBI. Les développeurs de Scripts doivent noter que l'utilisation de cette fonctionnalité au travers de ces méthodes func a de bonnes chances d'en sacrifier la portabilité entre les différents SGBD.
En un mot, oui! DBI est extrêmement utile pour la programmation CGI! En fait, la programmation CGI est une des deux principales utilisation de DBI.
DBI confère aux programmeurs CGI la possibilité d'offrir des base de données WWW à leurs utilisateurs, ce qui donne à ces utilisateurs la possibilité d'utiliser de grandes quantités de données bien organisées. DBI donne aussi la possibilité , si un site reçoit un trafic trop important pour les performances du serveur, d'améliorer ce serveur de base de données de façon transparente, sans modifier les scripts CGI.
Le serveur httpd Apache maintient un ensemble de processus fils httpd pour servir les requêtes clients.
En utilisant le module mod_perl Apache de Doug MacEachern, l'interpréteur perl est inclus dans le processus fils httpd. Les modules CGI, DBI, et vos autres modules favoris peuvent être chargés au lancement de chaque processus fils. Ces modules ne seront pas rechargés à moins d'être modifiés sur disque.
Pour de plus amples informations sur Apache, consultez le site WWW du Projet Apache à :
En utilisant le module Apache::DBI de Edmund Mergl, les connexions à la base de données sont enregistrées dans une table avec chacun des processus httpd fils. Si votre application utilise une base de données simple utilisateur, cette connexion peut être lancée avec chaque processus fils. Actuellement, les connexions à la base de données ne peuvent pas être partagées entre processus httpd fils. Apache::DBI peut être télé-chargé de CPAN via :
Fondamentalement, il y a une bonne chance que cela provienne du fait que l'utilisateur à partir duquel vous avez lancé la ligne de commande a un ensemble de variables d'environnement correctement configuré, ce sont, dans le cas de DBD::Oracle, des variables telles que $ORACLE_HOME, $ORACLE_SID ou TWO_TASK. Le processus httpd s'exécute habituellement sous un utilisateur id ne correspondant pas à un utilisateur, ce qui implique qu'il n'y a pas d'environnement configuré. Tous scripts essayant de s'exécuter dans ces circonstances échoueront. Pour résoudre ce problème, initialisez l'environnement de votre base de données dans un bloc BEGIN ( ) en tête de votre script. Ceci devrait résoudre votre problème. De même, vous devriez regarder votre fichier registre d'erreurs pour y trouver des indices, ainsi que les guides "Idiot's Guide To Solving Perl / CGI Problems" et "Perl CGIProgramming FAQ" pour avoir des informations complémentaires. Il est peu probable que ce problème concerne DBI. Lisez ces DEUX documents très soigneusement !
A la date de ce document, non. perl ne permet pas l'exécution en parallèle. Cependant, l'exécution en parallèle doit faire partie de la distribution perl de base à compter de la version 5.005, ce qui sous-entend que le support de l'exécution en parallèle pour DBI devrait suivre rapidement. Pour quelques exemples de code OCI pour Oracle ayant des instructions SELECT avec exécution en parallèle, voir :
En supposant que vous avez créé une procédure enregistrée à l'intérieur de la base de données cible, e.g., une base de données Oracle, vous pouvez utiliser $ dbh-> do pour exécuter immédiatement cette procédure. Par exemple,
$ dbh-> do( "BEGIN someProcedure END" );
N'oubliez pas d'effectuer un test d'erreur, strict!
$sth = $dbh->prepare( "BEGIN foo(:1, :2, :3); END;" );
$sth->bind_param(1, $a);
$sth->bind_param_inout(2, \$path, 2000);
$sth->bind_param_inout(3, \$success, 2000);
$sth->execute;
La création et la suppression de bases de données sont des concepts qui sont beaucoup trop abstraits pour être supportés par DBI. Par exemple, Oracle ne supporte pas le concept de détruire une base de données du tout ! Ainsi, dans Oracle, le serveur de base de données est essentiellement la base de données elle-même alors que dans mSQL, le processus serveur s'exécute tranquillement sans aucune base de données créée. C'est un problème trop hétérogène pour s'y attaquer. Quelques pilotes, cependant, supportent la création et la suppression de bases de données à travers des méthodes func privées. Il vous faut regarder dans la documentation des pilotes que vous utilisez pour vérifier s'ils supportent de tels mécanismes.
Les valeurs NULL dans DBI sont traitées comme la valeur undef. Des NULLs peuvent être insérés dans les bases de données en tant que NULL, par exemple :
$rv =
$dbh->do( "INSERT INTO table VALUES( NULL )" );
mais lors d'une interrogation, les NULLs devront être testés comme des undef.
C'est une norme pour tous les pilotes.
Une méthode func est définie à l'intérieur de DBI comme étant un point d'entrée pour une fonctionnalité d'une base de données spécifique, eg, la possibilité de créer ou supprimer des bases de données. L'invocation de ces méthodes spécifiques aux pilotes est simple. Par exemple, pour invoquer une méthode createDatabase qui n'a qu'un seul argument, on écrira :
$rv = $dbh->func( 'argument', 'createDatabase' );
Les développeurs de logiciels doivent cependant noter que ces méthodes func
ne sont pas portables entre SGBD.
L'interface aux SGBD Perl5 est un logiciel LIBRE. IL EST DISTRIBUE SANS GARANTIE D'AUCUNE SORTE. Cependant, quelques organisations fournissent soit une assistance technique soit des programmes de formation pour DBI.
PERL CLINIC : La société "Perl Clinic" peut offrir des contrats d'assistance payants pour Perl, DBI, DBD::Oracle et Oraperl. Cette assistance est fournie par la compagnie où travaille Tim Bunce, auteur de DBI. Pour de plus amples informations concernant leurs services, consultez :
PgAccess est une interface Tcl/Tk à PostgreSQL. Il est déjà inclus dans la distribution de PostgreSQL. Pour une copie plus récente, vous pouvez accéder au site web :
Fonctionnalités de PgAccess
Fenêtres de PgAccess : Fenêtre principale, créateur de tables, vue de table (interrogation), créateur visuel d'interrogation .
Tables
Requêtes
Séquences
Les futures implémentations disposeront
Si vous avez des commentaires, ou des suggestions d'amélioration, envoyez un courrier électronique à :
Informations concernant libgtcl
Vous aurez également besoin de la bibliothèque d'interface de PostgreSQL à Tcl, disponible comme module Tcl/Tk chargeable. Son nom est libpgtcl et le source est situé dans le répertoire PostgreSQL /src/interfaces/libpgtcl. Précisément, vous aurez besoin d'une bibliothèque libpgtcl qui soit "chargeable" à partir de Tcl/Tk. Ce qui est techniquement différent d'un fichier objet chargeable PostgreSQL ordinaire, car libpgtcl est constituée d'un ensemble de fichiers objets. Sous Linux, on l'appelle libpgtcl.so. Vous pouvez télé-charger à partir d'ici une version déjà compilée pour les systèmes Linux i386. La seule chose à faire est de copier libpgtcl.so dans le répertoire bibliothèque système (/usr/lib) et c'est tout. Une solution possible est de supprimer dans le source la ligne contenant load libpgtcl.so et de charger pgaccess.tcl non pas avec wish, mais avec pgwish (ou wishpg) le wish qui a été lié avec la bibliothèque libpgtcl.
("Windows Interactive Query Tool" WISQL ou MPSQL) MPSQL offre une interface SQL graphique à PostgresSQL. MPSQL est identique à la feuille de programmation SQL d'Oracle et au serveur de requête SQL de Microsoft WISQL! Il dispose d'un GUI agréable et d'un historique des commandes. Vous pouvez utiliser le coupé/collé ainsi que d'autres fonctionnalités sympathiques pour accroître votre productivité.
ISQL est destiné aux terminaux fonctionnants en mode ligne de commande. C'est inclus dans la distribution et nommé PSQL. Il est très similaire à Sybase ISQL, et à Oracle SQLplus. A l'invite unix tapez la commande 'psql' qui en retour vous affichera le caractère d'attente de commande: psql> .
Tapez /h pour obtenir de l'aide sur les commandes utilisables.
C'est très convivial et d'utilisation facile.
C'est aussi très utile pour écrire des scripts pour les interpréteurs de commandes.
MPMGR fournira un outil graphique de gestion de Base de Données pour PostgresSQL. Vous pouvez le trouver à
Vous pouvez empiler plusieurs cpu et les connecter à un unique moniteur en utilisant un commutateur KVM (Keyboard, Video, Monitor) pour choisir la connexion avec une unité centrale particulière. Ce qui économise de l'espace et évite l'utilisation de plusieurs écrans, claviers et mulots (économisant environ de 100 à 500 US dollars par ensemble) et évite aussi pas mal de pagaille.
En utilisant ce commutateur, vous pouvez empiler plusieurs serveurs PostgreSQL (développement, test, production), serveurs Web, serveurs ftp, serveurs Intranet, serveur de Courrier, serveurs de Nouvelles, sur une étagère. Le boîtier commutateur peut être également utilisé pour contrôler des machines Windows 95/NT ou OS/2.
Veuillez consulter ces sites :
Utilisez le moteur de recherche yahoo pour trouver d'autres compagnies en utilisant la clé de recherche 'Server Switches' ou "KVM Switches".
Pour avoir de meilleures performances, on recommande instamment d'avoir une machine unix pour chaque processus serveur PostgreSQL. Aucun autre programme/traitement ne doit tourner sur cette machine. Consultez la page Affaires de votre journal local pour trouver des vendeurs de machines intel nues, avec un moniteur monochrome de 13" (moniteur particulièrement économique). Les vendeurs locaux vendent uniquement du matériel SANS un quelconque Microsoft Windows/DOS (ce qui vous fait économiser environ $ 150). Vous n'avez pas besoin d'un moniteur couleur pour un serveur de base de données puisque vous pouvez en effectuer l'administration à distance à partir d'une station de travail PC couleur. Procurez-vous le cdrom Linux à l'adresse ci-dessous -
En suivant ce conseil, vous pouvez contrôler de nombreux systèmes à l'aide de seulement un clavier et un moniteur!
On trouvera ci-dessous un extrait du catalogue de networktechnic Inc
Commandez maintenant, appelez le 800-742-8324 (appel gratuit à partir des USA)
Pour recevoir notre catalogue, veuillez envoyer votre adresse par courrier électronique à : sales@networktechinc.com
PILOTEZ PLUSIEURS PC's avec un seul clavier, écran et mulot Ces commutateurs électroniques permettent de piloter jusqu'à 64 PC's avec un unique clavier, écran et mulot. Son microprocesseur interne simule la présence constante du clavier, de l'écran et du mulot pour chacun des PC's connectés.
Fonctionnalités et Applications
Spécifications - Clavier
Contrôles - Boutons en face avant
Mulot
* 9 broches D série
* 6 broches miniDIN
Par câble, à distance
Moniteur (écran) - VGA
AppGEN peut être télé-chargé de
AppGEN est un langage de haut niveau de la quatrième génération ainsi qu'un générateur d'application pour produire des applications destinées au World Wide Web (WWW). Ces applications sont typiquement utilisées à travers l'internet ou dans le cadre d'un réseau intranet d'entreprise. Les applications AppGEN sont implantées en scripts C respectants la norme Common Gateway Interface (CGI) utilisé par la plupart des serveurs Web.Pour utiliser AppGEN il vous faudra disposer de :-
PostgresSQL, système de gestion de base de données relationnel
Un serveur web compatible CGI tel que HTTPD du NCSA
D'un compilateur ANSI C tel que GCC
AppGEN est constitué des exécutables Unix (Linux) suivants :-
L'auteur, Andrew Whaley, peut être contacté à
dbengine est une interface Web "plug 'n play" pour Postgres95 créée par Ingo Ciechowski. Il est à :
A propos de DBENGINE : dbengine est une interface entre le WWW et Postgres95 qui permet un accès simple à n'importe quelle base de données existante en seulement quelques minutes.PHP 3 offre une sorte de langage Perl dans vos documents, mais pas le vrai Perl alors que AppGen et wdb-p95 nécessite la création d'un fichier de configuration pour chacune de vos bases de données -- c'est un peu comme si vous deviez apprendre un nouveau méta-langage avant de pouvoir commencer à travailler.
A la différence des autres outils, vous n'avez pas à apprendre un langage de programmation particulier ou un langage de script pour commencer à utiliser dbengine. De plus, il n'y a pas à créer de fichier de configuration pour chaque base de données, et vous n'avez donc pas besoin de vous familiariser avec sa structure. Cependant - au cas où vous voudriez profiter de toutes les possibilités de dbengine, ce serait une bonne idée de connaître le langage Perl.
Le système tout entier peut être configuré à l'aide de simples manipulations d'une base de données complémentaire qui contient les informations de détail sur la manière de visualiser vos accès à la base de données. Vous pouvez même spécifier des Champs Virtuels qui sont calculés en temps réel avant d'être affichés à l'écran.
Licence :
dbengine est un logiciel libre selon les mêmes conditions que Perl. Lisez sa licence si vous n'êtes pas sûr de ce que vous pouvez ou ne pouvez pas faire. La dernière ligne indique que c'est une version plus gentille et plus modérée que celle de la licence GNU -- une de celle qui n'affecte pas votre travail si vous extrayez des parties de dbengine ou du paquetage pour l'inclure dans un produit commercial!
Apache est un serveur Web bien connu. On trouvera un module d'interface de PostgreSQL pour le serveur Web Apache à -
NeoWebScript est un langage de programmation qui permet d'inclure des programmes simples ou compliqués dans des fichiers HTML.Quand une page HTML contenant un script NeoWebScript est appelée, le serveur Web ayant le NeoWebScript activé, exécute le(s) script(s) inclus, produisant une page Web dont le contenu, personnalisé, a été créé par le programme.
NeoWebScript est un moyen rapide, sûre, facile à apprendre de créer des programmes interactifs puissants directement en code HTML dans des pages Web. Avec NeoWebScript, les compteurs, les formulaires de courrier électronique, murs à graffitis, livres d'or et suivi des visiteurs sont aisés, même pour un programmeur débutant. Regardez comment NeoWebScript se défend bien par rapport à PERL et JavaScript.
Au cas où vous souhaiteriez installer NeoWebScript sur votre serveur web, votre webmestre doit lire notre "FAQ Sysop" pour se lancer. Le document "Théorie de fonctionnement" explique comment NeoWebScript fonctionne, celui d'Installation est un guide pas à pas des opérations à effectuer. Le guide de Gestion traite de la manière de configurer et de faire fonctionner le serveur, celui de Tests permet de vérifier le fonctionnement correct de NeoWebScript, enfin, celui de Maintenance traite des problèmes de serveur.
Il n'y a aucuns frais pour l'utilisation de NeoWebScript-2.2 que ce soit pour votre ISP, votre intranet, ou votre extranet. Vous pourrez voir un licence complète quand vous vous enregistrerez pour télé-charger le logiciel, mais il en coûte $ 99 si vous désirez l'inclure dans votre propre produit ou l'utiliser dans un serveur commercial (eg. SSL).
NeoWebScript est un module pour le serveur web Apache qui vous permet d'inclure , en tant que langage de script, pour vos pages web, le langage de programmation Tcl/Tk . Il a été inventé par Karl Lehenbauer, Directeur Technique chez NeoSoft, et documenté, renforcé et étendu par les programmeurs de NeoSoft et par des rédacteurs techniques.
Le serveur Apache est le serveur web le plus populaire au monde, totalisant 68 % des sites interrogés.
Tcl/Tk est un langage de script puissant, libre et multi-plateformes développé par le Dr. John Ousterhout. Selon ses propres termes :
"Tcl/Tk permet aux développeurs de logiciels de réaliser un travail dix fois plus rapidement qu'avec des outils basés sur C ou C++. C'est aussi un grand langage de synthèse permettant de faire travailler ensemble des applications existantes en les rendant plus graphiques et orientées Internet."
Karl Lehenbauer, Fondateur et Directeur Technique de NeoSoft, a participé au développement de Tcl/Tk dès le tout début. Avec Mark Diehkans, ils sont les auteurs de Tcl étendu (Extended Tcl), connu également sous le nom de TclX ou NeoSoft Tcl, qui constitue un ensemble puissant d'extensions au langage. Beaucoup des commandes courantes essentielles de Tcl proviennent de Tcl étendu, et furent introduites dans le langage par le Dr. Ousterhout.
NeoSoft Inc., 1770 St. James Place, Suite 500, Houston, TX 77056 USA
Heitml est un autre outil d'interfaçage de postgres avec le monde du world wide web. Pour plus de détails contacter
Helmut Emmelmann H.E.I. Informationssyteme GmbH
Wimpfenerstrasse 23 Tel. 49-621-795141
68259 Mannheim Germany Fax. 49-621-795161
Heitml est à la fois une extension, côté serveur, de HTML et un langage de la quatrième génération (4GL). Avec lui, on peut écrire des applications web dans un style HTML et en utilisant de nouvelles balises de style HTML.
heitml (prononcé "H-ail"-TML) est une extension de HTML et un langage de quatrième génération complet permettant aux Applications utilisant le web d'interagir avec des données stockées dans des bases de données SQL, sans mériter l'écriture de scripts CGI complexes.
heitml étend HTML côté serveur, convertissant de manière dynamique les fichiers ".hei" au format HTML et ainsi, les rendant compatibles avec n'importe quel butineur web. Il englobe la syntaxe simple et familière de HTML et apporte un large assortiment de Balises et de Bibliothèques pré-développées pour prendre en charge les tâches qui auparavant nécessitaient CGI. De même que XML, heitml permet l'utilisation de balises définies par l'utilisateur. Avec heitml les marqueurs définis par l'utilisateur peuvent être traduits en HTML et envoyés à un butineur.
heitml est destiné à la fois aux concepteurs HTML et aux programmeurs professionnels. Les concepteurs HTML peuvent utiliser les Balises heitml pour fabriquer des pages web dynamiques, des accès aux bases de données SQL ou créer des applications web complètes. On peut créer des Compteurs, des bases de données d'inscriptions, des formulaires de recherche, des formulaires de courrier électronique ou des menus hiérarchisés en utilisant simplement des Balises de style HTML pré-développées que l'on trouve dans les nombreuses Bibliothèques de Composants.
Pour les programmeurs, heitml inclut un langage de quatrième génération complet en HTML
(e.g. <if>, <while>, et <let> Balises),
plus un évaluateur d'expression puissant pour les types de données
entiers, réels, booléens chaîne de caractères et tuple. Les tuples
ont une référence sémantique comme dans les langages orientés objets
modernes et sont stockés sur un tas. Les variables heitml y compris
toutes les structures de données complexes stockées sur le tas
conservent leur valeur de page en page par l'utilisation du Mode
Session. Il vous est possible de définir vos propres balises ou vos
balises d'environnement et même de redéfinir les balises HTML.
Avec heitml il devient possible de
- - - développer des Sites Web de manière structurée et modulaire, tout en réduisant de façon drastique la surcharge due à la maintenance.
- - - développer des Sites Web intelligents et interactifs, dont le contenu s'adapte dynamiquement aux besoins de l'utilisateur.
- - - de visualiser le contenu de bases de données SQL sans autre programmation que l'utilisation de notre bibliothèque de Balises pré-définies "dba".
- - - de développer des applications de bases de données complexes et de Catalogue d'Achat en utilisant les Variables Session
heitml tourne sous Linux avec n'importe quel Serveur Web utilisant l'interface CGI, et il est particulièrement rapide (mis à part la surcharge due à CGI) avec le Serveur Web APACHE (version 1.1.1, 1.1.3, ou 1.2.4) en utilisant l'API apache. Actuellement MSQL (Version 1 et 2), PostgreSQL (Version 6), mysql, et les bases de données yard sont supportés. heitml tourne sous Linux, BSDi, Solaris et SunOS, de même que sous Windows NT avec CGI, ISAPI et ODBC et Windows 95.
heitml (sous linux) est libre pour la recherche, et pour une utilisation privée et non commerciale. Les Sites Web commerciaux doivent payer une licence. La version totalement opérationnelle de heitml est disponible pour une période d'essai et peut être télé-chargé librement. (Notez, cependant, que chaque page Web ".hei" que vous développerez affichera un message indiquant qu'il s'agit d'une version à usage non commerciale. Après enregistrement, vous recevrez une clé pour effacer ce message sans avoir à réinstaller le programme.)
Les nouvelles fonctionnalités de la version 1.2 sont
- - - Bibliothèque de Composants pour des Formulaires de Recherche dans un Base de Données, menus hiérarchisés d'ouverture et de fermeture, formulaires de courrier électronique
- - - Le Mode Session a été re-conçu et amélioré pour conserver toutes les variables (y compris le tas tout entier) au travers des différentes pages. Cela signifie que les données, de n'importe quelle taille sont conservées à l'intérieur d'une session. Ceci offre l'opportunité d'un champ plus large pour créer de nouvelles applications, e.g. stockage complet des résultats d'une interrogation dans la mémoire de la session.
- - - Les instructions d'installation, la documentation et les bibliothèques d'exemples ont été augmentées de manière significative, un cours d'auto-formation a été ajouté
- - - Des balises pour exécuter des commandes shell et pour envoyer des courriers électronique ont été ajoutées
- - - Le support du formatage d'impression et de la mise au point. heitml affiche votre code source en couleurs dans votre butineur et signale les erreurs de façon intuitive. En cas d'erreur à l'exécution, toutes les structures de données internes sont affichées dans le butineur en indiquant et préservant leurs positions dans le code source original.
- - - Diverses nouvelles variables serveur et fonctions intégrées ont été ajoutées
- - - En mode production, heitml collecte maintenant des informations complètes sur les erreurs survenues lors de l'accès, par des utilisateurs, à votre site.
Voici ce que dit la page d'accueil de heitml -
heitml (prononcer "H-ail"-TML) étend et augmente de façon significative les fonctionnalités de HTML grâce aux balises définissables et aux possibilités complètes de programmation. Ce qui permet de créer simplement des applications au contenu dynamique et orientées bases de données dans le monde HTML, sans CGI et sans scripts externes ou langages de programmation. Cela signifie que vous, en tant qu'auteur HTML, vous pouvez inclure des applications dans vos pages web, simplement, en utilisant quelques nouvelles balises sans CGI et sans programmation. D'un autre côté, comme utilisateur avancé ou comme programmeur vous pouvez créer et programmer de puissantes bibliothèques de balises. Cette approche rend heitml souhaitable à la fois pour les utilisateurs nouveaux de HTML et pour les programmeurs professionnels. heitml tourne sur le serveur web et génère dynamiquement du HTML, aussi heitml est compatible avec les normes internet et avec n'importe quel butineur web. Il permet un accès total aux bases de données tout en évitant à l'utilisateur toute la complexité inutile de CGI. heitml a été développé selon les plus récents critères en matière de construction de compilateurs et de systèmes transactionnels.
Les pages heitml sont développées exactement de la même façon que les pages HTML, à l'aide d'un éditeur de texte ou d'un éditeur HTML, et placées comme d'habitude sur le serveur web. Cependant, maintenant, les pages peuvent contenir des balises heitml dynamiques et des accès à des bibliothèques de balises. Vous pouvez utiliser ces balises pour accéder à une base de données, pour créer un contenu dynamique, pour envoyer des courriers électronique, et même pour créer de puissantes applications telles que les bases de données d'inscriptions ou de systèmes d'achats.
Les nouveaux venus à HTML et les programmeurs professionnels seront stupéfaits de la vitesse et de la facilités avec lesquelles il peuvent concevoir des applications passionnantes telle que notre Livre d'Or Interactif sans nécessiter la complexité et l'apprentissage difficiles des scripts CGI, simplement en utilisant les outils fournis dans notre bibliothèque dba.
heitml est accompagné d'un large éventail de bibliothèques de balises, pour créer des livres d'or, des applications de maintenance de bases de données, des formulaires puissants de courrier électronique ou de structuration de votre site web à l'aide de menus hiérarchiques. Ces outils sont prêts à être utilisés, il suffit simplement d'ajouter les balises correspondantes à votre site web.
En tant que programmeur expérimenté, vous pouvez pleinement utiliser l'architecture dynamique persistante de tuple d'heitml : heitml n'est pas simplement un langage de script à typage dynamique, avec évaluateur d'expression, procédures récursives et capacités de passage de paramètres étendues, mais il apporte aussi des possibilités de tuples persistants dynamiques pour conserver automatiquemen