Squelettes Giseh (sous SPIP 1.8)

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

Attention ! Cette contribution modifie des fichiers du noyau de SPIP !

Même si elle a été testée par plusieurs utilisateurs nous ne pouvons garantir qu’il n’y aura pas d’effets secondaires dommageables sur votre SPIP. Conservez toujours les fichiers d’origine pour pouvoir revenir au noyau originel.

De plus, elle n’est compatible qu’avec une version précise de SPIP et sera perdue à la prochaine mise à jour : vous devrez donc recommencer.

Les squelettes Giseh sont prêt à l’emploi et sont facilement paramétrables (sans devoir intervenir sur des fichiers). Ils offrent une véritable interactivité (forums, chat, …) ainsi que la possibilité de restreindre finement l’accès à certaines rubriques.
Ils sont utilisés sur plus de 300 sites intranet depuis plusieurs années. Ils sont sous licence GPL et disposent d’une documentation.

Nota SPIP-Contrib : la ligne rédactionnelle actuelle de SPIP-Contrib est clairement tournée vers les versions de SPIP post 1.9, et les plugins pour éviter de modifier le code du coeur de SPIP (ce qui est ingérable lors des mises à jour). La présente contribution ne répond pas à ces critères.

Cependant il est intéressant de la publier au titre de témoignage d’une utilisation d’intranet aboutie en production, et des besoins pour cet objet. En espérant que ce beau travail évoluera vers la 1.9 et suite, au rythme adapté à son environnement de mise en oeuvre.

Présentation

Cet article est une archive, veuillez consulter désormais l’article suivant Plugins pour SPIP 2.0 correspondants aux fonctions de GISEH

Nom du Squelette : Giseh

Version du squelette : 2.4.15

Auteur : ministère de l’Écologie, de l’Energie, du Développement Durable et de la Mer. La conception et la réalisation ont été effectuées par un agent du ministère (une partie de ce ministère s’intitulait précédemment « ministère de l’Équipement » d’où le pseudo « Equipement » de l’auteur, qui est basé à Nantes).

Licence : GPL

Compatibilité SPIP : Les squelettes Giseh reposent sur SPIP 1.8.3b (et pas SPIP 1.9) pour des contraintes de stabilité. Ils utilisaient précédemment SPIP 1.6. L’absence des possibilités de plugins de SPIP 1.9 est compensée par le grand nombre de fonctionnalités offertes (qui évitent de recourir à des plugins moyennant une modification de seulement 3% du code de SPIP). Les squelettes sont fournis avec SPIP 1.8.3 afin de simplifier l’installation. À noter que parmi les fichiers de langues, seules 4 langues sont fournies – français, anglais, allemand, espagnol - afin d’alléger le fichier ZIP d’installation (on passe de 5980 Ko de fichiers de langues à 524 Ko).

Compatibilité PHP : Les squelettes Giseh version 2.3.5 (du 24/09/07) sont compatibles avec PHP4 et sont désormais compatibles avec PHP5.

Compatibilité avec les navigateurs : Ces squelettes sont utilisés depuis plusieurs années sur Firefox version 1 et 2 (sous windows) et sur Internet explorer version 5.5, 6 et 7 (sous windows). Des tests ont montrés que les squelettes Giseh sont compatibles avec d’autres navigateurs, mais un test n’a pas la même valeur qu’une utilisation sur un grand nombre de sites pendant plusieurs années. À noter que les squelettes utilisent une mise en page sans tableau HTML pour une meilleure accessibilité, ainsi qu’une taille de police redimensionnable (« em ») qui est recommandée pour l’accessibilité.

Page d’accueil

Exemple de page d’accueil (son contenu est paramétrable)

Principales fonctionnalités

Menu déroulant horizontal alimenté automatiquement (le nombre de niveaux est paramétrable, le premier niveau respecte les règles d’accessibilité, on peut ne pas faire apparaître certaines rubriques dans le menu, le contenu du menu s’adapte aux droits de l’utilisateur authentifié).

24 formes de rubriques (sélection dans une liste déroulante)

Choix entre plusieurs types de colonnes de gauche pour les rubriques (affichage des rubriques sœurs ou bien affichage des sites référencés dans la rubrique ou bien même colonne de gauche que la page d’accueil …)

Choix de l’ordre de tri des articles dans une rubrique (par numéro de titre, par ordre alphabétique, par date de publication décroissante, par date de publication croissante)

14 formes d’articles (sélection dans une liste déroulante)

