Créer un Freesite en html
De Freenet Doc.
Attention cet article est en cours de validation par l'équipe de documentation, par conséquent les informations que vous pouvez y trouver peuvent être erronées et/ou incomplètes (en savoir plus sur la validation des articles)
Sommaire |
Présentation générale
Cet article va vous permettre de réaliser un site Web qui a pour but d'être publié sur le réseau Freenet.
Ce type de site est connu sous le nom de Freesite.
Le processus de conception d'un Freesite est semblable à celui d'un site Web classique, mais il y a quelques différences notables au niveau du fonctionnement.
La latence du réseau et la manière dont les données sont stockées sur le réseau Freenet sont les principales différences de fonctionnement.
Dans cet article, quelques conseils vous sont prodigués afin de rendre le chargement de votre Freesite aussi rapide que possible au plus grand nombre de lecteurs ; et la façon de le faire connaitre efficacement.
Vous devez posséder les compétences de base dans les technologies suivantes :
- le fonctionnement de Freenet ;
- le langage HTML ;
- les feuilles de style CSS.
L'idée fondamentale est que, vous concevez votre site Web comme d'habitude en utilisant le langage HTML et une feuille de style CSS ; et pour terminer insérez le site sur le réseau Freenet.
Fproxy
FProxy est le logiciel qui permet de consulter les Freesites en utilisant un navigateur Web standard.
Le noeud Freenet vous permet de :
- stocker des fichiers sur réseau ;
- rechercher des fichiers sur le réseau, (y compris des fichiers HTML).
Mais le noeud Freenet ne parle pas nativement le protocole HTTP employé par votre navigateur Web pour récupérer des page sur les serveurs Web.
FProxy est donc un intermédiaire (proxy) entre votre navigateur Web et votre noeud Freenet, il transforme les requêtes HTTP en requêtes compréhensibles par le noeud Freenet.
FProxy fait partie intégrante de votre noeud Freenet, il est donc activé par défaut.
Les adresses des Freesites
Les sites Web classiques disposent d'un nom facile à retenir (nom DNS), comme « www.freenet-doc.info ». Ce nom est enregistré auprès d'une autorité qui centralise tous les noms de domaines (un registrar).
Freenet est un réseau décentralisé, cette approche ne peut donc pas s'appliquer.
A l'inverse, les adresses des Freesites sont basées sur leur contenu, ou sur les clés secrètes dont disposent les propriétaires des Freesites.
Malheureusement cela signifie que les adresses des Freesites sont de longues chaînes de caractères qui peuvent être formées d'une centaine de caractères aléatoires, elles ne sont donc pas faciles à mémoriser.
Les adresses des Freesites sont également connues sous le nom de clés, ces clés permettent de localiser et de déchiffrer les fichiers vers lesquels elles pointent.
Freenet met à notre disposition quatre types de clés.
Les clés KSKs
Les clés KSK sont peu utilisées, car leur nom est libre. Chacun peut donner le nom qu'il veut, ainsi elles sont spammables : un utilisateur pourrait envoyer un freesite sous le nom de KSK@monfreesite Mais s'il veut mettre à jour son freesite, il va devoir choisir un autre nom, puisque celui-ci est déjà pris. Il va utiliser KSK@monfreesite-1 par exemple. Mais n'importe qui peut envoyer la version 2 !
Les clés CHKs
Les clés CHK sont totalement dépendantes des fichiers vers lesquels elles pointent (la clé est basée sur le contenu du fichier).
Si deux personnes insèrent séparément le même fichier sur le réseau Freenet, la clé CHK de ce fichier serra identique.
Voici un exemple de clé CHK :
CHK@b7j....../monFreesite.html
Les clés CHK ne sont pas du tout adaptées pour les Freesites ; car si vous changez très légèrement (ou complètement) votre site et que vous le réinsérez à nouveau, vous allez avoir une clé totalement différente.
Les clés SSKs
Les clés SSK permettent se signer le contenu d'un Freesite avec une clé secrète que seul le propriétaire du Freesite connait.
Afin d'insérer un fichier identifié par une clé SSK, il est nécessaire d'avoir une paire de clés SSK. La première de ces deux clés est une clé secrète qui est uniquement utilisée pour insérer des fichiers. La seconde clé est une clé publique que tout le monde peut utiliser afin de consulter les fichiers.
La génération d'une paire de clés SSK est gérée de manière transparente par l'outil d'insertion de Freesites (par exemple jSite).
Ce type de clé est particulièrement adapté pour les Freesites, car il permet de réaliser des mises à jour sur un Freesite sans que celui-ci change de clé.
La première édition peut ressembler à cela :
SSK@d5K....../monPremierFreesite.html
Et la seconde édition peut être signée avec la même clé et ressembler à ça :
SSK@d5K....../monSecondFreesite.html
Le problème avec ce fonctionnement, est qu'il ne permet pas de récupérer facilement la dernière version d'un Freesite. La convention est donc d'utiliser un nombre placé dans l'adresse du Freesite afin de gérer la version du Freesite :
SSK@d5K....../monFreesite-1/index.html
SSK@d5K....../monFreesite-2/index.html
SSK@d5K....../monFreesite-3/index.html
Maintenant, le visiteur qui souhaite consulter les différentes versions d'un Freesite peut incrémenter le numéro de version et ainsi arriver jusqu'à la version finale de celui-ci.
Cette opération n'est pas très pratique à réaliser manuellement. L'opération est automatisée par le noeud et des utilitaires comme jSite grâce aux clés USK.
Les clés USKs
Principe général
Les clés USK sont en tout point identiques aux clés SSK, elles font référence aux mêmes données. Elles permettent simplement de gérer l'automatisme cité ci-dessus.
Quand vous demandez à votre noeud Freenet de récupérer une clé USK, celui-ci lance un processus qui récupère la dernière version disponible de cette clé. Le format de la clé avec le numéro de version est différent de celui d'une clé SSK.
Si quelqu'un demande la quatrième version de votre Freesite en utilisant la clé :
USK@d5K....../monFreesite/4/index.html
Si vous avez déjà publié la cinquième et la sixième version du Freesite, le noeud Freenet du visiteur va automatiquement récupérer la dernière version, même si la clé entrée n'est pas celle de la dernière version :
USK@d5K....../monFreesite/6/index.html
Vous allez donc insérer votre Freesite en utilisant une clé secrète SSK, puis publier ou créer des liens vers votre Freesite en utilisant la syntaxe USK. De cette manière, les gens qui visitent votre Freesite disposent toujours de la version la plus récente, même si sur d'autres sites des liens pointent vers une ancienne version de votre site.
En pratique...
Cependant, en pratique, cet automatisme ne fonctionne pas toujours très bien. La recherche de la nouvelle version est très rapide pour améliorer le temps d'affichage des freesites, et il se peut qu'une mise à jour existe, mais qu'elle ne soit pas accessible rapidement. Le noeud ne retourne alors pas la version la plus récente du freesite. Pour forcer une recherche plus scrupuleuse dans votre datastore ou sur le réseau freenet, il suffit d'ajouter un tiret devant le numéro de version du freesite. Le noeud va alors rechercher en principe pendant plus d'une minute, une nouvelle édition du freesite à partir de la version stipulée. Il est alors moins probable de passer à côté d'une nouvelle version. Toutefois, si la version actuelle d'un freesite est 30, et que vous lancez la recherche à partir de 1, il est possible que le noeud ne trouve pas de versions intermédiaires, et qu'il vous retourne la version 1 comme étant la plus récente (et même qu'il vous dise qu'il ne trouve aucune donnée). Il vaut mieux lancer la recherche à partir de l'édition la plus récente connue. Par exemple, dans le cas précédent, vous êtes sur la version 4 et vous cherchez une éventuelle nouvelle version :
USK@d5K....../monFreesite/-4/index.html
Il est donc préférable d'utiliser cette méthode si l'on veut s'assurer de récupérer la dernière version d'un freesite, ou de simplement spécifier la dernière version si on la connaît, pour éviter de perdre du temps dans le processus de recherche.
Sur certains freesites, le système est automatisé :
<A href="/USK@wGMq3tSbT7o0EtYFgTdwiof740bLpWtrB2RtVpIxQeA,5Zh9cvRIf7grmbtoQ6wPmB4gEug1BORNrpIs5yrUBXM,AQACAAE/AKG/38"> <IMG height="36" alt="AKG activelink" name="images1" align="BOTTOM" width="108" src="/USK@wGMq3tSbT7o0EtYFgTdwiof740bLpWtrB2RtVpIxQeA,5Zh9cvRIf7grmbtoQ6wPmB4gEug1BORNrpIs5yrUBXM,AQACAAE/AKG/-38/activelink.png" border="0"></A>
Le noeud recherche la nouvelle version à partir de l'édition 38, et quand l'activelink s'affiche, le visiteur est automatiquement renvoyé vers la plus récente des versions fraîchement recherchée. Le processus est assez lent, et il est peu recommandé d'utiliser cela de manière systématique sur un freesite ou pire : un index. Car le noeud des visiteurs serait vite surchargé.
La page d'accueil
Il est aussi possible de mettre le lien d'un freesite en page d'accueil de votre noeud : freenet vous avertira quand il trouvera une nouvelle version du freesite, mais c'est parfois aussi lent qu'avec la méthode de l'USK sans tiret...
Concevoir votre Freesite
Vous pouvez concevoir votre Freesite en utilisant les outils que vous souhaitez, par exemple un éditeur de texte ou un éditeur WYSIWYG.
Stockez tous les fichiers des votre Freesite dans un répertoire dédié, vous pouvez utiliser des sous-répertoires si vous le souhaitez. Vous pouvez employer des images, des Favicons et des Activelinks.
Vous pouvez employer le langage HTML et des feuilles de style CSS. Par contre, tous les éléments qui essaient de se connecter à un serveur externe à Freenet sont filtrés par FProxy, cette connexion peut-être utilisé afin d'identifier votre adresse IP et ainsi briser votre anonymat.
Cela inclut :
- le Javascript ;
- les liens vers les sites Web classiques ;
- les images ou feuilles de style CSS hébergées sur des sites Web classiques ;
- les animations Flash ;
- les Applets Java.
Évitez donc d'employer les technologies semblables.
Enfin, sachez que si vous souhaitez faire un blog facilement et sans vous préoccuper ni du code HTML ni du code CSS, il existe un logiciel qui a été porté pour Freenet et qui fait automatiquement toutes les opérations nécessaires à la mise à disposition de votre Freesite (sauf le référencement) : Thingamablog. Lisez néanmoins l'article jusqu'au bout, puisque certains conseils peuvent être utiles même dans le cas où vous l'utiliseriez.
Faites simple
La latence est élevée sur Freenet, cela signifie que télécharger un Freesite peut prendre du temps, particulièrement si vous n'utilisez pas d'un accès haut débit. C'est le prix à payez pour garantir votre anonymat.
En conséquence, vous devez essayer de minimiser la taille de votre Freesite, et limiter le nombre de cliques nécessaires pour naviguer à travers votre site.
Cela signifie :
- évitez d'employer trop d'images, et encore moins de grosses images ;
- employez des feuilles de style CSS plutôt que les attributs HTML ;
- découpez le Freesite en sous-sites si celui-ci devient trop grand ;
- utilisez une grande page plutôt qu'une multitude de petites pages.
Rappelez-vous que Freenet stocke les données par morceaux de 32 Ko. Ainsi, chaque morceaux de 32 Ko de données que vous vous ajoutez à votre Freesite peut ajouter plusieurs secondes au temps de chargement de celui-ci.
Quand vous insérez beaucoup de fichiers dans une clef SSK, votre noeud va rassembler automatiquement les fichiers avant de les compresser pour économiser de l'espace.
Ces paquets s'appellent des « conteneurs » et peuvent contenir 4 Mo de données. Vous ne pouvez pas contrôler la manière dont les fichiers sont regroupés, c'est pour cela que la taille de votre site ne doit pas dépasser cette taille. Même avec cette faible taille le Freesite peut prendre du temps pour être chargé, donc plus le site est petit, plus il est rapide à charger.
Les images
Rappelez-vous que la racine de votre Freesite, en ce qui concerne FProxy est la partie située avant la clé USK.
Afin d'inclure des images dans votre Freesite, utiliser la syntaxe suivante (noter qu'il n'y a pas de slash au début) :
<img src="monImage.jpg" alt="Description de mon image"/>
<img src="images/monImage.jpg" alt="Description de mon image"/>
<img src="../monImage.jpg" alt="Description de mon image"/>
Pour le dernier exemple, notez que la page HTML doit être placée dans un sous-répertoire.
Assurez vous bien d'utiliser l'attribut « alt » sur vos images, car certaines personnes désactivent l'affichage des images afin d'accélérer la navigation, ou ont des problèmes pour les récupérer.
Vous pouvez inclure des images stockées sur d'autres Freesites, cette pratique est encouragée (consultez la partie sur les Activelinks).
Employez la syntaxe suivante pour inclure une image d'un autre Freesite (notez le slash au début) :
<img src="/USK@d5K..../unAutreFreesite/5/uneAUtreImage.jpg"/>
Les Activelinks
Un Activelink est juste une image sur votre Freesite qui peut être utilisée par un autre Freesite pour faire un lien avec le votre.
Il est vivement conseillé d'utiliser un Activelink pour son Freesite.
Sur un site Web classique l'utilisation d'un Activelink peut s'apparenter à « faire de la pub ».
Le grand avantage de cette technique est que si quelqu'un inclus l'Activelink de votre Freesite dans le sien, alors n'importe qu'elle personne visitant le Freesite de cette personne télécharge également une grande partie de votre Freesite dans le cache de son noeud Freenet.
C'est pour cela que Freenet utilise des conteneurs afin de regrouper les fichiers qui font partie de la même insertion.
Par convention, un Activelink est stocké dans le répertoire racine de votre site, s'appelle « activelink.png » et doit faire 108 Pixel de largeur et 36 Pixel de hauteur. Il est conseillé de respecter cette convention, sinon cela peut complexifier l'indexation de votre Freesite par d'autres personnes ou par les robots d'indexation.
Voici les code HTML qui permet d'afficher l'Activelink d'un Freesite :
<a href="/clé/unAutreFreesite/1/">
<img src="/clé/unAutreFreesite/1/activelink.png" alt="unAutreFreesite" width="108px" height="36px"/>
</a>
Un Freesite sans Activelink est par rapport à un site avec un Activelink voué à mourir avec le temps, à moins qu'il soit très populaire. Si votre Freesite devient trop gros, envisagez de le découper en différents sites (vous pouvez utiliser la même clef pour les deux, changez juste le nom du site) et utilisez les Activelinks de chacun pour le connecter à l'autre.
L'icône favoris
Une icône pour les favoris (favicons) n'est pas indispensable, mais c'est une attention particulière pour vos visiteurs.
Les icônes favoris sont de petites images que les navigateurs Web affichent dans la liste des favoris, ou à côté de la barre d'adresse, ou dans les onglets du navigateur.
Par exemple, l'icône favoris de du site officiel de Freenet est un petit lapin bleu dans une boîte blanche.
Créez un fichier « .ico » spécial appelé « favicon.ico » en utilisant votre programme préféré de retouche d'images. La taille de cette icône est de 16x16 pixels.
Mettez cette icône dans le dossier de votre Freesite et faite la connaître de votre navigateur en ajoutant le code HTML suivant dans la section <head></head> de votre page :
<link rel="Favicon de mon Freesite" href="images/favicon.ico" />
Les liens
Il est conseillé de ne pas mettre de liens vers des sites Web classiques afin de protéger l'anonymat de vos lecteurs. Néanmoins, ce n'est pas interdit, et la syntaxe pour le faire reste la même que sur les sites web classiques.
Votre Freesite peut bien sûr contenir des liens vers d'autres Freesites.
Employez la syntaxe suivante :
<a href="/clé/unAutreFreesite/5/uneAutrePage.html">Mon lien</a>
Notez que le slash au début est très importante, autrement le navigateur pensera que vous vous référez à un fichier situé dans votre Freesite appelé clé/unAutreFreesite/5/uneAUtrePage.html .
Pour faire un lien vers une autre page de votre Freesite, il n'est pas nécessaire d'inclure la clé :
<a href="uneAutrePage.html">
<a href="SousRépertoire/uneAUtrePage.html">
<a href="../uneAutrePage.html">
Les feuilles de style
CSS signifie Cascading Style Sheets (feuilles de style cascadées). Elles sont très utiles afin de séparer les balises employé par le langage HTML (paragraphes, titres, etc.) des balises de style (couleurs, polices, tailles, etc.).
Si votre site est composé de plusieurs pages, la feuille de style peut être partagée à partir d'un fichier séparé. Cela permet de limiter la taille globale du site et aussi simplifier les mise à jour.
Placez vos informations en rapport avec le style dans un fichier nommé par exemple style/main.css et utilisez le dans la section <head> de la page :
<link rel="stylesheet" href="styles/main.css" type="text/css"/>
Si votre Freesite est constitué d'une seule page, le navigateur peut charger la page HTML avant de trouver la feuille de style, cela est bien entendu problématique.
Dans ce cas, vous pouvez inclure le code CSS dans l'entête de votre page HTML comme cela :
<style type="text/css">
h1 { color:#FF00000; }
p { font-size:small; }
</style>
La balise titre
Tous les Freesite doivent disposer de la balise "titre" dans la section "head" de votre page HTML.
Les robots d'indexation utilisent cette balise afin d'afficher le nom exacte de votre Freesite.
La balise ressemble à cela :
<title>Le titre de mon Freesite</title>
La balise méta de description
Il y a plusieurs robots qui parcourent les liens des Freesites et produisent des index de Freesites. Ils emploient par exemple la description disponible dans les balises META pour stocker de courtes descriptions au sujet du Freesite.
Ajoutez une balise META dans la partie <head> de votre Freesite :
<meta name="description" content="Brève description de mon FReesite"/>
La balise méta de langue
Les Freesites peuvent être écrits en n'importe qu'elle langue.
C'est une bonne pratique de faire connaitre la langue de votre Freesite aux navigateurs et aux robots d'indexation.
Vous pouvez faire cela en ajoutant la balise méta "language" dans la section "head" de votre page :
<meta http-equiv="Content-Language" content="fr"/>
La balise méta de catégorie
Certains sites d'indexation utilisent une balise méta afin de classer les Freesites en catégories.
Ajoutez la balise méta suivante dans la section "head" de votre page :
<meta name="category" content="flog,games,movies"/>
Ajouter un lien dans les favoris
Vous pouvez fournir un lien sur votre Freesite de sorte que les gens puissent facilement ajouter un marque-page dans FProxy.
Cela signifie qu'a chaque fois que vous allez mettre votre Freesite à jour, le visiteurs sera avertis.
Si vous avez un Activelink, il peut aussi être utilisé dans la liste des marque-pages, cela signifie qu'ils vont mettre dans le cache de leur noeud votre site à chaque fois qu'ils vont visiter leur page d'accueils de Fpoxy.
Pour créer le lien « Ajouter au marque-page » utilisez le code suivant dans votre site :
<a href="/?newbookmark=USK@...AAE/monFreesite/4/&desc=Mon Freesite">Ajouter aux marque-pages</a>
Validez votre Freesite
Vous pouvez, si vous le souhaitez, valider que la syntaxe de vos pages HTML soit correcte en utilisant un outil de validation hors ligne comme :
http://htmlhelp.com/tools/validator/offline/index.html.en
Publier votre Freesite
Maintenant que vous avez effectué le travail le plus compliqué, il est temps d'insérer votre Freesite sur Freenet.
Vous pouvez utiliser n'importe quel outil d'envoi de fichiers disponible pour Freenet, mais jSite est conseillé car il est spécialement conçu pour publier des Freesites.
Vous pouvez donc consulter l'article "Insérer un Freesite avec jSite" afin de comprendre l'usage de jSite.
Faites connaitre votre Freesite
Si vous possédez déjà un Freesite, ajoutez lui l'Activelink de votre nouveau Freesite, les robots d'indexation devraient s'en occuper.
Vous pouvez annoncer votre Freesite sur les forums de discussion disponibles sur Freenet tel que Thaw, Frost ou FMS.
Les robots d'indexation préfèrent que les annonces de Freesites soient rédigées dans un format particulier comme celui-ci :
Name: monFreesite
Location: clé/monFreesite/0/
Activelink: clé/monFreesite/0/activelink.png
Description: Description de monFreesite.
Categories: La catégorie de monFreesite (par exemple : freenet, testing, ...)
Language: La langue de monFreesite (par exemple : fr, en)

