Etiquetage ICRA automatique

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

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.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom