Le plugin Magusine

Le plugin magusine est un jeu de squelettes et un système plus vaste, permettant une personnalisation poussée par les administrateurs du site. Choix de thème pour tout le site ou par rubrique, configuration du contenu des pages de base (article, rubrique, sommaire,...), et comme on dit dans ces cas-là, « bien d’autres choses ».

Le plugin magusine est un jeu de squelettes et un système plus vaste, permettant une personnalisation poussée par les administrateurs du site. Choix de thème pour tout le site ou par rubrique, configuration du contenu des pages de base (article, rubrique, sommaire,...), et comme on dit dans ces cas-là, « bien d’autres choses ». Voir le site de démonstration.

Attention : Le plugin a maintenant été recodé pour être compatible avec la version 2. Voir le site de démonstration ou l’article « Portage de Magusine pour spip 2.0 » pour plus d’infos.

attention 2 : pour que le plugin soit fonctionnel chez free, il faut créer un dossier à la racine, appellé « sessions » pour que les sessions admin y soit stockées.

Le plugin est issu des 5 années d’expérience du projet « magusine ». Ce projet vise à mettre à créer un réseau d’association, en mettant à disposition d’associations travaillant avec un public un site web (spip + un jeu de squelettes adapté) et la formation pour son administration, ainsi qu’une attention à la production et une aide à la mise en relation des partenaires. Le projet est mené par l’asbl Les Corsaires.

Contenu du plugin


-  Un jeu de squelettes en xhtml 1.0, dans lesquels peuvent être disposées les informations habituelles de spip (titre, texte, pieces jointes, mots clé, etc) sous forme de blocs paramétrables via le système de gestion de gabarits : galerie en popup ou en thickbox, lecteur mp3 en flash ou liste simple, liste des articles par date ou par titre, etc. Ces contenus peuvent être indifféremment placés dans le corps principal de la page ou dans les « contextes » (magusine peut comporter jusqu’à 3 colonnes).

-  Un jeu de thèmes sélectionnables par simple clic depuis l’interface d’administration. Ces thèmes, plus de 20 pour le moment (css et javascript) prennent aussi en charge la personnalisation des vignettes de logo d’articles. Des thèmes différents peuvent être appliqués potentiellement à chaque rubrique et s’appliquent automatiquement à ses enfants.

La plupart des thèmes comportent des déclinaisons (changement mineurs sur des thèmes existants, directement écrit dans chaque thème).

-  Un système de constitution du menu à 1, 2 ou n niveaux, en automatique (rubrique racine et leurs sous-rubriques tels que définis dans l’interface privée), semi-automatique (liste des sous-rubriques ou des articles choisis dans l’arborescence disponible) ou manuel (dans ce cas aucune hierarchie entre les éléments, une rubrique peut être un sous-élément d’un article).

-  Un système de gestion de gabarit par drag and drop permettant d’organiser les contenus de chaque squelette (sommaire, article, rubrique) par simple drag’n drop : on choisit les blocs de contenus (titre, texte, mots-clés associés, pièces jointes, etc), et leur ordre dans la page. La plupart des blocs ont des paramètres additionnels, comme par exemple le nombre de brèves affichées, le type d’affichage pour les galeries images : en liste, popup, thickbox,...

Le plugin permet en outre de créer de nouveaux gabarits et les associer à des articles ou rubriques.

-  Un système de gestion de « blocs libres », des contenus volants pouvant être disposés dans les pages articles, rubrique et sommaire.

-  La possibilité d’associer des bandeaux (un bandeau est l’équivalent du logo de site) différents à chaque rubrique.

-  La gestion de différents éléments : message du footer, métas, message de la page 404, sélection d’un éditorial, rubrique et articles à la une, news, image et vidéo au hasard, insertion de google maps.

Architecture ouverte

Le plugin est en pleine évolution, c’est un système ouvert qui permet l’ajout de thèmes, de blocs de contenus, de gabarits.
Une personnalisation « à la volée », sans ajout direct dans le plugin, est aussi possible : il suffit de créer un dossier « pages-custom » à la racine du site, et y ajouter des pages type, des blocs dans les pages standard, réécrire des blocs existants. Ceci permet une ouverture maximale du plugin aux modifications avancées (boucles spip, html, css).
Voir le didactitiel sur l’ajout de blocs

Nous projetons d’utiliser svn pour gérer les mises à jour de ce plugin, mais son évolution rapide ne le permet pas actuellement.

Documentation et démonstration

Un site de démonstration pour la partie publique est accessible sur http://demo.magusine.net.
Le site de documentation utilisateur sur http://www.magusine.net.
Une documentation pour la création de thème, l’ajout de blocs et la programmation du plugin lui-même sont en cours.
Une page en construction sur la structure html des page est disponible ici.

