La première chose que vous aurez probablement envie de faire après l'installation de Greenstone et la vérification de son bon fonctionnement, c'est de personnaliser la page d'accueil. Le fichier qui engendre la page d'accueil de Greenstone s'appelle home.dm, et se situe dans le sous-répertoire macros du répertoire où vous avez installé Greenstone. Pour les systèmes Windows, la valeur par défaut est donc C:\Program Files\gsdl\macros\home.dm. C'est un fichier texte qu'il faudra éditer pour créer une nouvelle page d'accueil. Au lieu de l'éditer, nous recommandons de créer un nouveau fichier, disons yourhome.dm (chez moi). Ce fichier ressemblera au fichier home.dm mais définira le «paquetage home» – la portion active – un peu différemment.
Quand on met en place une autre page d'accueil, il faut pouvoir la relier d'une façon ou d'une autre aux pages de la bibliothèque numérique de manière à pouvoir effectuer des recherches et naviguer dans les collections sur votre système. La solution adoptée par Greenstone est d'utiliser des «macros». C'est la raison pour laquelle le fichier correspondant à la page d'accueil a un nom qui se termine en «.dm» et non pas en «.html» – c'est un fichier «de macros», et non pas un fichier HTML habituel. Pas d'inquiétude cependant: le fichier de macros ne contient que de l'HTML, entremêlé de quelques incantations mystiques expliquées ci-dessous. Le langage de macros regorge de potentialités puissantes, et nous n'en décrivons ici qu'une faible portion (reportez-vous au Guide du développeur de la bibliothèque numérique Greenstone pour obtenir plus d'informations à son sujet).
<imgcaption figure_your_own_greenstone_home_page|%!– id:264 –%Votre propre page d'accueil de Greenstone ></imgcaption>
La figure <imgref figure_your_own_greenstone_home_page> montre un exemple d'une nouvelle page d'accueil pour la bibliothèque numérique. Chacun des liens mentionnant «Cliquez ici» vous emmènera sur la portion correspondante de Greenstone. Cette page fut engendrée par le fichier yourhome.dm, présenté en figure <imgref figure_yourhome_dm>.
<imgcaption figure_yourhome_dm|%!– id:266 –%Fichier yourhome.dm utilisé pour créer la figure your_own_greenstone_home_page ></imgcaption>
package home _content_ { <h2>Your own Greenstone home page</h2> <ul> <table> <tr valign=top><td>Search page for the demo collection<br></td> <td><a href="_httpquery_&c=demo">Click here</a></td></tr> <tr><td>"About" page for the demo collection</td> <td><a href="_httppageabout_&c=demo">Click here</a></td></tr> <tr><td>Preferences page for the demo collection</td> <td><a href="_httppagepref_&c=demo">Click here</a></td></tr> <tr><td>Home page</td> <td><a href="_httppagehome_">Click here</a></td></tr> <tr><td>Help page</td> <td><a href="_httppagehelp_">Click here</a></td></tr> <tr><td>Administration page</td> <td><a href="_httppagestatus_">Click here</a></td></tr> <tr><td>The Collector</td> <td><a href="_httppagecollector_">Click here</a></td></tr> </table> </ul> } # if you hate the squirly green bar down the left-hand side of the # page, uncomment these lines: # _header_ { # }
Vous pouvez utiliser la figure <imgref figure_yourhome_dm> comme un patron pour créer votre propre page d'accueil de Greenstone. Pour simplifier, il définit une macro «content», et les accolades renferment de l'HTML ordinaire, ainsi que toute commande de mise en forme HTML, pour inclure le contenu que vous souhaitez voir apparaître sur la page. Le texte étant de l'HTML standard, vous pouvez si vous le souhaitez inclure des liens hypertexte et utiliser toutes les autres fonctionnalités du HTML.
Pour relier votre nouvelle page d'accueil à d'autres pages de la bibliothèque numérique, vous devrez utilisez une formule magique appropriée. Dans ce langage de macros, les formules magiques sont entourées de caractères de soulignement – vous pouvez en voir dans la figure <imgref figure_yourhome_dm>. Par exemple,_httppagehome_vous emmène sur la page d'accueil,_httppagehelp_vers la page d'aide, etc. Dans certains cas il vous faudra préciser le nom d'une collection. La chaîne qui suit,_httpquery_&c=demo, donne la page de recherche pour la collection «Demo»; dans le cas d'autres collections vous remplacerez la chaîne «demo» par le nom de la collection désirée.
La macro_content_contient directement du HTML. On peut placer n'importe quel code HTML dans une définition de macro. Cependant, les caractères spéciaux{,},\, et_devront être précédés d'une barre oblique inversée (backslash, c'est-à-dire «») pour leur éviter d'être interprétés par l'interpréteur du langage de macros.
Vous remarquerez que la définition de macro_content_ne contient ni en-tête ni pied de page HTML. Si vous souhaitez intervenir sur ces éléments dans votre page d'accueil, ce sont les macros_header_et/ou_footer_qu'il vous faudra personnaliser respectivement, en les ajoutant à votre fichier yourhome.dm sous la forme
_macroname_ { ... }
Par exemple, la barre verte ondulante sur la gauche des pages Greenstone est définie dans la macro_header_, et elle disparaîtra si on déclare cette macro comme étant vide, comme indiqué à la fin de la figure <imgref figure_yourhome_dm>.
Il faut informer Greenstone de l'existence de la nouvelle page d'accueil, de nom yourhome.dm. Le système charge les fichiers de macros spécifiés dans le fichier de configuration principal main.cfg, c'est pourquoi il faut y indiquer tout nouveau fichier créé. Les collisions de noms sont gérées comme on pourrait s'y attendre: les définitions les plus récentes ont la priorité.
Ainsi, pour faire en sorte que le logiciel de bibliothèque numérique Greenstone utilise la page d'accueil de la figure <imgref figure_your_own_greenstone_home_page> en lieu et place de la page par défaut, il faut commencer par placer le fichier yourhome.dm de la figure <imgref figure_yourhome_dm> dans le répertoire macros. Il faut ensuite éditer le fichier de configuration main.cfg et y remplacer home.dm par yourhome.dm dans la liste des fichiers de macros chargés au démarrage.
Vous éprouverez peut-être l'envie de rediriger une URL plus pratique vers le CGI de Greenstone. Sur notre système, par exemple, l'URL http://nzdl.org (qui est un raccourci pour http://nzdl.org/index.html ) est renvoyée vers http://nzdl.org/cgi-bin/library . C'est la directive Redirect qui s'occupe de cela pour le serveur web Apache. Comme les autres directives, elle prend place dans le fichier de configuration C:\Program Files\Apache Group\Apache\conf\httpd.conf. Pour renvoyer l'URL http://www.monserveur.com vers http://www.monserveur.com/cgi-bin/library , ajoutez la ligne suivante dans le fichier httpd.conf:
Redirect /index.html http://www.yourserver.com/cgi-bin/library
Vous pourrez ensuite atteindre votre système de bibliothèque numérique directement depuis l'URL http://www.monserveur.com . Si vous souhaitez plutôt que ce soit l'URL http://www.monserveur.com/greenstone qui soit renvoyée vers http://www.monserveur.com/cgi-bin/library , c'est la ligne suivante qu'il faudra inclure dans le fichier httpd.conf:
Redirect /greenstone http://www.yourserver.com/cgi-bin/library
Si votre ordinateur ne dispose pas de nom dans le DNS (ou système de noms), tel que «www.monserveur.com» dans l'exemple donné ci-dessus, il suffit de remplacer www.monserveur.com par localhost dans toutes les lignes d'exemple. Tant que le navigateur et le serveur web fonctionnent sur la même machine – ce qui est sûrement le cas si votre ordinateur ne dispose pas de nom dans le DNS – l'effet obtenu sera exactement le même.
Au lieu de placer les directives de redirection dans le fichier httpd.conf, on peut tout aussi bien les placer dans un fichier appelé .htaccess, et placé dans le répertoire racine des documents du serveur web. Cette solution présente même deux avantages sur la précédente. D'abord, les modifications apportées au fichier .htaccess sont immédiatement actives, alors qu'il faut redémarrer le serveur web Apache pour observer les effets de changements apportés au fichier httpd.conf. Ensuite, il faut généralement être connecté en tant que l'utilisateur «root» sur les systèmes Unix pour pouvoir éditer le fichier httpd.conf, mais ce n'est souvent pas le cas du fichier .htaccess.