Banspip 1.2, un squelette à [tag]

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Toutes les fonctionnalités présentes dans ce squelette sont accessibles par un simple [tag] dans le titre des rubriques. Cette possibilité libère l’administrateur du site de la dépendance de squelettes tels que rubrique-xx.html, ou encore article=yy.html

Avantage

Ce squelette offre un grand nombre de fonctionalités et permet de facilement décider quel modèle utiliser pour chaque article, rubrique, sans passer par des modifications par FTP.

Le principe de base est simple, le modèle d’un article/rubrique du site est choisit facilement par le numèros dans le titre [1] ou par un mot clef (tag) placé à la fin du titre.

Inconvénient

Ce squelette n’est pas aisé à configurer, et donc, il s’adresse à des webmestres avertis. Par contre, une fois maîtrisé, il simplifie considérablement la vie. Enfin, pour certaines fonctionnalités (documents privés, par exemple), il est nécessaire que votre hébergeur autorise les .htaccess.

Le squelette a été testé dans spip 1.8.1 et 1.8.2

Commençons donc par le commencement :

Les fonctionnalités

Pagination dans les articles
Ancienne contrib sur ce site, cette pagination dans un article se fait très simplement, avec 5 tirets, comme ci-dessous :
- - - - -
NB : Cette pagination ne fonctionne pas dans les articles n° titre 1. des rubriques de tag [article1].

Numérotation des articles et des rubriques
-  Les articles n° 0. (0PointEspace) n’apparissent pas dans la navigation. (ils sont utiles pour publier une rubrique vide, par exemple).
-  Les rubriques n° 00. -> 99. (XXPointEspace) n’apparaissent jamais dans la navigation.

Rubriques spéciales, sommaires alternatifs
-  rubrique : « 00. sousmenuprincipal » (titre obligatoire, sensible à la casse) : Affiche le texte du dernier article en date de cette rubrique en dessous du menu principal. C’est l’endroit pour mettre par exemple des sponsors ...
-  autres rubriques spéciales : voir dans les tags ci-dessous.
-  page sommaires alternatives : (accueils alternatifs) sommaire1.html, sommaire2.html. (Attention, différents pour spip 1.8.1 et spip > 1.8.1)