Wishlist

Le plugin magusine est le fruit d’un développeur à mi-temps, pas entièrement dédié à cette tâche. Les évolutions possible du code sont nombreuses.

Des thèmes peuvent être facilement développés par les codeurs css, un fichier xml de thème permet de définir certains comportements supplémentaire (taille maximale des images dans le texte, masque pour les logos, couleurs des lecteurs flash, disposition du menu dans l’arbre html, etc.).

Le plugin existe en français, en espagnol (merci à Jose) et partiellement en néerlandais (magusine est un projet belge), une traduction dans d’autres langues est la bienvenue.

Compatibilité

Magusine étant un plugin comportant un jeu de squelettes (articles, rubrique, sommaire), il est incompatible avec les plugin engageant des jeux de squelette. Il est compatible avec des plugin comme spip-listes, formulaires, accès resteint, crayons.
Il semble que les titres et quelques éléments s’affichent mal sous spip 1.9.3, et plusieurs fonctions spip ont été modifiées. Le passage en 1.9.3 du plugin fait partie des tâches à venir pour lesquelles un peu d’aide serait la bienvenue.

Téléchargement

Comme mentionné précédemment, le plugin sera placé sur la zone dès que j’en maitriserais les aspects techniques. Pour le moment, le plugin est téléchargeable dans le dossier « download » du site de demo magusine : http://www.demo.magusine.net/download.

Installation

Le plugin s’installe de manière classique, déposé dans le dossier plugins. Il crée ses tables et ajoute un bouton dans la partie administration et un bouton dans les onglets admin, qui permettent de joindre son administration. Selon les pages d’administration, certains blocs de configuration s’ajoutent (ajout de bandeau, assignement de gabarit et de thème, etc.).

Le plugin est utilisé par le partenariat magusine, soit une vingtaine de sites, et est donc assez éprouvé. De l’aide, pour trouver les bugs inévitables vu la taille du projet, est là encore la bienvenue.

Discussion

