Carnet Wiki

IncontournablesDeSpip

Version 2 — Décembre 2004 — noé de naama

Des commentaires :



Les incontournables de SPIP

I- Présentation

[Erreur...4][Erreur...5]SPIP est développé en PHP3 avec une base de données Mysql. Il est donc nécessaire que votre solution d’hébergement accepte ces technologies.

II – Les Principales caractéristiques de SPIP :

[Erreur...8]

III – Installation

[Erreur...10]

IV - Principes de fonctionnement

[Erreur...12]Spip est installé avec un jeu de squelettes par défaut. Pour modifier la manière dont s’affiche l’information, vous aurez besoin d’un webmaster maîtrisant le html mais aussi le concept de boucles Spip (ou bien capable d’installer un des squelettes disponibles sur le net).

Qu’est qu’une boucle Spip ?

Une boucle est une instruction qui indiquera au moteur de SPIP quelles informations afficher à l’écran. C’est une reformulation des commandes SQL qui permettent d’interroger la base. Le webmaster devra donc apprendre ce concept et sa syntaxe (fort heureusement très simple).

[Erreur...16][Erreur...17][Erreur...18]Dans quel fichier installer mes boucles ?

Dans un squelette.

Alors qu’est-ce qu’un squelette ?

[Erreur...22][Erreur...23]Pour résumer, comment créer ma première page ?

[Erreur...25]Un exemple ?

Rendez-vous à l’adresse suivante :
http://www.digitaldeclic.com/wanted et observez cette page… C’est du SPIP.

Comment en étudier le squelette ? En vous rendant à cette adresse :
http://www.digitaldeclic.com/wanted... et en affichant la source, tout simplement.

La première ligne est utilisée dans le cadre d’une contribution permettant de restreindre l’accès à certaines rubriques. Supprimez la donc si vous souhaitez recopier cette page afin de la décortiquer.

De nombreux squelettes sont disponibles sur le site SPIP-Contrib, n’hésitez pas à vous en inspirer. De même, des boucles sont présentées dans la caverne aux boucles.

V- Pour aller plus loin avec les boucles …

La syntaxe de boucles présentée ci-dessus est la plus simple possible. La boucle <BOUCLE_sous_rubrique> est un exemple complet des subtilités dans l’utilisation des boucles.

<B_sous_rubriques>
 	[<img src="img_exp/sheriff.gif" width="18" height="32" alt="">]
 	<BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par titre} {" | "}>
 		<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
 	</BOUCLE_sous_rubriques>
 </B_sous_rubriques>
 	<BOUCLE_racine_exclue(RUBRIQUES){titre_mot=racine}{doublons}>
 	</BOUCLE_racine_exclue>
 	<B_rubriques_soeurs>
 		[<img src="img_exp/sheriff.gif" width="18" height="32" alt="">]
 		<BOUCLE_rubriques_soeurs(RUBRIQUES){meme_parent}{par titre} { | }{doublons}>
 			<a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
 		</BOUCLE_rubriques_soeurs>
 	</B_rubriques_soeurs>
 <//B_sous_rubriques>

Décortiquons-la ensemble :

<B_sous_rubriques>
 <img src="img_exp/sheriff.gif" width="18" height="32" alt="">
 <BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par titre} { | }>


COMMENTAIRES :

[Erreur...34]- Les critères de recherche utilisés :
o {id_parent} permet de récupérer la liste des rubriques contenues dans la rubrique courante (c’est-à-dire les sous-rubriques de la rubrique actuelle)
o {par titre} permet de classer les résultats par ordre alphabétique. Ce classement se fait sur le champ ‘titre’ des rubriques.
o {" | "} permet de séparer les résultats par une espace insécable.

[Erreur...36][Erreur...37]En fait, tout ce qui se trouve entre </B_sous_rubriques> et <//B_sous_rubriques> s’affiche si et seulement si la boucle <BOUCLE_sous_rubrique…> ne renvoie aucun résultat.

[Erreur...39]- Cette boucle permet grâce au critère doublons d’exclure de l’affichage des boucles RUBRIQUES suivantes (n’importe où dans le squelette !) les rubriques dont un des mots-clés est « racine ».

[Erreur...41] COMMENTAIRES :
-   La boucle <BOUCLE_rubriques_soeurs…> fonctionne de la même manière que la boucle <BOUCLE_sous_rubriques…> mis à part le critère {meme_parent} utilisé au lieu de {id_parent}.
-   Le critère {meme_parent} permet de sélectionner les rubriques dépendant de la même rubrique que la rubrique en cours

<//B_sous_rubriques>

[Erreur...43][Erreur...44] Il arrivera certainement un moment où vous aurez besoin d’utiliser pour une rubrique donnée (ou un article, ou une fiche auteur…, mais notre exemple se basera sur les rubriques) un squelette spécifique. Par exemple, parce que cette rubrique présente les Foires aux Questions de votre site et ses sous-rubriques contiennent chacune une sous-rubrique particulière.
Posons que la rubrique en question est celle dont l’id est égal à 4. et les sous-rubriques concernées sont celles dont les id sont : 7, 8 et 9.

[Erreur...46][Erreur...47] - SPIP passe une première fois votre squelette dans la moulinette. Il considère alors TOUT ce qui n’est pas des boucles comme du texte !!! Donc <? Votre instruction php ?> est pour lui interprété comme un simple texte. SPIP crée alors une page qui est enregistrée dans le cache.
- L’internaute souhaite visualiser une page : il visualise la page du cache qui contient donc (en théorie) le résultat des boucles, du code html, du PHP et pourquoi pas du javascript... Le serveur interprète le code PHP puis renvoie une page ne contenant plus que des langages clients à votre navigateur...

[Erreur...49]

VIII – Côté rédacteurs : Les différents statuts

Spip permet de gérer les statuts suivants :
-  administrateur
-  administrateur restreint
-  rédacteur
-  rédacteur extérieur
-  visiteur (seulement si au moins un article a le forum qui lui est attaché en accès sur abonnement)

[Erreur...52][Erreur...53][Erreur...54]Un rédacteur peut :
o rédiger un article dans n’importe quelle rubrique et le proposer à validation (il ne peut plus modifier un article qu’il a écrit mais qui a été validé !)
o visualiser la liste des auteurs
o visualiser les mots-clés

[Erreur...56]