Filtre « Licence »

Permet de gérer un site avec des contenus aux licences diverses notamment Creative Commmons.

Lorsque qu’un site contient de nombreuses contributions, il est possible que se pose des problèmes de licences des contenus, un auteur préférant le copyright, un autre GPL et un autre creative commons.

Dans chacun des cas, il convient d’afficher la licence choisie. On pourra résoudre ce problème en créant un groupe de mots-clés : "licence" que l’auteur de l’article choisit après avoir rédigé son article (Prendre la configuration avancée des mots-clés avec sur ce groupe l’option "Un seul mot à la fois").

Dans le squelette article.html il suffit de lister cette licence

<BOUCLE_licence(MOTS){id_article}{type=licence}>
        <div class="license">#TEXTE</div> 
</BOUCLE_licence>

Avec la boucle suivante, on peut aussi proposer une licence par défaut si l’auteur oublie de choisir le mot-clé licence

<BOUCLE_licence(MOTS){id_article}{type=licence}>
        <div class="license">#TEXTE</div> 
</BOUCLE_licence>                                        <BOUCLE_licencedefaut(MOTS){id_mot=17}>
        <div class="license">#TEXTE</div> 
</BOUCLE_licencedefaut>                                                <//B_licence>

Dans le cas des licences Creatives commons il convient aussi d’ajouter des indications dans le code source (dans le format XML RDF) pour signaler le choix de la licence aux moteurs de recherche comme par exemple le moteur de recherche creative commons -yahoo

c’est là qu’intervient le filtre licence à ajouter dans mes_fonctions.php3 qui génére le code HTML associé à chaque licence

filtre « licence »

les valeurs reconnues par le filtre sont actuellement :
-  « Copyright »
-  « GPL »
-  « CC by »
-  « CC by-nd »
-  « CC by-nc-nd »
-  « CC by-nc »
-  « CC by-nc-sa »
-  « CC by-sa »

Exemple d’utilisation :
Nous avons utilisé ce système sur le site @-brest. Sur les mots-clés du groupe "licence", on utilise le champs descriptif pour savoir quelle licence on veut utiliser.

Ensuite on utilise le filtre à l’affichage de la page article.html dans le body de page HTML :

<BOUCLE_mot(MOTS){id_article}{type=licence}>
        <div class="license">#TEXTE [(#DESCRIPTIF|licence)]</div> 
</BOUCLE_mot>                                                

Voici le code en sortie HTML,lorsque l’on choisit un article avec une licence Creative

<!-- licence -->
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.fr"><img alt="Contrat Creative Commons" border="0" src="http://creativecommons.org/images/public/somerights20.gif" /></a><br />
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.fr" >Creative Commons</a>
<!--
<rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
           <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
           <license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.fr" />
        </Work>
        <License rdf:about="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.fr">
           <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
           <permits rdf:resource="http://web.resource.org/cc/Distribution" />
           <requires rdf:resource="http://web.resource.org/cc/Notice" />
           <requires rdf:resource="http://web.resource.org/cc/Attribution" />
           <prohibits rdf:resource="http://web.resource.org/cc/CommercialUse" />
        <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
         <requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
        </License>
</rdf:RDF>
-->

et voici le code de sortie HTML d’un article avec un simple copyright

<!-- licence -->
&copy; copyright auteur de l'article

-  Pour vérifier si votre licence creative commons est bien reconnue, il existe un validateur creative commons
-  Pour ajouter d’autres licences (licence PHP, Art libre,...), ajouter simplement des « case » dans le test de la fonction licence()

Discussion

2 discussions

  • 2

    le filtre licence est maintenant disponible en SVN

    cette version est compatible spip 1.9 et permet d’utiliser le filtre hors boucle [(#REM|licence{"cc by-nc-sa"})]

    • Bonjour

      j’ai suivi toutes les instruction mais rien ne s’affiche...

      meme avec [(#REM|licence« cc by-nc-sa »)]

      Peut etre ai je place le fichier mes_fonctions.php3 (php3 ou php d’ailleurs) au mauvais endroit. Où faut il l’installer ?

      Merci d’avance

    • Apres quelques tests, je me rend compte que la fonction licence recoit un $titre vide bien que l’appel soit fait explicitement avec licence(’copyright’) par exemple...

      Le parametre se perd ???

      Bizarre...

    Répondre à ce message

  • Bonjour et merci pour cette contrib.

    Toutefois, j’ai le plus grand mal à la mettre en place sur ma version de spip (1.8) avec un squelette sarka (cf. http://www.asso.ergoserv.info/).
    Il semblerait que je ne place pas ces codes au bon endroit (s’il y avait un endroit approprié !?). J’ai tenté à maintes reprises de placer ces codes à divers emplacements ... mais sans succès : rien ne figure en sortie dans le HTML. Peut-être un coup de main bienveillant pour m’aider à résoudre mon soucis ?

    Cdt,

    LB

    Répondre à ce message

Ajouter un commentaire

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

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

Dernière modification de cette page le 30 octobre 2015