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()

updated on 30 October 2015

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...

    Reply to this 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

    Reply to this message

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