UserLand Software
Powerful, cross-platform web scripting.
 

Publier

En selle !

À propos de cette introduction

À propos de la gestion d'un site Web

Pourquoi Frontier?

Pour commencer

Se mettre à table

Explorer les exemples

Votre premier site Web

Les bases du HTML dans Frontier

D'autres moyens d'automatiser le HTML

Soyez à l'aise avec le mode plan ("Outline")

Modèles ("templates")

Formater avec les outlines

Inclusions ("includes") et macros

Travailler avec des images

Glossaires et filtres

Defines et directives personnalisées

Publier

OutlineSite et NextPrev

Références relatives

Convertir votre travail

Récit d'un rendu

Où aller à présent ?

Termes, Trucs et Examples

Publier un site

Jusqu'à maintenant, chaque fois que nous avons regardé dans le fureteur le résultat que produisait Frontier, nous l'avons fait à travers la commande Preview Page. Cette commande, toutefois, n'est utile que jusqu'à un certain point.

Les documents HTML que cette commande produit sont placés dans des dossiers contenus dans un dossier fourre-tout appelé Websites, situé dans le même dossier que Frontier lui-même. Ce dossier Websites est en réalité un dossier de stockage temporaire où vous devriez faire le ménage de temps en temps. Une "vraie" publication de votre site irait dans le dossier que vous définissez spécialement grâce à #ftpSite.

Plus important, une "vraie" publication vous offre la possibilité de publier votre site entier en une seule fois.

Nous en venons à présent à des caractéristiques de la gestion d'un site Web par Frontier qui ne prennent tout leur sens qu'en terme de globalité du site, et qui risqueraient de vous rendre fou si vous deviez rendre votre site une page à la fois.

Le rendu de ce type, le "vrai" rendu, est appelé Publier ("publishing"). C'est un peu plus de travail que de prévisualiser une page dans le fureteur mais pas beaucoup plus. Vous sélectionnez une page et choisissez Publish Page dans le menu Web, ou, pour publier la totalité de votre site en une seule fois, sélectionnez n'importe quel objet de votre site -- à l'exception d'une table -- et choisissez Publish Table.

Mais n'essayez pas encore car nous devons d'abord préparer notre #ftpSite.

Où construire votre site

Ouvrez la table monPremierSite.#ftpSite et regardez dedans.

L'entrée #ftpSite.isLocal indique à Frontier s'il doit ou non créer les pages sur votre disque dur.

La valeur "false", dans "isLocal", indique à Frontier qu'il lui faudra lancer votre logiciel client FTP (comme Fetch ou Anarchie) et lui demander de télécharger les pages sur l'Internet à mesure qu'il les publie ! C'est une fonction vraiment pratique quand vous en avez besoin. À présent, ceci ne fonctionne que sur Mac, mais une connection automatique à un ou plusieurs clients FTP pour Windows est en bonne voie. Croisons les doigts...

Nous devons à présent régler les deux valeurs de #ftpSite.folder et #ftpSite.url.

La valeur de #ftpSite.folder représente le dossier sur votre disque dur dans lequel Frontier placera les pages Web au fur et à mesure qu'elles seront rendues. Une valeur par défaut a été silencieusement créée pour vous de façon à ce que vous puissiez commencer à publier votre site si vous le désirez. Mais à présent, nous voulons lui donner une valeur réelle.