Choix entre plusieurs types de colonnes de gauche pour les articles (affichage des articles frères ou bien affichage des articles ayant un mot clé identique à l’un des mots clés associés à l’article en cours ou bien même colonne de gauche que la page d’accueil …)

La page d’accueil est quasiment intégralement paramétrable (texte de bienvenue, contenu des colonnes de gauche et de droite, nombre maxi d’actualités, mots-clés pour les moteurs de recherche, …)

Gestion automatique de l’historique des actualités (avec affichage par année et pas mois)

Téléchargement de l’image du bandeau haut du site

Le contenu du pied de page est paramétrable

Recherche portant sur les articles et les forums

Possibilité de laisser des commentaires à la suite des articles, possibilité de forums

Possibilité de mettre en place une pétition

Possibilité de calendrier

Chemin d’accès à la page consultée

Plan du site

Possibilité de marquage Xiti

Possibilité d’intégrer des vidéos au format « FLV ».

Fonctionnalités avancées

Possibilité de permettre au visiteur de proposer un article depuis le site public (sans avoir un compte sur SPIP)

Modifier directement le texte de certains articles depuis le site public (avec suivi des révisions sur le site public)

Foire aux questions (formulaire pour poser une question et affichage des questions / réponses)

CHAT

Possibilité de restreindre, aux utilisateurs authentifiés, l’accès à certaines rubriques sur le sites public. Une optimisation permet de conserver les avantages du cache de SPIP pour les utilisateurs non authentifiés.

Rubriques en accès restreint à certains auteurs

Restreindre l’accès d’une rubrique à certains auteurs

Possibilité de restreindre, à certains utilisateurs authentifiés, l’accès à certaines rubriques sur le site public et dans l’espace privé. Avec la possibilité de modifier le statut de l’auteur pour l’une de ces rubriques (on peut décider de donner à un administrateur restreint uniquement un rôle de rédacteur sur une rubrique protégée). Une optimisation permet de conserver les avantages du cache de SPIP pour les utilisateurs non authentifiés.

Changer le statut d’un auteur pour une rubrique

Un statut supplémentaire : « rédacteur qui peut publier ses articles ».

Multilinguisme

Simulation de multirubricage pour faire apparaître un même article dans plusieurs rubriques

Paramétrage d’une rubrique

Paramétrage d’une rubrique

Une prévisualisation étendue (on peut naviguer sur le site en prévisualisation)

Uploader plusieurs pièces jointes en une seule manipulation

Remplacer directement une pièce jointe

Import d’une liste d’auteurs

Ajout d’une feuille de style avec des arrondis

Formulaire de création et de modification d’un article sur le site public

La version 2.4.10 du 31/07/2008 (modifiée le 22/09/2008) apporte la possibilité de créer et modifier un article directement sur le site public (cf. copie d’écran ci-dessus). Pour plus de détails, consulter le document « Nouveautés de la version 2.4.10.pdf ». Une vidéo illustrant cette fonctionnalité peut être visualisée (en format réduit) à l’adresse suivante : http://videos.spip.org/spip.php?article100 ou bien peut être téléchargée :

.

La version 2.4.12 du 24/12/2008 repose sur SPIP 1.8.3b.

La version 2.4.13 du 10/02/2009 ajoute une forme d’article « photothèque ».

La version 2.4.14 du 15/04/2009 corrige deux failles de sécurité de SPIP 1.8.3.

La version 2.4.15 du 19/11/2009 corrige quelques points.

La version 2.4.18 du 13/01/2011 corrige quelques points.

Documentation de Giseh version 2.4
Notice d’installation
Nouveautés des versions 2.4.10, 2.4.11, 2.4.12 et 2.4.13

Il n’y a pas de Post-Scriptum.

Discussion

