Respect des droits d'auteurs et droits voisins — Refus des mesures techniques de protection (MTP)
J'ai acheté un lecteur de DVD grâce au plus grand des hasards : Le DVD n'aurait eu aucun intérêt pour moi si le Japon n'était pas dans la même zone géographique que la France (zone 2). Actuellement, je peux acheter des DVD de films et de séries télé Japonaises qui ne seront très probablement pas importées en France.
Le Sporniket, sa vie, son œuvre
À retenir
Outils
Vie pratique
Portfolio
Présidentielles
Culture
- Respect des droits d'auteurs et droits voisins — Refus des Mesures Techniques de Protection (MTP)
- Licence globale : finalement je suis contre...
- Lettre à la SACEM : Réaction par rapport au projet de loi DADVSI
- Reprenons en main la culture !
- Gestion Numérique des droits (DRM) : une question de confiance
- Gestion Numérique des droits (DRM) : une question de confiance (2)
Archives
- Novembre 2006
- Octobre 2006
- Septembre 2006
- Aout 2006
- Juillet 2006
- Juin 2006
- Mai 2006
- Avril 2006
- Mars 2006
- Février 2006
- Janvier 2006
- Décembre 2005
- Novembre 2005
- Octobre 2005
- Septembre 2005
- Aout 2005
- Juillet 2005
- Juin 2005
- Mai 2005
- Avril 2005
- Mars 2005
- Février 2005
- Janvier 2005
- Décembre 2004
- Novembre 2004
- Octobre 2004
Sporniket connection
- Sporniket-Studio.com, mon catalogue de posters
- Sporniket version WAP, des logos et des sonneries à télécharger
- Sanctuaire Tokugawa, cours de japonais en ligne et gratuit
- Mon blog sur In Libro Veritas
Spornikethon
- Mes créations vous plaisent ?
- Vous voulez me soutenir financièrement ?
- Cliquez sur un des boutons ci-dessous selon le montant du dons.
- Merci !
Rouleaux de blogs
Mes liens
- Non à la culture vérouillée en France
- Non à la brevetabilité des logiciels en Europe
- Musique légale et gratuite à télécharger
- Promotion d'artistes proposant de la musique légale et gratuite à télécharger
- Associations pour le Maintien d’une Agriculture Paysanne
- La Bible
- Wikipédia
- Le Trésor de la Langue Française Informatisé
- Web-Referanz, création de sites internet
- Liste prête à l'emploi pour Adblock
- Partitions pour guitare classique
- Forum francophone pour les collectionneurs et créateurs de poupées
Le webring de la 3d francophone
Bombardement Google
Utiliser les inclusions pour utiliser des gabarits
Les solutions de gestions de contenu récentes proposent souvent un système de gabarits ("templates") pour personnaliser l'aspect, le style du site. En PHP, il est très facile de se doter d'un tel système.
Les fonctionnalités d'un système de gabarits
- Structure de la page
- Le gabarit permet de structurer la page à sa convenance (tableau, div, etc...).
- Modularité
- Le gabarit permet de choisir les modules à afficher. (On se place ici dans le contexte d'un site qui affiche une collection de modules plus ou moins indépendant.)
- Simplicité
- A l'intérieur de la structure définie par le gabarits, des marques indiquent l'emplacement pour une donnée précise (titre, contenu d'un article, message globale, etc...). Idéalement, le gabarit ne contient pas de programme (affichage sous condition, boucle, etc...) : toute structure programmatique est une source potentielle d'erreur d'autant plus difficile à repérer que le gabarit est complexe.
Intégration d'un système de gabarits
Une application PHP utilisant un système de gabarits effectuera son traitement dans cet ordre, à peu de choses près :
- Récupération des paramètres
- Traitement de données
- Définitions des fonctions d'affichages et des valeurs affichables
- Inclusion du gabarit global
Les fonctions d'affichages peuvent aussi faire appel à des gabarits, qu'on qualifiera ici de locaux.
Gabarit global
Idéalement l'inclusion de ce gabarit est la dernière instruction d'un script : tous les traitements sont effectués, et les données sont prêtes à être affichées. Quant aux fonctions d'affichage, elle sont utilisables telles quelles, toutes les initialisations nécessaires ayant été effectuées.
Exemple
Voici le gabarit global utilisé par sporniket.com :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-Type"/> <title><?=$page->getLabel()?> – <?=$messages["TITLE"]?></title> <link rel="stylesheet" title="<?=$messages["TITLE"]?>" type="text/css" href="/styles/sporniket.css"/> <link rel="start" title="<?=$messages["TITLE"]?>" href="<?=$linker->getTopPage()?>"/> </head> <body> <div id="container"> <div id="content"> <div id="header"> <?showPagelet('pagelet/access','pagelet_header.xhtml')?> <?showPagelet('pagelet/header','pagelet_header.xhtml')?> </div> <div id="internals"> <?showPagelet('pagelet/categories')?> <?showPagelet('pagelet/sticky')?> </div> <div id="externals"> <?showPagelet('pagelet/mysites')?> <?showPagelet('pagelet/blogroll')?> <?showPagelet('pagelet/links')?> </div> <div id="body"><?showBody()?></div> <div id="footer"> <p id="copyright"><?=$messages["DIRECTION_COPYRIGHT"]?></p> <p id="browser"><?=$messages["DIRECTION_BROWSER"]?></p> </div> </div> </div> </body> </html>
Gabarit local
Un gabarit local est inclus dans une fonction. Toutes les variables utilisées dans le gabarit doivent être visible dans la fonction : les objets globaux doivent donc faire l'objet d'une déclaration dans le corps de la fonction.
Exemple
Pour afficher les menus, on utilise le gabarit local suivant :
<div class="Pagelet"> <h2><?=$page->getLabel()?></h2> <?=$page->getData()?> </div>
La fonction qui inclus le gabarit est la suivante :
<?php /* (c)2004 David Sporn This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2.1 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ function showPagelet($pageName, $template = 'pagelet.xhtml') { global $messages, $request, $linker, $pageBase, $pageFilter ; $pageFilter->setName($pageName) ; $pagelet = $pageBase->getList($pageFilter) ; if (count($pagelet)) { $page = $pagelet[0] ; include('templates/'.$template) ; } } ?>
Conclusion
Le point clé est la définitions des fonctions d'affichages et des valeurs affichables, autrement dit la définition des fonctionnalités accessibles depuis le gabarit.