SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 35 visiteurs en ce moment

Accueil du site > Rédaction > Archives Rédaction > Etiquetage ICRA automatique

Etiquetage ICRA automatique

1er mars 2006 – par Bionet

7 votes

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>
HTML - 1.8 ko
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.

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.

  • Navigation AJAX

    31 janvier – 18 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)