(La valeur par défaut est de publier dans le dossier Websites qui se trouve dans le même dossier que Frontier. Mais en réalité, c'est la destination des page prévisualisées, non des pages publiées).

Malheureusement, il est difficile de se souvenir et d'écrire le chemin d'accès à un dossier sans se tromper, surtout quand vous le voyez dans un espace si réduit. Voici un raccourci commode; cela implique par contre de parler à Frontier en UserTalk, alors je ne vais pas vous expliquer les détails de ce que nous allons faire.

Allez dans le Finder, et créez le dossier dans lequel vous désirez rendre vos pages, s'il n'existe pas déjà. Maintenant, revenez à Frontier et, à partir du menu Open, choisissez Quick Script. La fenêtre de Quick Script apparaît (c'est l'interface "ligne de commande" de Frontier). S'il y a quelque chose dedans, sélectionnez-le et appuyez sur la touche d'effacement pour tout supprimer, et écrivez très exactement ce qui suit :


    file.getFolderDialog 
    ("", @websites.monPremierSite.["#ftpsite"].folder)

Pressez le bouton Run à la droite de la fenêtre de QuickScript et à partir de la fenêtre de dialogue qui s'ouvrira alors, choisissez le dossier désiré. Le chemin menant à ce dernier sera alors la valeur de l'entrée #ftpSite.folder.

#ftpSite.url sera utilisé par Frontier pour plusieurs tâches, comme lorsqu'il a besoin de connaître quel sera l'URL de votre site quand celui sera sur l'Internet. Si vous le connaissez, vous devriez l'insérer maintenant dans la valeur de #ftpSite.url. Pensez à mettre "http://" ou "file:///". En d'autres termes, si votre site est à http://www.borg.com/monsite/, mettez "http:\//www.borg.com/monsite/" (sans les guillemets).

À présent, vous pouvez fermer #ftpSite et l'oublier.

Publier votre site entier

Essayons à présent de publier l'ensemble de votre site. Si vous avez suivi cette introduction jusqu'ici, vous y avez fait beaucoup de changements, en vous entraînant. Revenons donc à ce site et faisons du ménage pour être sûr que nous allons travailler sur les mêmes documents.

Vous devriez avoir une page default dont le tire est "Bienvenue". Vous devriez avoir une page secondePage dont le #title est "Ma seconde page" et qui contient une macro renderObject qui inclut troisièmePage. Vous devriez avoir une page troisièmePage qui est un outline, qui n'a pas de directive #renderOutlineWith et pas de #title. Et vous devriez avoir quatrièmePage qui est un outline, qui a une directive #renderOutlineWith "tableOutliner", et à qui nous n'avons pas encore donné de titre. Nous y ajoutons donc : #title "Ma quatrième Page".

À présent, sélectionnez n'importe quoi dans la table du site (sauf une table !) et choisissez Publish Table. Après avoir vérifié que c'est bien cela que vous désirez faire (et que c'est la bonne table), Frontier va se mettre à l'oeuvre pendant quelque minutes, et affichera un dialogue vous indiquant que le travail est terminé (cela peut paraître stupide, mais quand vous aurez un site assez volumineux à publier, vous serez content que Frontier vous dise que le processus du rendu est finalement achevé).

Vous noterez que le fureteur ne vous montre pas les pages une fois rendues. Si vous ne publiez qu'une seule page, Frontier enverra cette page au fureteur mais n'activera pas ce dernier. Et si vous rendez un site au complet, Frontier n'envoie rien du tout au fureteur.

Vous pouvez aller dans le dossier et double-cliquer n'importe lequel des fichiers .html pour l'ouvrir dans votre fureteur (sur Mac, vous pouvez avoir à changer la valeur de user.html.prefs.textFileCreator to correspondre au code Créateur de votre fureteur).

Voir la source

Si vous utilisez Osa Menu sur un Macintosh, vous aurez droit à une commande supplémentaire. Le problème courant avec un document HTML, c'est que parfois on désire le visualiser dans le fureteur pour voir son formatage, et parfois on désire le voir dans un éditeur de texte pour en examiner le HTML.

Frontier vous offre dans le menu Script du Finder des options qui vous permettent de le faire. Avec un document HTML sélectionné, vous pouvez choisir soit View in Browser, soit Edit as Text File. La première fois que vous choisissez Edit as Text File, Frontier vous demande de choisir une application qui sera votre éditeur. À partir de ce moment-là, Frontier saura à quelle application envoyer le texte à éditer.

Même sans OSA Menu, mais toujours sur Mac, vous pouvez avoir l'équivalent de cette commande à partir de votre fureteur. Quand Frontier est activé, le fureteur a un menu Scripts en plus, et dans celui-ci, il y a un sous-menu intitulé Edit Local File qui vous permet d'ouvrir avec un éditeur de texte le document que vous êtes en train de regarder dans votre fureteur.

Enfin, que ce soit sur Mac ou Windows, vous pouvez toujours choisir "Afficher Source" dans votre fureteur. Ou utiliser NotePad ou BBEdit pour ouvrir directement un fichier .html.

La structure du site

Ce qu'il vous faut à présent expérimenter, c'est la manière dont la structure de l'ensemble de votre site sur le disque reflète la structure de ses tables dans Frontier.

Pour le constater, nous allons créer une table et mettre quatrièmePage dedans. Dans monPremierSite, créez une sous-table en utilisant New Sub-Table du menu Table. Appelez la "sub" (sans les guillemets). Coupez quatrièmePage de monPremierSite et collez la dans la table "sub" (supprimez toute entrée "item #1" qui pourrait rester). Maintenant allez à la table monPremierSite, publiez le site au complet, et examinez sa structure. Il y a un sous-dossier appelé "sub", et "quatrièmePage.html" est dedans, comme "quatrièmePage" est dans la table "sub".

Maintenant sortez quatrièmePage de la table "sub" et remettez-la dans la table monPremierSite puis supprimez la table "sub". Publiez le site au complet. Oups ! La table "sub"est encore la avec une copie de quatrièmePage.html à l'intérieur !

Frontier créé des documents et des dossiers qui refléteront la structure de la table de votre site, mais il ne supprime pas les documents et les dossiers (sauf quand ceux-ci sont remplacés par des documents et des dossiers portant le même nom au même endroit). Il vous revient de nettoyer votre site si la structure change ; Frontier ne le fera pas pour vous.

Cela se compare aussi à l'avertissement que je vous faisais quand je vous disais de ne pas sélectionner une sous-table par accident lorsque vous choisissez Release Table. Si par exemple vous aviez sélectionné "glossary" et choisi Release Table, vous auriez un dossier glossary dans le site sur votre disque avec peut être des trucs bizarres dedans.

C'est intentionnel car cela vous permet de construire uniquement une sous-table de votre site. Mais Frontier vous prendra au mot si vous lui dite de publier les tables tools, glossay ou images -- ou n'importe quelle autre sous-table qui n'est pas sensée être publiée. Donc, soyez prudent.

C'est aussi la raison d'être du dialogue qui débute le processus de Release Table : Il vous permet de réaliser que vous avez fait une erreur (de toute façon, si vous êtes comme moi vous cliquerez aveuglément sur OK !).

Cacher des éléments

Il y a un autre problème. Nous avons rendu troisièmePage en tant que troisièmePage.html. Sa seule fonction, en ce moment, étant d'être un objet inclus dans secondePage, nous avons besoin de "cacher" troisièmePage pour éviter qu'elle ne soit également publiée.

Arrangeons cela. Coupez troisièmePage de la table monPremierSite, ouvrez monPremierSite.#tools (créez cette table, au besoin) et collez y troisièmePage (supprimez toute entrée "item #1" qui pourrait subsister).

Maintenant, revenez à secondePage et changez la référence à troisièmePage (dans le paramètre de renderObject) pour qu'il pointe correctement troisièmePage. Sinon, secondePage ne pourra pas inclure troisièmePage comme elle le devrait. Désormais, je n'ai plus besoin de vous expliquer comment le faire, je vous laisse donc ce petit exercice.

Publiez encore une fois le site. Vous verrez que secondePage a pu inclure troisièmePage, et que troisièmePage n'as pas été rendu en tant que document individuel. C'est ce que nous voulions.

Les objets qui sont dans les tables tools, images et glossaires ne sont pas rendus quand un site est publié.

Publier via FTP

Si vous le désirez, vous pouvez combiner publier et télécharger via FTP. Vous faites cela en créant de nouvelles entrées dans votre table #ftpSite, puis en changeant la valeur de "isLocal" à "false" (sans les guillemets), en lançant Fetch ou Anarchie et votre fureteur, et en publiant de la façon habituelle.

Quelles sont les entrées que vous aurez besoin d'ajouter à votre table #ftpSite ? Vous avez déjà "folder" qui représente le dossier sur votre disque dur où vous faîtes vos publications locales. Ajoutez à présent "directory", qui est le chemin (en utilisant des barres obliques comme séparateurs) jusqu'au répertoire de la machine distante où vous allez mettre vos documents (en FTP, il est rare d'accèder à un serveur en entrant directement dans le répertoire qui contient les éléments du site Web).

Vous avez déjà "URL" qui indique comment les utilisateurs du Web peuvent allez voir votre site. Maintenant vous pouvez ajouter "domain" qui est la machine du point de vue de votre client FTP. Et vous avez besoin de "account" (votre login FTP) et de "password votre mot de passe.

Voilà par exemple comment je publie et télécharge en un seul mouvement un site Web dont je m'occupe (tous les noms et numéros sont fictifs, alors il ne vous servirait à rien de les utiliser).

account mattn
directory /usr/www/apache/htdocs/
domain 206.31.218.123
folder HD:local build:
isLocal false
password haha
url www.snarf.com/

Quand je choisis Release Rendered Page, Frontier publie la page dans le dossier local (utilisant l'entrée folder), puis active mon client FTP pour télécharger la page (utilisant les entrées domain et directories), puis active mon fureteur pour me montrer la page sur le net (utilisant l'entrée URL).

Un dernier mot là-dessus : imageRef ne télécharge pas les images sur l'Internet à votre place. Vous devrez donc trouver les images sur le disque et les télécharger vous même avec votre client FTP.

PreviousNext

   

Site scripté avec Frontier © Copyright 1996-98 UserLand Software. Dernière mise à jour de cette page : 6/04/98; 1:51:23. Date de création de celle-ci : 12/02/98; 20:34:10. Webmasters : francais@scripting.com.

 
Cette introduction a été adaptée pour Frontier 5 par Brent Simmons à partir de l'introduction pour Frontier 4 écrite par Matt Neuburg. © Copyright 1998 Emmanuel M. Décarie, Philippe Martin, et UserLand Software, Inc. pour cette traduction française.