145 discussions

  • 2

    Essayant de joindre un widget www.widgetbox.com, pour valoriser mon site, j’ai constaté que les accents n’étaient pas lus... le développeur du widget me répond que giseh use du format d’un format RSS non supporté :

    <?xml version="1.0" encoding="iso-8859-1"?>

    puis on trouve ...rss version=« 0.91 » xmlns:dc="http://purl.org/dc/elements/1.1/"> dans le feed

    Pour régler le problème, comment updater au format RSS v1 or v2 dont les specifications sont ici : http://www.rss-specifications.com/rss-specifications.htm

    • inutile de chercher une solution puisque le développeur vient de m’écrire..

      The widget you’ve created from your blog is a Flash widget (not HTML). Unfortunately, CSS cannot be applied to the contents of a Flash widget. The only style that you can change is the border color (to one of the 12 options.)

       :-()

    • equipement

      Dans le fichier __backend-actu.html, remplacer :

      <rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">

      par :

      <rss version="2.0"
      	xmlns:dc="http://purl.org/dc/elements/1.1/"
      	xmlns:content="http://purl.org/rss/1.0/modules/content/"
      >

      En effet, le contenu produit par ce fichier est théoriquement conforme au RSS version 2.0

    Répondre à ce message

  • 1

    j’ai installé SPIP 1.8.3 ainsi que le squelette Giseh sur mon PC et tout va bien

    lorsque je télécharge l’ensemble chez mon fournisseur 1and1 j’ai le message suivant :
    Fatal error : Call to unsupported or undefined function include_once() in sommaire.php3 on line 7

    merci de votre aide

    • equipement

      Une recherche sur google avec les mots : spip 1and1

      permet de trouver des solutions pour installer SPIP sur l’hébergeur 1and1.

    Répondre à ce message

  • 6

    sur mon site maintenant opérationnel, j’aimerai aussi profiter dune newsletter à l manière de spip-liste car le système de notifications interne à spip m’a l’air un peu minimal (d’autant que je ne comprends pas vraiment comment créer une liste d’auteur qui souscrivent... sns passer par un autre site )

    Il semblerait que spip-listes_1_8 popose un squelette tout fait pour améliorer le principe : mon problème est simple :
    puis-je intégrer un tel objet sans risquer de rendre instable (si incompatibilité) le site sous giseh qui est à ce que je crois une spip 183 modifiée et améliorée ?

    Disons que mon but est que les gens extérieurs parviennent facilement à s’inscrire pour une newsletter semi automatisée (avec edito ou non) qui liste les nouveautés du site, et qu’ils puissent aussi se désinscrire.

    cordialement
    ratai

    • equipement

      Pour intégrer spip-liste_1_8 à Giseh, il convient de copier simplement les fichiers de spip-liste_1_8 sur le site Giseh (en respectant l’arborescence des dossiers) puis de modifier le fichier ecrire/inc_presentation.php3 de Giseh en remplaçant :

      	// GADGET Messagerie
      	$gadget = '';
      		$gadget .= "<div id='bandeaumessagerie' class='bandeau_couleur_sous' style='$spip_lang_left: 130px; width: 200px;'>";

      par

      	// GADGET Messagerie
      	$gadget = '';
      		$gadget .= "<div id='bandeaumessagerie' class='bandeau_couleur_sous' style='$spip_lang_left: 130px; width: 200px;'>";
      		
      		
      				//hack SPIP-listes
      $gadget .= icone_horizontale(_T('spiplistes:listes_emails'),"spip_listes.php3", "stock_mail.gif", '', false);
      $gadget .= "<div>&nbsp;</div>";
      //

      Ensuite il convient de modifier le fichier ecrire/mes_options.php3 de Giseh en remplaçant :

       if (defined("_CI_CONFIG")) return;
       define("_CI_CONFIG", "1"); 

      par

       if (defined("_CI_CONFIG")) return;
       define("_CI_CONFIG", "1"); 
      //
      // Definition de tous les extras possibles
      //
      $champs_extra = true;
      	$GLOBALS['champs_extra'] = Array (
      		'auteurs' => Array (
      				"abo" => "radio|brut|Format|Html,Texte,D&eacute;sabonnement|html,texte,non"
      			),
      			
      		'articles' => Array (
      				'squelette' => 'bloc|propre|Bibliographie'
      			)
      		);
      		
      		$GLOBALS['champs_extra_proposes'] = Array (
      'auteurs' => Array (
      		'tous' => 'abo',
      		'inscription' => 'abo'
      	        ),
      'articles' => Array (
      		'0' => 'squelette',
      		'tous' => ''
                      )
      );
      include('options_spip_listes.php3');
    • equipement

      spip-liste_1_8 stocke chaque les caractéristiques de chaque liste de diffusion dans un article affecté à un id de rubrique égal à zéro. Or Giseh ne permet pas d’afficher sur le site public un article dont l’id de rubrique est égal à zéro. Ceci pose un problème lorsque l’on affiche abonnement.php3.
      Aussi, il convient de modifier le fichier ecrire/spip_listes.php3 de spip-liste_1_8 en remplaçant :

      include_ecrire ("inc_documents.php3");

      par

      include_ecrire ("inc_documents.php3");
      $id_rubrique=1;
    • Je viens de tester sur une copie du site.
      J’ai donc copié les fichiers en les répartissant dans les dossiers préexistants. Il y a des doublons dans le dossier d’image mais j’ai gardé les originaux.
      En redirigeant un article sur ecrire/abonnement.php3 j’obtiens le script d’inscription à la liste, celle que j’ai configuré dans l’interface privée.
      J’attend que les emails de test reçoivent mais cela semble fonctionner...

      quelle efficacité ! bravo pour ce professionnalisme. Je ne peux objectivement que recommander ce squelette dont l’interface et l’ergonomie étaient déjà excellentes, mais qui en plus peut s’améliorer grâce à la qualité du développeur
      cordialement
      ratai

    • Tu aurais pu indiquer sur ton site que c’est un site en spip dans les contributions en bas... sur la derniere ligne....comme cela se fait en général.....
      Comme ca tu seras bien dans l’esprit logiciel libre.....

    • Le precedent message s’adressait à « ratai » evidement.

    • oups ! je rectifie. :-)

    Répondre à ce message

  • 5

    Ayant installé et adopté le squelette, je regrette d’avoir été obligé d’affecter des mots clés pour afficher les auteurs (ceux-ci devant également afficher mots clés en bas de l’article dans le menu suivant) car je n’ai pas trouvé le moyen de faire apparaître le nom des rédacteurs avec les articles qu’ils publieraient en tant que simple rédacteurs.
    Disons qu’une solution plus simple m’aurait arrangé (dont le choix multibriquage qui est moins bien que sous-page d’accueil pour afficher la sous-rubrique bloc-notes) mais en existe t-il une ?
    site

    • Une solution consiste à modifier légèrement le fichier _template/__article-normal.html, en remplaçant :

      [<div class="texte">(#TEXTE)</div>]

      par

      [<div class="texte">(#TEXTE)</div>]
      [<div class="texte">(#LESAUTEURS)</div>]

      Ceci permet d’afficher automatiquement le ou les auteurs d’un articles (en cliquant sur le nom de l’auteur on peut lui envoyer un message, si l’adresse email de l’auteur est renseignée dans SPIP).

    • Je vais essayer de ce pas. Merci de cette réponse utile.
      ratai

    • Comme souvent une fonction en cache une autre...
      Comme je souhaite que le lecteur moyen puisse réagir à l’article publié, j’ai posé comme principe que le rédacteur peut choisir dans le menu de publication « les visiteurs peuvent réagir à cet article » de sorte que s’affiche en bas de l’article « réagir à cet article », or si la modification du template affiche bien le nom de l’auteur, en revanche le choix de ce menu efface l’affichage du nom de l’auteur...

      Pour faire simple, l’idéal serait que le nom du redacteur s’affiche directement à côté du titre de l’article (ou en dessous) de sort que même quand il y a une liste de début d’article (que j’appelle blog) les visiteurs savent qui l’a écrit.

      Mieux encore, est-il possible d’attribuer publiquement à chaque rédacteur un email interne à spip, qui n’affiche donc pas l’email réel mais plutôt une redirection vers l’auteur référencé dans l’interface privé pour lui poster un message ?

      J’ai bien compris que ce squelette est donné en l’état mais j’ai du mal à comprendre qu’il n’y ai pas de relation directe entre auteur et visiteur à partir du moment où l’intrface spip peut jouer le rôle de filtre...

      cordialement

    • equipement

      Dans ce ca précis, une solution consiste à modifier légèrement le fichier _template/__article-commentaire.html, en remplaçant :

      <h2>[(#TITRE|supprimer_numero)]</h2>

      par

      <h2>[(#TITRE|supprimer_numero)]</h2>
      <div class="texte">(#LESAUTEURS)</div>
    • génial le nom s’affiche !

      bon visiblement il n’y a pas de possibilité de cacher en même temps l’email de l’auteur, sauf si on ne le remplit pas dans les paramètres de l’auteur.

      merci
      ratai

    Répondre à ce message

  • 2

    Le Squelette Giseh est vraiement un outils très puissants et très convivial quand on a pris la peine de lire les 128 pages de notices ! (très claires et fort utiles).
    est ce que ce squelette continuera d’être développé ?
    y-a-t-il un moyen d’avoir plus de 3 niveaux dans les menus dynamiques ?

    en tout cas MERCI.

    • equipement

      Giseh propose au plus 3 niveaux de menus. Ce ne serait pas simple d’avoir plus de 3 niveaux pour la raison suivante :

      Giseh permet de restreindre l’accès à certaines rubriques selon les droits des utilisateurs. Dans le cas où l’utilisateur est authentifié, chaque page est recalculée à chaque consultation et le contenu du menu aussi. En effet, selon les droits de l’utilisateur, le contenu du menu n’est pas le même.

      A noter que si l’utilisateur n’est pas authentifié, le contenu du menu est stocké dans le cache de SPIP et n’est donc pas recalculé à chaque consultation d’une page.

      Le temps de calcul du contenu du menu est convenable. En revanche, le nombre de requêtes SQL générées est très élevé. En effet, avec les boucles de SPIP, le nombre de requêtes SQL générées correspond au double du nombre d’items du menu. En effet , deux passes sont nécessaires pour savoir si un menu de niveau 2 a ou non des sous menus de niveau 3.
      Avec un menu de 50 items, on obtient une centaine de requêtes SQL.

      Aussi, 3 pistes ont été explorées :

      La première piste consiste à paramétrer dans Giseh le menu pour qu’il soit seulement à 2 niveaux. En effet, les boucles SPIP génèrent alors très peu de requêtes SQL puisqu’elles n’ont pas à traiter les rubriques de niveau 3 (on passe par exemple de 100 requêtes à 8 requêtes).

      La seconde piste consiste à multiplier les fichiers en cache (un par login et par page) lorsque l’utilisateur est authentifié. Dans ce cas, on limite le nombre de recalcul du contenu du menu. Toutefois, il y a un risque d’inflation de fichiers dans le cache. Enfin, lors du calcul initial du contenu menu le nombre de requêtes SQL reste élevé.

      La troisième piste consiste à enrichir SPIP avec une nouvelle balise qui fait appel à une fonction spécifique et optimisée de calcul du contenu du menu qui utilise seulement 4 requêtes SQL. Le gain est conséquent puisque au lieu d’envoyer 100 requêtes à MYSQL, 4 requêtes suffisent désormais pour obtenir le même résultat.
      Par ailleurs, quelque soit le nombre d’items dans le contenu du menu, ce chiffre de 4 requêtes n’augmentera pas. Alors que dans la situation précédente le nombre de requêtes correspondait au double du nombre d’items (nécessité de 2 passes), c’est-à-dire qu’il pouvait augmenter dès qu’une nouvelle rubrique apparaissait dans le menu. Il convient de souligner que cette fonction sera exécutée lors du calcul de la page mais pas lorsque la page est dans le cache. Cela n’a rien à voir avoir l’ajout de code PHP dans un squelette, qui est exécuté même lorsque la page est dans le cache de SPIP.

      C’est cette troisième piste qui est implémentée dans Giseh. Aussi, pour obtenir plus de 3 niveaux dans le menu, il faudrait modifier cette fonction spécifique qui n’est pas simple.

    • Merci pour la réponse très détaillée et très rapide. 3Mieux que bien, c’est mal ..." dis je souvent à mes élèves. De toutes façons, ils me faudra bien un an pour former mes collègues et pour découvrir toutes les fonctionalités de Giseh.

      Pour la petite histoire : je suis chargé de refonder un site disciplinaire académique (près de 4500 pages) à l’occasion des changement de programmes.

      Pour le choix du CMS, j’ai exploré la plus grande partie des 740 qui sont proposés sur The CMS Matrix. J’ai restreint mon choix à ceux qui ont une aide en français et qui sont gratuit.

      mon choix :

      1) Guppy pour mes sites perso, ceux destinés à mes élèves, notamment pour sa simplicité et le look fun !

      2) SPIP, pour sa communautés francophone très actives, et la multiplicité des gestions de contenu.
      Pour le choix du Squelette, mon grand problème c’est les menu. Si on prend la rubrique lycée on se retrouve avec plus de 100 sous rubriques.

      Lycée>Terminale>Terminale S>Bac> Modalités

      Lycée>Terminale>Terminale S>Bac> Exemples de sujets

      ... etc, mutipliez cela par le nombre de niveaux et de section. Vous vous rendrez très vite compte du problème. J’ai donc testé tous les squelettes un par un, en cherchant des astuces pour les menus. Pendant un moment j’ai failli abondonner et retourner au site en HTML pur et dur. Après tout si on y regarde de près, la plus part des sites institutionnels de L’Elysée aux différents Ministères sont en HTML. Sauf un celui du Ministère du développement durable qui était sous SPIP. Voilà comment j’en suis arrivé à utiliser Giseh.

      Encore merci pour tout ce travail.

    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