Tags des titres de rubriques
-  [tete] -> Le texte du dernier article en date de cette rubrique définit l’entête du site (en html). Suggestion : une rubrique cachée (débutant par 00.[espace])
-  [pied] -> Le texte du dernier article en date de cette rubrique définit le pied de page du site (en html entouré par ). Suggestion : une rubrique cachée (débutant par 00.[espace])
-  [siteder] -> Les 30 derniers articles des sites syndiqués du SECTEUR
-  [site] -> Les sites référencés et - éventuellement - syndiqués de cette rubrique, affichés par ordre alphabétique
-  [sitenum] -> Les sites référencés et - éventuellement - syndiqués de cette rubrique, affichés par n°site décroissant
-  [breve] -> N’affiche que des brèves les unes en dessous des autres par date inverse
-  [article1] -> Affiche dans le corps de la rubrique l’article n°titre 1. 15 titres d’articles par n° titre dans l’encart flottant
-  [agenda] -> Rubrique agenda séquentiel. Date debut = date pub, date de fin = date antér., organisateur = surtitre, , lieu = soustitre
-  [numinv] -> affiche les articles par n°titre décroissant
-  [rubnum] -> Cette rubrique affiche les sous-rubriques par n°titre croissant
-  [gallerie] -> Cette rubrique permet de créer une gallerie d’images, affichées par titre image ou n°titre image. Les images sont des documents joints à la rubrique. Un lien « Voir le diaporama », qui mène à un diaporama des images de la rubrique, est affiché si, et seulement si, un article de titre « 0. Diaporama » (0[POINT][ESPACE]Diaporama) est publié dans la rubrique.
Vous pouvez ajouter des fichier mp3 en commentaire aux images du diaporama. Pour être associé à une image, un fichier mp3 doit porter exactement le même titre que le document. Le démarrage du son sera automatique, si, et seulement si, un article de titre « 0. Son » (0[POINT][ESPACE]Son) est publié dans la rubrique.
NB : Les articles n°titre 0. n’apparaissent pas dans la navigation.
-  [listimg] -> Cette rubrique afiche les images du répertoire IMG (toutes les images publiques du site).
-  [listimgp] -> Cette rubrique affiche les images du répertoire IMG (toutes les images du site, accès privé).
-  [mp3] -> Rubrique qui affiche une série de mp3 et un player flash sous Creative commons. Paginée par 15 mp3.
-  [mp3pl] -> Les articles de cette rubrique affiche un lecteur mp3 avec une playlist de documents (mp3) joints. Il faut impérativement attacher le mot clé « mp3 » à l’article.
-  [video] -> En construction.
-  [contact] -> Cette rubrique offre un lien vers un formulaire permettant de contacter individuellement chaque auteur du site. Les auteurs dont le nom commence par _ (exemple _Visiteur) ne sont pas affichés. Les auteurs « principaux » (dont le nom commence par 0. - le n° est non affiché) sont placés en premier.
-  [contact0] -> (contactZERO). Cette rubrique offre un lien vers un formulaire permettant de contacter individuellement chacun des auteurs « principaux » du site (dont le nom commence par 0. - le n° est non affiché).
-  [contactnon0] -> (contactnonZERO). Cette rubrique offre un lien vers un formulaire permettant de contacter individuellement chacun des auteurs du site dont le nom commence ni par 0, ni par _ - le n° est non affiché).
-  [rubdoc] -> Cette rubrique n’affiche que des documents par date inverse et le texte de la rubrique
-  [rubdocftp] -> Cette rubrique simule un espace ftp et affiche les sous-rubriques de même type et les documents de la rubrique à la manière d’un index.
-  [faq] -> Cette rubrique affiche des brèves par date inverse, à la manière d’une faq. Les titres font une série de questions qui renvoient au texte des brèves qui constituent les réponses.
-  [faqplus] -> Idem que la précédente, mais avec des articles, ce qui permet de faire des faq dans des sous-rubriques. Les articles sont classés ici par n°titre inverse. Le titre de l’article est la question, la réponse est constituée du texte et du champ lien.
-  [petition] -> Cette rubrique affiche des articles qui sont des pétitions par n°titre décroissant
-  [qcm] -> Cette Rubrique affiche des articles contenant des qcm par n°titre décroissant. Mode d’emploi du qcm : http://www.spip-contrib.net/Filtre-QCM
-  [artprop] -> Cette rubrique affiche un formulaire de proposition d’article vers l’espace privé
-  [artmois] -> Identique à la rubrique et article par défaut sauf que "par <auteur réel> - publié le <jour mois année>" est remplacé par "< mois année > par <auteur réel>". Ce qui permet de faire un article ou un débat du mois. Le titre et le descriptif du dernier article en date de cette (ces) rubrique(s) apparaît sur la page d’accueil.
-  [inscriauto] -> Propose un formulaire d’inscription automatique à l’espace rédactionnel. NB : « Inscription automatique de nouveaux rédacteurs » doit être activé dans la configuration.
-  [recherche] -> Propose un formulaire de recherche plein texte.
-  [motcle] -> Propose un formulaire de recherche par mots-clés.
-  [accessibilite] -> Cette rubrique propose un « style switching ». Certains des styles proposés ont pour but de faciliter la navigation des personnes handicapées de la vue, notamment.
-  [haut] -> Ce tag crée un menu horizontal entre la tête et la barre de suivi (Accueil > rubrique X > ...). Les sous-rubriques sont obligatoirement dans un menu déroulant. Ce tag est compatible avec d’autres : exemple : [rubnum haut]
-  [redirect]. Ce tag crée des rubriques pointant vers des urls (locales ou externes). Le descriptif rapide contient l’url. Le texte explicatif, le contenu de l’attribut title du lien. Les urls contenant des paramètres (par exemple, http://www.truc.tld?brol=2) doivent être entourées des balises spip <html> </html> (par exemple, <html>http://www.truc.tld?brol=2</html>) afin de court-circuiter le raccourci typographique de spip qui crée un espace insécable devant la double ponctuation. Si la rubrique n’est pas un secteur (rubrique à la racine du site), la rubrique parente doit être [rubnum]. Ce tag est compatible avec le tag [haut] exemple : [redirect haut]
-  [popup] ouvre le lien des articles dans une popup. Attention, seuls les articles « ordinaires » (pas agenda, mp3, galerie, etc.) seront correctement affichés dans la fenêtre popup.
-  [blank] ouvre le lien des articles dans une nouvelle fenêtre.
** [popup] et [blank] fonctionnent uniquement avec les rubriques par défaut et celles avec le tag [numinv]. Ils fonctionnent également dans la recherche multicritère, Voir Recherche multicritères ci-dessous.

-  par défaut : -> rubrique par défaut : affiche les articles par date inverse

les parties privées de l’espace public
-  le tag [prive] (ou [tag prive] - [tagESPACEprive] - rend le contenu de cette rubrique (et de ses articles éventuels, pas les breves !) privé (il faut être connecté comme rédacteur ou administrateur spip pour accéder à leur contenu). [prive] est valable pour tous les tags, SAUF [listimg], avec [listimgp] qui gère lui-même cet accès privé.
-  le tag [privevis] (ou [tag privevis] - [tagESPACEprivevis] - fait la même chose que [prive], mais accorde également l’accès aux visiteurs enregistrés. ATTENTION : Les document protégés par « _ » ne sont pas accessibles par les visiteurs.
-  le tag [groupe_nomdugroupe] (ou [tag groupe_nomdugroupe] - [tagESPACEgroupe_nomdugroupe] - agit comme le tag [prive] mais rend le contenu accessible aux visiteurs inscrits comme membres de « groupe_nomdugroupe ». « nomdugroupe » se définit librement. Il correspond au champ pgp des données d’un visiteur. Un groupe par rubrique, autant de groupes qu’on veut par auteur (séparés par un espace dans le champ pgp). Le nom d’un groupe, que ce soit dans le tag ou dans les données du visiteur commence toujours par « groupe_ ». NB : Pour que cela donctionne, il doit exister quelque part dans le site un article (même non publié) avec un forum réglé sur le mode abonnement. ATTENTION : Les document protégés par « _ » ne sont pas accessibles par les visiteurs.
-  Cas particulier des documents (et images). Les documents d’une rubrique ou d’un article privé sont toujours accessibles via leur URL. Pour éviter cela, vous pouvez le faire en les renommant sur votre ordinateur, avant de les télécharger, et en faisant débuter leur nom par un _ (barre de soulignement). Ces documents seront alors protégés par le serveur web Apache et inaccessibles sans connexion à ce serveur. Vous devrez, même si vous êtes connecté à Spip, entrer une 2e fois vos login et mot de passe pour obtenir l’autorisation d’accès au document par le serveur apache. Cette autorisation « spéciale » dure toute la durée de votre session (jusqu’à ce que vous fermiez votre navigateur).

Champ surtitre
-  Le champ surtitre des articles par défaut est utilisé pour le nom de l’auteur réel de l’article (et pas le rédacteur spip !)
-  Dans l’agenda, le champ surtitre référence l’organisateur de l’événement et le champ soustitre le lieu de l’événement

Démarche pour les dates de l’agenda :
1. Ecrire l’événement normalement
2. Fixer la date de fin (DATE DE PUBLICATION ANTÉRIEURE)
3. Publier l’événement en ligne
4. Fixer la date de début (DATE DE PUBLICATION EN LIGNE)
Note explicative : Les événements futurs seront affichés et classés dans l’ordre de la date de publication en ligne (leur date ou leur date de début) et disparaitront une fois la date de publication antérieure (leur date ou leur date de fin) dépassée. Vous devez publier en ligne l’événement avant de pouvoir fixer sa date de publication en ligne (début), car cette dernière n’est modifiable qu’après cette action.
Pas d’angoisse ;-), l’événement « publié en ligne » n’apparait pas immédiatement sur le site public (sauf si vous cliquez sur « Recalculer cette page », « Voir en ligne » ou « Vider le cache »).

Recherche multicritères

De quoi s’agit-il ?
A partir de l’original : SPIP Recherche Multicritères de Paul Sanchez, cette fonctionnalité permet une recherche multi-critère par mots-clés sur les articles d’un site spip. Pour cela on attribue des groupes de mots-clés à des rubriques à l’aide d’un fichier de configuration ecrire/AddGroupmotDsRub.php. C’est le fait d’attribuer au moins un groupe de mots clés à une rubrique qui fait apparaître le formulaire du moteur dans la rubrique.

On peut appliquer des groupes différents de mots-clés à différentes rubriques. Exemple : A la rubrique 1, j’attribue les groupes de mots-clés légumes, fruits. A la rubrique 2, j’attribue le groupe types de légumes et le groupe légume, à la rubrique 3, j’attribue le groupe vins et le groupe fromage...

L’article, pour apparaître dans les résultats de la recherche, doit avoir tous les mots-clés qui lui sont liés.

Modifications
Plusieurs transformations ont été faites à l’original pour l’adapter à Banspip et à nos besoins :
- Ajout d’une option « Recherche limitée à la rubrique en cours et ses sous-rubriques », qui n’apparaît que si on est dans un rubrique secteur, sinon, elle n’apparaît pas
- Affichage des résultats dans la même page rubrique que le formulaire de recherche.
- Autoriser l’accès à ecrire/AddGroupmotDsRub.php aux auteurs seulement (choix admin ou redacteur et admin).
- Une sous-rubrique de titre « 00. configrecherche » dans la rubrique ou un moteur existe, qui permet de configurer le formulaire.
- Ajout d’une pagination des résultats (x résultats par page). C’est la requête sql elle-même qui est limitée à la recherche du nombre de résultat par page (clause mysql LIMIT), ce qui protègera les gros sites contre une éventuelle saturation du serveur et/ou de la connectivité lors de requêtes contenant de très nombreux résultats.

Mode d’emploi
-  Attribution des mots clés aux rubriques :
elle se fait en attribuant des groupes de mots-clés à des rubriques dans le fichier de configuration ecrire/AddGroupmotDsRub.php (accès réservé par défaut dans Banspip aux administrateurs). N’oubliez pas ensuite d’attribuer les mots clés adéquats aux articles qui devront pouvoir être recherchés.

-  Une sous-rubrique de titre « 00. configrecherche » dans la rubrique où un moteur existe, permet de configurer le formulaire :

- Champ Descriptif : il peut contenir les critères ci-dessous suivant la forme suivante : X - Y - Z - V - W
Vous remplacez bien entendu X, Y, Z, V ou W par les valeurs réelles telles que décrites ci-dessous :
X = nombre de cellules d’une rangée du tableau des listes de mots
Y = nombre de lignes des select du formulaire
* Y = 1 => liste déroulante (1 critère obligatoire par liste, par nature choix d’un critère unique par liste)
* Y > 1 => liste de choix (aucun critère obligatoire, choix d’un critère unique ou de plusieurs par liste => v. : champ TEXTE)
Z = largeur du select en px ou %
V = largeur du tableau des listes de mots en px ou %
W = largeur des cellules du tableau des listes de mots en px ou %
Par défaut : X = 2 | Y = 5 | Z = 100% | V = 100% | W = décision du navigateur
Remplacer une des options X, Y, Z, V ou W par x ou X remet cette option a sa valeur par défaut.
Exemple : x - 10 - x - x - x dans le champ descriptif créera des liste de choix de 10 lignes.

- Champ Texte : il peut contenir les critères ci-dessous suivant la forme suivante : A - B - C - D - E
Vous remplacez bien entendu A, B, C, D ou E par les valeurs réelles telles que décrites ci-dessous :
A = simple => oblige au choix d’un seul critère par liste de mots ; sinon, par défaut, choix multiple possible par liste de mots
B = self ou x => ouverture du lien des articles dans la même fenêtre
B = popup => ouverture du lien des articles dans une fenêtre popup. Attention, seuls les articles « ordinaires » (pas agenda, mp3, galerie, etc.) seront correctement affichés dans la fenêtre popup.
B = blank => ouverture du lien des articles dans une nouvelle fenêtre
C = 1 => cochera l’option « Limiter à cette rubrique et ses sous-rubriques » (secteur uniquement)
D = 1 => cochera l’option « Limiter à cette rubrique seulement »
E = 1 => cochera l’option « Tous les mots doivent être présent »
Défaut : A = multiple | B = self | C = non coché | D = non coché | E = non coché
Remplacer une des options A, B, C, D ou E par x ou X remet cette option a sa valeur par défaut.
Exemple : simple - popup - x - x - 1 dans le champ texte, obligera au choix d’un seul critère par liste de mots, ouvrira le lien des articles dans une fenêtre popup et cochera l’option « Tous les mots doivent être présent »
Attention : C n’apparaît que dans les secteurs (rubrique à la racine du site). Pour la configuration du champ texte, vous devez faire « comme si » il existait (comme dans l’exemple ci-dessus, valable pour toutes les rubriques avec ce moteur, secteur ou pas)

Ensuite,

La demo ! la demo ! La demo !

 ;-) Voilà, voilà, elle est ici :
http://demo.banlieues.be/spip/

Puis,

Le package ! Le package ! Le package !

Re - ;-) Voilà, voilà, il est ici (version 1.0d au dimanche 09 avril 2006) :
http://support.banlieues.be/rubrique75.html

To do


-  Il est prévu - mais pas avant quelques mois - d’internationaliser le squelette, en gros, créer des fichiers de langue propres et gérer les boucles de traduction. Actuellement, plusieurs occurence de l’interface publique sont tratitées en « dur » dans les squelettes enregistrés en ISO-LATIN-1. Ces occurences comportent des caractères accentués, et donc vont apporter des problèmes d’affichage en cas de choix de l’UTF-8. Alors pourquoi des caractères accentués, plutôt que des entités html ? Parce que j’irai plus vite comme cela pour préparer des fichiers de langue. Mais rien ne vous empêche de modifier provisoirement cela vous-même via les squelettes html ou mieux, en créant des fichiers de langue.

Notes

[1Le numéros au début du titre (e.g. « 1. Mon premier article ») qui permet communément de trier les articles.

Bon spip, et n’hésitez pas à communiquer vos remarques ...
il y a un bugtracker pour ce squelette ici :
http://bugtracker.openbaz.be/bug.php?op=add&project=3
Attention, vous devrez créer un compte pour pouvoir rapporter un bug
(http://bugtracker.openbaz.be/newaccount.php)

Discussion

2 discussions

  • Bonjour à tous,

    Toutes mes félicitations pour les fonctionnalités de ce squelette. Comme je voie que je ne suis pas le seul à être interressé par le passage à la version 1.9, j’ai décidé de m’y mettre.
    J’ai commencé à migrer les formulaires html et j’attaque les scripts php qui y sont liés. C’est là que le bas commence à blesser en raison de la restructuration des fichiers de la 1.9.

    Ma démarche est le suivante : Avec un comparateur de fichier je cherche les différences entre les fichiers php3 de la versions standards de spip 1.8.3 et ceux de ce squelette.
    Une fois les différences localisées, je les reportes dans les fichiers php (qui ont changés de noms et de localisation au passage) sauf si j’estime que la modif est mineure.

    Je suis également les directives de migration du site spip.net

    Avant que j’y passe toute ma jeunesse (je ne suis pas encore un pro du php), est ce que robert pourrait me guider sur les fichiers php sur lesquels je dois me focaliser.
    Est ce que les scripts qui étaient avant dans le répertoire ’formulaire’ doivent réellement être migré ou est d’ordre uniquement cosmétique ?

    Je remercie d’avance.

    Phh

    Répondre à ce message

  • Bravo pour ce squelette... très riche en fonctionnalités !
    Du coup je me demandais : à quand une migration vers la 1.9 ?

    Cordialement.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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