122 discussions

  • 4

    Je viens d’installer votre super plugins sous spip 1.9.3

    Tout à l’air de bien fonctionner à priori... sauf le téléchargement de l’image du bandeau... J’ai beau sélectionner des images jpg (bouton « parcourir ») et les télécharger (« enregistré ») malgré l’info me signalant que le bandeau à bien été télécharger, il n’apparait pas sur le site...

    Bien à vous

    Eric Lamblotte

    • Pirouette

      est ce que tu as bien choisi gd2 pour la méthode de fabrication des vignettes ? (interface privée—>configuration—>fonctions avances

    • Les bandeaux sont chargés dans le dossier IMG, dans un dossier créé pour l’occasion « bandeau ». Peut-être vérifiez les accès à ce dossier, sont-il en 777 ?

    • j’ai beau regarder dans le fichier « img » correspondant au modèle de squelette choisis, je ne vois pas de répertoire « bandeau »... peut on le créer manuellement ? En attendant je peux je suppose toujours remplacer l’image du bandeau par défaut directement dans le répertoire ou il se trouve...

      autre info, qd je vais voir pour la génération des images, je qu’une vignette en gd1... C’est peut être au niveau de mon hébergeur que cela pose problème...

    • Ça doit être ça. Testez pour voir en créant manuellement le dossier « bandeau » dans IMG. Est ce que IMG est en 777 du côté des autorisations ? Sinon le fichier uploadé est juste copié dans ce répertoire, donc à priori ça n’a rien à voir avec gd1.

    Répondre à ce message

  • 2

    Bonjour chers Magusiens... J’aimerais insérer dans mes pages un compteur Graphique de visites et j’utilise actuellement le plugin compteur graphique. Est-il possible de l’intégrer aux squelettes de magusine pour qu’il puisse par exemple apparaitre dans la gestion des gabarits... puis sur les pages aux endroits définits...

    Répondre à ce message

  • 5

    Bonjour,

    Après installation normale, lorque je clique sur une rubrique, mes articles ne s’affichent pas (je n’ai que le titre de la rubrique)

    Fatal error : Call to undefined function : imagecreatefrompng() in d :\sites\magusine\ecrire\inc\filtres_images.php on line 890

    avec SPIP version 1.9.2d

    Merci de vos remarques.

    • C’est un cas de figure intéressant : il est probable que vous ne disposez pas de gd2 ou d’une librairie d’image. Magusine les suppose toujours installée. je n’avais pas jusqu’ici supposé l’abscence de librairie image, il faut que je me renseigne sur la meilleure maniere de tester la présence de la librairie. Je pensais que spip faisait le test...
      le code utilisé par magusine est

      	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
      	[(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
      	]
      	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
      	[(#LOGO_ARTICLE||image_reduire{#LARGEUR_CORPS,0})]
      	]

      ça regarde si un masque existe dans le theme, sinon ça réduit l’image au besoin. Mais si le masque existe (ce qui est le cas de la plupart des thèmes), ça applique le filtre « image_masque » qui fait appel à la fameuse fonction « imagecreatefrompng », qui semble absente sur le serveur que vous utilisez. Au pire il faudra patcher, je peux vous fournier rapidement un zip avec des fichiers à placer dans un dossier à la racine qui contournerons le problème, mais ce sera un peu moins joli. renseignez-vous auprès de l’hébergeur pour voir si ce n’est pas possible de placer la librairie GD2. C’est de l’open source, ça ne coûte donc rien à priori à part la simple opération de placer les fichiers et rebooter le serveur.

    • Merci pour votre réponse rapide. GD2 est activé, je n’ai plus de message d’erreur. C’était bien çà.

      Maintenant, j’ai un autre souci, si je clique sur un article je tombe sur une page vide (je n’ai que le pied de page. Le seul lien affiché est « Administration » dans le pied de page (espace privé) et quand je clique dessus je reboucle sur la page vide. Je suis obligé d’enlever le plugin « magusine » pour à nouveau avoir accès à l’espace privé.
      Pour l’instant, je ne trouve pas. Je continue de chercher. Si je trouve je posterai.

      Merci encore.

    • En fait, il faut enregistrer d’abord tous les gabarits (sommaire, article, rubrique ..etc) en cliquant sur enregistrer. Et ensuite les articles et rubriques s’affichent.
      Mais j’ai encore trop de problèmes avec les affichages de logos et d’images.

    • Bonjour Jeff,

      J’ai le même souci et j’aurai apprécié quelques précisions. Quand vous écrivez :

      En fait, il faut enregistrer d’abord tous les gabarits (sommaire, article, rubrique ..etc) en cliquant sur enregistrer.

      Comment faut-il procéder ? Car chaque article/rubrique est enregistrée de façon normale lors de sa création, que faut-il faire de plus ?

      Vous parlez de gabarit, je suppose que c’est là où quelque chose m’échappe, pourriez-vous me donner quelques détails sur comment vous avez procédé ?

      Merci bien.
      Cordialement,
      Philippe

    • Bonjour,

      Dans l’espace privé,quand on clique sur « Configuration » puis sur « Options Magusine » on arrive sur « themes, Menus, Configuration de base, gabarits, A propos », on clique sur Gabarit et on arrive sur la page « Configuration des gabarits ».
      On choisit le gagarit dans le menu déroulant « Modifier un autre gabarit » et là je les ai pris un à un et j’ai cliqué en bas de la page sur ENREGISTRER. Ce qui m’a débloqué toutes les pages.

      Bon courage.

      Cordialement,

    Répondre à ce message

  • 4

    En local avec Easy php, je n’ai aucun problème.

    Voici le message d,erreur sur le WEB. Je suis hébergée chez iweb. Si je désactive maguzine la dist s,affiche très bien.

    Merci de m’aider. Ce projet est vraiment extraordinaire.

    # Erreur(s) dans le squelette

    * (spip_arty_parametres)
    Erreur MySQL
    spip_arty_parametres.valeur, spip_arty_parametres.valeur2 FROM spip_arty_parametres AS spip_arty_parametres WHERE (spip_arty_parametres.parametre REGEXP ’metas$’)
    Unknown table ’conceptvirtuel_ca_01.capable_arty_parametres’ in field list
    AIDE,
    * (spip_arty_gabarit_ordre)
    Erreur MySQL
    spip_arty_gabarit_ordre.nom, spip_arty_gabarit_ordre.param FROM spip_arty_gabarit_ordre AS spip_arty_gabarit_ordre WHERE (spip_arty_gabarit_ordre.gabarit = ’sommaire’) AND (spip_arty_gabarit_ordre.conteneur = ’1’) ORDER BY spip_arty_gabarit_ordre.ordre
    Unknown table ’conceptvirtuel_ca_01.capable_arty_gabarit_ordre’ in field list
    AIDE,
    * <BOUCLE_blocs_contexte1>(spip_arty_gabarit_ordre)
    Erreur MySQL
    spip_arty_gabarit_ordre.nom, spip_arty_gabarit_ordre.param FROM spip_arty_gabarit_ordre AS spip_arty_gabarit_ordre WHERE (spip_arty_gabarit_ordre.gabarit = ’sommaire’) AND (spip_arty_gabarit_ordre.conteneur = ’2’) ORDER BY spip_arty_gabarit_ordre.ordre
    Unknown table ’conceptvirtuel_ca_01.capable_arty_gabarit_ordre’ in field list
    AIDE,
    * (spip_arty_gabarit_ordre)
    Erreur MySQL
    spip_arty_gabarit_ordre.nom, spip_arty_gabarit_ordre.param FROM spip_arty_gabarit_ordre AS spip_arty_gabarit_ordre WHERE (spip_arty_gabarit_ordre.gabarit = ’sommaire’) AND (spip_arty_gabarit_ordre.conteneur = ’3’) ORDER BY spip_arty_gabarit_ordre.ordre
    Unknown table ’conceptvirtuel_ca_01.capable_arty_gabarit_ordre’ in field list
    AIDE,
    * (spip_arty_parametres)
    Erreur MySQL
    spip_arty_parametres.valeur FROM spip_arty_parametres AS spip_arty_parametres WHERE (spip_arty_parametres.parametre = ’footer’)
    Unknown table ’conceptvirtuel_ca_01.capable_arty_parametres’ in field list
    AIDE,

    • Il semble que chez free et ici chez iweb, le problème soit dès l’activation du plugin, à la création des tables. Ici, elles n’existent pas, donc forcément quand il y cherche l’information, mysql envoie spip bouler. Je devrais réécrire les fichiers situés dans base/ mais j’arrive là aux limites de mon code de bidouilleur. Il est difficile de trouver une documentation claire sur la procédure pour ajouter proprement des tables à spip. J’ai trouvé un article sur pluganspip mais je n’ai pas réussi à adapter pour free sur cette base.
      C’est vraiment là une aise qui serait précieuse : si quelqu’un maitrise ces aspects (balise instal du xml + pages dans base/), ce serait vraiment super de m’aider.

    • Le plugin a été updaté sur le site demo.magusine.net. Pouvez vous le tester ? Sur free.fr, il faut créer à la racine du site un dossier « sessions » pour que les sessions admin s’y inscrivent. Je ne sais pas comment fonctionne iweb, mais ce sera peut-être nécessaire aussi.

    • SSSSSSTEEEEEEEEEPHHANNNNNEE !!!!!! Tu est parfait !!!! tout marche comme sur des roulettes avec free !!! c GEEEEEENNNNNIIIIIALLLL !!!!!

    • nerocide

      Je fini à l’instant mes essais chez free.fr .

      mon site est pleinement fonctionnel ! merci stéphane.

      voici brièvement que qui fût fait :

      sauvegarde bd

      mise à jour spip 1.9.1a =>1.9.2d

      mise à jour magusine du 15.0.4.08

      création du répertoire « sessions » à la racine du site

      activation du plugin

      pas d’erreur

      ...parfait !

      merci encore pour ce magnifique plugin.

    Répondre à ce message

  • 2

    J’ai bien suivi les recommandations et installé tout ce qu’il faut dans le dossier plugins. Aucun autre plugin installé à part magusine. Il apparaît bien dans la liste des plugins et je peux l’activer. Et là, surprise : aucun bouton magusine n’apparaît dans le menu configuration, et aucun autre plugin n’apparaît d’ailleurs dans la liste des plugins. Je n’ai d’ailleurs accès à rien dans le menu configuration, sauf si je désacrive magusine. J’ai désinstallé puis réinstallé plusieurs fois (y compris spip, version 1.9.2d), mais rien n’y fait. Aurai-je manqué quelque-chose ? Je ne comprends vraiment pas ce qui se passe !

    • Après divers essais, il semblerait que le plugin fonctionne sous certains sites et pas sous d’autres. L’icone pour paramétrer n’apparaît pas chez tous les hébergeurs. Une explications ? Un moyen de contourner le problème ?

    • ATTENTION...à vérifier

      J’ai eu sensiblement les mêmes PB.
      Que ce soit en local, via EasyPHP ou MAMP, voir chez mon FAI, Free en l’occurence.

      Après quelques recherches...surprise ! L’extraction du ZIP ne s’est pas faite complètement.
      Un redézippage (tiens, quel drôle de verbe) et là, tout est retombé en marche !

      Conseil donc. Après dézippagisationnage, vérifier la présence de TOUS les dossier et fichiers.

      Je ne dis pas que c’est LA soluce, seulement qu’il y a peut-être à creuser.

      Cordialement

    Répondre à ce message

  • 1

    Bonjour,

    toujours accro au plugin...je deviens Magusino-addict, voici trois questions :

    1 j’ai un problème d’interprétation des puces, liste hiérarchique et liste numérotée
    les puces normales sont interprétées correctement.

    2 dans certain cas les sauts de lignes ne passent pas à l’écran...

    3 comment rendre le bloc libre édito actif ?

    mais j’ai peut-être commis des erreurs ! et louper des consignes !

    merci pour tout

    jean

    • Concernant les puces, ce sont les thèmes qui prennent ça en charge. Il est vrai que comme j’emploie peu les puces, je ne me suis pas beaucoup penché dessus, et que la tentation de casser les comportement des ul et li est une tentation commune dans la mise en page css. La solution est donc de recréer ces puces en css au cas par cas dans les thèmes. Vous pouvez facilement rejouter un fichier mesajouts.css dans un thème, il sera pris en charge automatiquement, avec un habillage pour les puces spip à reconstituer. Si vous le faites, je suis preneur de cet update des thèmes...

      Les lignes qui passent à l’écran, je ne vois pas. C’est plutôt à spip ou aux css qu’il faut demander, à priori je ne vois pas où j’agit sur les balise à ce niveau. Un exemple en ligne à me soumettre ?

      Pour ce qui est des blocs libre éditos, ils s’activent à partir de la page «  ?exec=naviguer », il faudrait en effet les mettre aussi dans la page « ecrire », soit l’entree du plugin, c’est un bout de code à rajouter dans le fichier "affiche-gauche.php du plugin, si quelqu’un s’en charge et m’envoies le code je serais un homme heureux, je travaille sur d’autres fichiers en ce moment...

    Répondre à ce message

  • 2

    Bonjour,
    Vraiment extraordinaire Magusine !!!
    Je découvre et je garde la bouche ouverte à la puissance et la souplesse de cette architecture. Triple wooow !!

    Mais question : ... comment puis-je gérer les langues ?

    Je voudrais un site qui soit en plusieurs langues (2 ou 3 : Fr, En et peut-être arabe) et qu’on puisse cliquer sur la langue (par ex : « En » ou le petit drapeau correspondant) et ainsi accéder aux contenus de cette seule langue (y.c. une page d’accueil spécifique de cette langue).

    J’ai vu sur un site que l’on pouvait changer les textes de base (navigation) mais je n’ai pas encore vu de site proprement dit « multilingue » (je découvre à peine magusine, sorry).

    Merci pour votre contribution.

    Pablo

    • Il faut se référer aux articles de référence de spip pour initier le multilinguisme. Magusine est prévu pour gérer plutôt des langues par rubrique à la racine. Ou en balise multi (mais il faut alors supprimer la ligne « forcer_lang=true ». Je n’ai pas tenté les autres cas de figure. Chaque langue bénéficie de son propre menu, et de ses blocs libres pour la page « sommaire ». Il y aura de la doc à produire pour tout ça.

    • Merci beaucoup pour votre réponse !

      J’ai plusieurs autres sites sous SPIP en multilangues, je vais donc voir ce que j’arrive à faire avec magusine qui comme j’ai dit, je découvre avec énormément d’intérêt.

      A bientôt .. certainement !

      Pablo

    Répondre à ce message

  • 2
    orcieres

    Bravo pour ce plugin !!

    je le découvre pas à pas et butte sur une chose (pour l’instant !), comment associer un bloc libre dans la page sommaire ?
    je vois bien le gabarit et peut le changer comme je l’ntends mais où puis-je associer un bloc lbre à ce sommaire ?

    merci de la réponse et encore bravo pour ce plugin

    cordialement

    jean

    • On les associe à partir de la page « edition » (?exec=naviguer). Là lls apparaissent dans la colonne de gauche. Particularité : comme la page sommaire est potentiellement multilingue, on choisit le bloc libre et la langue dans laquelle il apparait.

    • orcieres

      Merci, tout est parfait, tout à l’heure je n’avais pas la colonne de gauche active dans la racine...

      trop fort ce plugin, nous sommes sûrement nombreux à l’avoir rêvé !!

      encore merci et bravo

      jean

    Répondre à ce message

  • Répondre à ce message

  • 2
    Maurice POLLET

    Super plugins !!!

    Cependant, je n’arrive pas à uploader des images dans les blocs libres. J’optiens le message suivant : « Impossible de charger l’image. ».

    Sans doute des droits sur un répertoire, mais lequel ?

    Merci de votre réponse et de votre travail.

    Ps version spip -> SPIP 1.9.2b

    • Stéphane Noël

      Le répertoire est IMG/illu-bloc-libre. J’imagine qu’un bon acces écriture devrait arranger ça.

    • C’est arrangé !

      Merci

    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