Carnet Wiki

QuestionsDebutantCP_11

Dans une première série de notes, nous passions en revue les notions initiales de Spip.

Quelques jours ont passé : après la création d’une page spécifique (.../spip.php?page=mapage),
l’objectif est désormais de comprendre ce que l’on fait !

La première question que se pose tout développeur informatique, c’est simplement :

Où se trouve le code-source de mon site ?

Eh bien, il n’est pas facile de répondre, sauf à dire une banalité : « sur le serveur Web ! ».

  1. d’abord, comme tout programme, les sources ne sont pas dans un seul fichier !
    Comme les autres langages, PHP [1] permet de gérer des bibliothèques et des routines en sous-programmes. Mai au contraire d’un programme client-serveur exécutable traditionnel monobloc, un site Web est composé d’un certain nombre de « pages », correspondant à des « requetes » au serveur, plus précisément à des appels de fichiers PHP (en source) autonomes [2]
  2. pour le traitement des requetes a notre site SPIP, quelque soit l’URL demandée, tout repasse par un noyau redirecteur d’interpretation, le fameux spip.php, le seul fichier .php présent à la racine de votre site ; n’essayez pas tout de suite de le descendre, c’est —disons simplement- imb.... Laissons plutot opérer la magie de SPIP, car
  3. chaque page de demande correspond à l’interprétation exécutant un squelette .html
    HTML ? c’est juste un fichier en mode texte [3] avec un langage balisé, comprendre qui embarque des précisions de présentation et mise en page, écrites dans des balises HTML : tout ce qui est entre < et > doit etre intreprété comme langage HTML et non affiché par le navigateur...
  4. donc, chaque « page » que vous mettez au point est donc simplement l’interprétation d’un squelette HTML que SPIP va chercher dans le dossier ./squelettes.
    Bon, on va élucider tout de suite les deux grosses questions que posera tout observateur avisé :
  • chaque squelette est rempli avec des données de vos articles et rubriques, donc il est interprété pour montrer toutes les pages de ce meme type
  • en fait, SPIP n’utilise pas souvent un seul fichier squelette, mais va automatiquement chercher des sous-ensembles, justement nommées noisettes que le squelette principal va #INCLURE, en les récupérant en plein d’endroits [4], selon les plugins que vous avez activés...
  • en complément de la connaissance HTML et CSS minimum, il reste un point spécifique [5] à prendre en compte : la structure de présentation des données dans les pages de squelettes !
    Contrairement à d’autres outils plus... mélangés à PHP [6], SPIP demande seulement d’ajouter les modifications suivante à votre page HTML :
    • des balises <BOUCLE_xxx(TABLES) .. pour pouvoir parcourir les articles en Tables
    • des balises #CHAMP et [(#REM) .. ] pour spécifier les valeurs affichées
  • il est donc temps de reprendre les bases du « langage SPIP », décrites dans la documentation officielle du Webmestre qui permettent plus facilement de modifier tant l’apparence de vos pages (comme les thèmes ou les CSS), ou leur présentation (c’est-à-dire les boucles d’extraction de données de la base...), sans danger pour l’ensemble du site !

Bonne lecture, et à une prochaine... QuestionsDebutantCP_12

[1SPIP comme beaucoup de logiciels du Web, est écrit en PHP
PHP est un logiciel libre, mais les programmes ecrits en PHP ne le sont pas toujours, hélas ...

[2Fichiers autonomes, qui peuvent utiliser des sous-fichiers e commun, et qui doivent se relayer/relier les uns aux autres...

[3Donc lisible facilement : utilisez la combinaison Ctrl+U ou "Voir le Source sur votre Navigateur

[4SPIP explore comme un PATH en priorité le répertoire./squelettes mais sinon il utilise les squelettes et/ou noisettes correspondants de ./squelettes-dist ou plutot de ./plugins/auto/zpip_v1/* ( car nous utiliserons immédiatement ZPIP = vous irez lire Zpip et la création rapide de pages et Le Squelette Zpip !! « même pas peur ! » ) sans oublier d’explorer tous les fichiers *.html qui pourraient aussi se trouver du coté de ./plugins/auto/...*/

[5remarque valable pour tous les CMS et les moteurs de Templates...

[6Ne me demandez pas lesquels, je considère que cette architecture non aboutie représente un risque inutile pour les rédacteurs novices ; déjà qu’il est pas toujours facile de s’y retrouver dans les HTML et CSS , pas la peine de le parsemer au milieu d’instructions d’échos PHP, -pardon- de <?php echo .... ; ?>, bonne chance aux erreurs qui cassent .. le programme de CMS !

YannX - Mise à jour :22 mars 2012 à 23h15min