Etiquetage ICRA automatique

All contributions published for previous SPIP versions

L’étiquetage ICRA automatique nécessite un squelette labels.html, deux filtres dans labels_fonctions.php3 et un appel dans l’en-tête des pages (tag META).

Qu’est-ce que l’étiquetage ICRA ?

A ce niveau, nous n’allons pas vous plagier la documentation officielle de l’ICRA (en français). Par contre on peut vous faire un petit résumé :

L’ICRA (organisme associatif) propose d’attribuer une étiquette à votre site internet afin de faciliter le travail des outils de filtrage (filtres parentaux...). L’ICRA propose d’ailleurs un filtre parental libre et gratuit basé sur cet étiquetage.

La forme de l’étiquetage ICRA

L’étiquetage d’un site est fort simple et se résume en un fichier (labels.rdf) et d’un appel dans les balises META du site, dans son en-tête (entre les tags <head> et </head>).

Pourquoi automatiser la génération de ces fichiers ?

L’ICRA propose un outil fort pratique : un générateur d’étiquettes où l’on a juste besoin de cocher certaines cases et y saisir l’adresse de son site. L’ICRA vous envoi le fichier labels.rdf par mail et vous propose même de le télécharger sur votre site par FTP directement à partir de son interface web.

C’est très bien, mais lorsqu’on se retrouve avec pléthore de sites sur un même thème il est bon de ne pas avoir besoin de refaire la procédure X fois. Je pense notamment aux webmestres des Académies de l’Éducation Nationale qui auraient tout un tas de sites d’établissements à étiqueter afin d’activer des filtres au sein des établissements scolaires.

Trois informations à automatiser

On commence par sélectionner le type de contenu à diffuser (et qui sera le même pour tous les sites de l’Académie) :
-  Aucune nudité;
-  Aucun contenu à caractère sexuel;
-  Aucune violence;
-  Aucun langage potentiellement offensant;
-  Aucune activité potentiellement dangereuse;
-  Contenu généré par l’utilisateur, comme des forums de discussion ou des tableaux de messageries (modéré);
-  Ce contenu apparaît dans un contexte à vocation éducative;

Dans le fichier d’étiquette il ne nous reste que 3 informations à automatiser : la date de première publication sur le site, le nom d’hôte du site et son URI.

Pour ce faire nous allons donc automatiser la page labels.rdf en la renommant en /squelettes/labels.html.

Pour la date de première publication sur le site nous allons utiliser la boucle suivante qui remplacera toute la section rdf:Description du fichier :

<rdf:Description rdf:about="">
    <dc:creator rdf:resource="http://www.icra.org" />
    <BOUCLE_art(ARTICLES){par date}{0,1}><dcterms:issued>[(#DATE|annee)]-[(#DATE|mois)]-[(#DATE|jour)]</dcterms:issued></BOUCLE_art>
    <label:authorityFor>http://www.icra.org/rdfs/vocabularyv03#</label:authorityFor>
  </rdf:Description>

Ainsi on recherche le premier article publié et on en sort sa date de publication.

Pour le nom d’hôte et l’URI c’est un peu particulier car il s’agit de morceaux de l’URL totale. L’URL est donnée automatiquement par #URL_SITE_SPIP.

Si #URL_SITE_SPIP renvoi http://www.mon-hebergeur.com/mon-hebergement/ alors le nom d’hôte sera mon-hebergeur.com et l’URI mon-hebergement.

Nous allons donc écrire deux filtres pour obtenir ces résultats (merci à Mortimer pour m’avoir donné ces codes), filtres que l’on placera dans /squelettes/labels_fonctions.php3 :

        /////////////////////////////////////////
        /// Pour le remplissage de l'étiquetage ICRA,
        /// il s'agit de fonctions utilisées uniquement
        /// dans la page /squelettes/labels.html

        /////////////////////////////////////////
function hostRestriction($url) {
 $url = str_replace('http://','',$url);
 $url = str_replace('www.','',$url);
 if(ereg('/',$url))
{return substr($url, 0, strpos($url,'/'));} else {return $url;}
}

function hasURI($url) {
 $url = str_replace('http://','',$url);
 $url = substr($url, strpos($url,'/'));
  if(ereg('/',$url))
{return substr($url, 1);} else {return '';}
}
        /////////////////////////////////////////

Ainsi le code de labels.html sera corrigé de la façon suivante :

<label:Ruleset>
    <label:hasHostRestrictions>
      <label:Hosts>
        <label:hostRestriction>[(#URL_SITE_SPIP|hostRestriction)]</label:hostRestriction>
      </label:Hosts>
    </label:hasHostRestrictions>
    [<label:hasURI>(#URL_SITE_SPIP|hasURI)</label:hasURI>]
    <label:hasDefaultLabel rdf:resource="#label_1" />
  </label:Ruleset>
exemple de fichier labels.html
Attention ce fichier n’est donné qu’à titre d’exemple et n’est pas adapté à tous les types de contenus. En l’occurence il a été paramétré pour des sites académiques de l’Education Nationale.

L’appel au fichier d’étiquetage dans les META

Il suffit maintenant d’appeler le fichier nouvellement créé (labels.html) qui, lui-même fait appel à des filtres particuliers (dans labels_fonctions.php3).

Ainsi, dans l’en-tête des pages du site on ajoutera (entre les balises <head> et </head>) la ligne suivante :

      <link rel="meta" href="#URL_SITE_SPIP/page.php3?fond=labels&flag_preserver=true" type="application/rdf+xml" title="ICRA labels" />

Ainsi notre génération automatique de fichier d’étiquetage ICRA est maintenant terminé et nous pouvons l’appliquer à tous nos sites internet.

updated on 25 October 2006

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom