SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 104 visiteurs en ce moment

Accueil > Rédaction > Édition publique > Crayons > Les crayons

Les crayons

Un plugin pour une édition directe sur le site public

23 avril 2008 – par Fil, toggg – 835 commentaires

Toutes les versions de cet article : [English] [Español] [français]

181 votes

Le paramétrage côté squelettes est des plus simples : il repose sur la classe #EDIT{...} adjointe aux éléments qu’on veut rendre modifiables.

Actualité

La version 1.15.1 a été publiée le 22 mars 2013.

Résumé

Après l’activation du plugin, les contenus peuvent être directement édités « en place » sur les pages publiques du site, par les personnes autorisées.

Cela demande de préparer vos squelettes pour les rendre compatibles avec ce plugin (à noter : c’est le cas de la plupart des squelettes distribués sur SPIP-Contrib). Le principe est simple : un bloc est éditable s’il contient la classe crayon objet-champ-id. Une balise #EDIT{} facilite encore l’écriture. En fait, pour permettre d’éditer le titre d’un article, il suffit de remplacer dans le squelette de la page article.html, la ligne (par exemple) :

<h1>#TITRE</h1>

par :
<h1 class="crayon article-titre-#ID_ARTICLE">#TITRE</h1>

ou encore, plus simplement :
<h1 class="#EDIT{titre}">#TITRE</h1>

Autre exemple, pour rendre « crayonnable » le texte d’un article, transformer :
[<div class="texte">(#TEXTE|image_reduire{520,0})</div>]

en :
[<div class="#EDIT{texte} texte">(#TEXTE|image_reduire{520,0})</div>]

Les pages concernées doivent obligatoirement comporter une balise </head>, écrit précisément de cette façon (lettres minuscules).

Fonctionnement

Fabrication de la page côté serveur

Lors du chargement d’une page, le plugin agit dans le pipeline affichage_final.

Il vérifie alors :

  • si l’utilisateur est identifié
  • si la page contient au moins une chaîne de caractères “crayon xxxx-yyyy-nn”,
  • et si l’utilisateur possède des droits sur au moins un des éléments ainsi marqués

Le cas échéant, il insère dans le <head> de la page le script externe crayons.js ainsi que des données de configuration ; le script s’exécute à la fin du chargement de la page, et vérifie à intervalles réguliers si de nouveaux crayons sont disponibles, de façon à les activer en cas de besoin.


Chargement par le navigateur

Lorsque la page finit de se charger (et si le visiteur a des droits d’édition sur les crayons présents dans la page), le script crayons.js sélectionne tous les éléments possédant la classe crayon type-champ-id, et si ils sont autorisés pour l’utilisateur inscrit, leur adjoint une image clicable (un crayon) et leur ajoute la classe crayon-autorise pour indiquer qu’ils sont « éditables ».

Un clic sur cette image, mais aussi un double-clic sur l’élément lui-même, provoquent l’activation du formulaire d’édition.


Activation du crayon

Un click sur le « crayon » (ou un double-clic sur l’élément) déclenche une requête vers le serveur, qui renvoie le formulaire de modification qui va « remplacer » l’élément affiché.

La requête spécifie au serveur le « type », le « champ » et l’« id » pour lesquels le formulaire est demandé.

Après vérification de l’existence des données et des droits sur celles-ci, le serveur renvoie le formulaire (sous forme de données javascript, au format JSON). Le type et les dimensions du champs sont déterminés d’après sa nature et la place réservée à l’élément. Il contient le source brut du texte, comme lorsque on édite depuis l’espace privé ; la police, la taille et la couleur des caractères sont préservées.

crayon.js associe ce formulaire à l’élément puis "cache" ce dernier.

L’utilisateur peut maintenant modifier les données.

Attention : l’affichage final ne peut être réalisé que par le serveur, un click en dehors de la zone d’entrée après des modifications affichera à nouveau le contenu originel.
Dans ce cas, une roue dentée vous signale que vous avez introduit une modification. Click sur le bouton ou double-click sur l’élément vous y ramène, elles ne sont pas perdues.
Si vous abandonnez cependant la page, un dernier rappel vous propose de sauvegarder.


Sauvegarde

Le formulaire possède une série de boutons/touches associées :

  • OK (ainsi que la touche Entrée [1]) permet de sauvegarder,
  • Annuler (ainsi que la touche Escape) abandonne toute mise à jour,
  • Un clic en dehors des zones de saisie cache ces zones et revient à l’affichage initial.

Il contient aussi des identificateurs et des clés associés aux données.

Le formulaire est soumis en POST par ajaxForm donc asynchrone. Sur réception, le serveur :

  • analyse les données soumises, leur cohérence et leur actualité (afin d’annuler l’envoi si les données ont été entre-temps modifiées par ailleurs).
  • vérifie une nouvelle fois les droits d’édition.
  • appelle les procédures internes de SPIP pour mettre à jour les données.
  • renvoie une vue des données modifiées, et déclenche les comportements javascript précisés par la fonction onAjaxLoad de SPIP.

Le système alimente notamment l’historique des modifications, de la même façon que l’espace privé.

Configuration

Le plugin propose plusieurs options, activables via le plugin CFG ; notamment :
-  un message si on confirme OK mais que rien n’est changé ;
-  une alerte permettant de sauvegarder les modifications si on abandonne la page alors qu’un texte est en cours d’édition ;
-  l’activation de la barre typographique ;
-  des couleurs permettant de mieux repérer les zones modifiables.

À noter : si le plugin est absent ou désactivé, la balise #EDIT{...} renvoie une chaîne vide ; cela permet donc de « crayonner » des squelettes même si l’on décide finalement de ne pas utiliser le plugin

Utilisation étendue

Toutes les tables standard de SPIP (articles, brèves, rubriques, etc.) sont gérées, y compris les forums et les signatures de pétition (mais, pour ces deux dernières, il faut utiliser le plugin Autorité pour permettre des modifications) ; pour chacune de ces tables, tous les champs de type « ligne » (titre, soustitre etc), ou « texte » (texte, chapo, descriptif...) sont crayonnables.

On peut également éditer les logos avec le crayon #EDIT{logo} ; un réglage permet de redimensionner ces logos à la volée lors de l’upload.

Les documents sont modifiables avec le crayon #EDIT{fichier} : le nouveau document vient remplacer l’ancien et sa taille, hauteur et largeur sont mises à jour. (NB : pas encore compatible documents distants).

Enfin, à partir de spip 2, on peut éditer les champs extra.

À noter :
-  Les crayons fonctionnent avec n’importe quelle table — à condition que cette table possède une clé primaire (numérique) qui s’appelle id_xxx, où le nom de la table est spip_xxxs.
-  pour la table spip_meta qui ne propose pas ce type d’index numérique, il faut utiliser la balise #EDIT d’une manière un peu différente en préfixant le champs à éditer par meta-, par exemple [2] : #EDIT{meta-descriptif_site}

-  Si un texte "crayonnable" est un champ MySQL MEDIUMTEXT ou plus long, les crayons affichent un TEXTAREA, et sinon, un INPUT.
-  Seuls les admins complets peuvent ainsi crayonner des textes provenant d’une table non-SPIP.

Editions simultanées de plusieurs champs

L’obtention du formulaire d’édition (« contrôleurs ») ainsi que la vue obtenue en retour sont surchargeables, par de simples squelettes (voir les exemples dans les répertoires controleurs/ et vues/ du plugin).

Ces formulaires peuvent travailler en parallèle sur plusieurs champs d’un enregistrement (article), voire plusieurs enregistrements d’une même table ou de tables différentes [3] : il y a là de quoi faire des interfaces d’édition spécialisées et très efficaces.

Comme toujours, les contributeurs sont bienvenus !

Voir en ligne : https://plugins.spip.net/crayons

P.-S.

Les crayons ont un mode de débug activable en mettant dans mes_options.php la ligne suivante :
define('_DEBUG_CRAYONS', true);
Ce code ralentit un peu le fonctionnement, puisque le script est rechargé à chaque fois, mais facilite le repérage de bugs et le développement de nouvelles fonctionnalités.

Notes

[1Ainsi que, sur Mac, la touche ctrl-S, et sur PC les touches alt-S ou F8, ou encore la combinaison MAJ-entrée.

[2Ceci est valable depuis la version 1.6.1 du plugin. Pour les versions précédentes la syntaxe est différente. Il faut insérer manuellement la class dans le code suivant la syntaxe meta-valeur-XXX où XXX représente le nom de la propriété à modifier. Par exemple pour modifier le nom du site (propriété : nom_site) on pourrait faire :

  1. <h1 class="crayon meta-valeur-nom_site">#NOM_SITE_SPIP</h1>

[3Par exemple pour ouvrir en édition l’ensemble des champs descriptifs d’une adresse postale.

Dernière modification de cette page le 1er novembre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 1er mai à 22:01, par Lucie En réponse à : Les crayons

    Bonjour, je m’en remet à vous car je n’arrive pas à faire fonctionner le plugin Crayons pour les visiteurs... alors que c’est justement ce qui m’intéresse !

    La fiche personnelle des clients du site (statut 6forum) doit être éditable afin que ces derniers puissent modifier leurs informations sur le site public.

    Les champs sont modifiables lorsque je me connecte en tant que webmestre, mais lorsque je me connecte en tant que visiteur, rédacteur, ou même administrateur cela ne fonctionne plus. Je n’y comprend rien !!

    Serait-ce un problème lié aux autorisations dans le fichier mes_options.php ? Dois-je ajouter une autorisation ? Si oui, comment ? car je n’y connais vraiment pas grand chose en php...

    Merci beaucoup pour votre aide...

    • Le 1er mai à 22:21, par Fil En réponse à : Les crayons

      Oui il s’agit bien des autorisations, par défaut les visiteurs n’ont pas le droit de modifier quoi que ce soit, il faut donc apporter l’autorisation idoine dans mes_options.php

    • Le 1er mai à 22:42, par Lucie En réponse à : Les crayons

      Bonsoir Fil,
      mille mercis pour ta réponse.
      Ça fait des heures que je suis dessus et j’en devient folle !
      Donc si c’est dans mes_options.php, aurais-tu une idée du code qu’il faudrait que j’ajoute... désolé mais cela dépasse malheureusement mes compétences et je n’ai rien trouvé dans la documentation.
      Encore merci à toi pour ton aide !

    • Le 2 mai à 07:22, par Fil En réponse à : Les crayons

      Essaie peut-être avec quelque chose du genre :

      function autoriser_auteur_modifier($faire, $type, $id, $qui, $opt) {
       return (
         in_array($qui['statut'], array('0minirezo'))
       || ($opt && $opt['champ'] == 'bio' && $id == $GLOBALS['visiteur_session']['id_auteur'])
       );
      }

      function analyse_droits_rapide() {
       return !!$GLOBALS['visiteur_session'];
      }
    • Le 2 mai à 09:33, par Lucie En réponse à : Les crayons

      Bonjour Fil, merci pour ton aide...
      J’ai essayé le code que tu as suggéré et l’usage des crayons pour les visiteurs fonctionne sur la page de la fiche personnelle ! J’ai juste changé

      1. in_array($qui['statut'], array('0minirezo'))

      en

      1.    in_array($qui['statut'], array('0minirezo', '1comite', '6forum'))

      Seul hic : la fiche indique bien les données personnelles sur la page pour chaque utilisateur logé, mais lorsqu’on double-clique sur ces données, les données remplies dans la fenêtre du crayon ne correspondent pas... il s’agit toujours des données personnelles du webmestre... Ce qui est très embêtant.
      Alors que dans la fiche de chaque auteur / visiteur de l’espace privé tout correspond.
      Idem dans les tables.

      J’utilise Inscription3, Champs Extras et Crayons.

      Voici le code qui appelle les crayons dans mon squelette :

      1. <BOUCLE_client(AUTEURS){0,1}{si #SESSION{id_auteur}{0,1}{!par date}{statut=encours}|oui}>
      2.  
      3.  
      4. <ul>
      5.   <li class="#EDIT{nom}">
      6. Identifiant : [(#SESSION|{nom} )]
      7. </li>
      8. <li class="#EDIT{prenom}">
      9. Prénom : [(#SESSION| {prenom} )]
      10. </li>
      11. <li class="#EDIT{nom_famille}">
      12. Nom : [(#SESSION| {nom_famille} )]
      13. </li>
      14.   <li class="#EDIT{email}">
      15. Adresse email : [(#SESSION| {email}  )]
      16. </li>
      17. <li class="#EDIT{adresse_livraison}">
      18. Adresse de livraison : [(#SESSION| {adresse_livraison} )]
      19. <li>
      20. <li class="#EDIT{ville}">
      21. Ville : [(#SESSION| {ville} )]
      22. </li>
      23. <li class="#EDIT{pays}">
      24. Pays : [(#SESSION| {pays}|id_pays_to_pays)]
      25.    </li>
      26.   <li class="#EDIT{telephone}">
      27. Numéro de telephone : [(#SESSION| {telephone} )]
      28. <li class="#EDIT{adresse_facturation}">
      29. Adresse de facturation : [(#SESSION| {adresse_facturation} )]
      30. </li>
      31. </ul>
      32.  
      33. </BOUCLE_client>

      Télécharger

      Il faudrait que le pré-remplissage des crayons correspondent aux données de l’utilisateur connecté.

      Est-ce qu’il y a une erreur dans ma boucle ?
      Ou plutôt une histoire de contrôleurs ou de vues dans les crayons ?

      Merci d’avance aux spipeurs avertis qui pourront m’aider...

      Lucie.

    • Le 2 mai à 09:43, par Fil En réponse à : Les crayons

      la boucle ne sélectionne pas l’auteur courant mais le premier de la base, il te manque semble-t-il un critère du type {id_auteur=#SESSION{id_auteur}}

    • Le 2 mai à 12:14, par Lucie En réponse à : Les crayons

      Merci Fil ! Mais cela ne marche pas...
      Où devrais-je passer ce critère ?

      <BOUCLE_client(AUTEURS){id_auteur=#SESSION{id_auteur}}{si #SESSION{id_auteur}{0,1}{!par date}{statut=encours}|oui}>
      </BOUCLE_client>

      Comme ceci ?
      La fiche disparait....

      Je continue de faire des essais, mais si vous avez une idée je suis preneuse...
      J’ai presque fini le site... Mais là je bloque !

    • Le 2 mai à 12:44, par Fil En réponse à : Les crayons

      Vérifie tes critères, ils ne respectent pas la syntaxe attendue (ce bloc qui finit par |oui est très bizarre).

      Peut-être :

      <BOUCLE_client(AUTEURS){id_auteur=#SESSION{id_auteur}}{tous}>
      </BOUCLE_client>
    • Le 2 mai à 13:13, par Lucie En réponse à : Les crayons

      Merci Fil !!! Tu es un génie ! ça fonctionne...
      J’espère que ça en aidera d’autres comme moi.
      Un belle journée à toi.
      Lucie

      (désolé pour le doublon)

    Répondre à ce message

  • Le 2 mai à 13:11, par Lucie En réponse à : Les crayons

    Merci Fil !!! Tu es un génie ! ça fonctionne...
    J’espère que ça en aidera d’autres comme moi.
    Un belle journée à toi.
    Lucie

    Répondre à ce message

  • Le 24 mars à 01:34, par emthanh En réponse à : Les crayons

    Bonjour,
    (développement de plugin)
    J’ai un plugin que je veux mettre à jour.
    J’ai un probleme de compatibilté de JQuery , j’aimerais savoir comment vous résolvez ce problème pour votre plugin.

    Mon plugin est Galleria , qui est juste l’integration de cette librairie pour faire un modèle SPIP. (il fait des galleries d’images)
    La version actuelle utilise le v1.2.9 de G qui compatible avec une version de JQuery ce plugin est compatible [1.9.2 ;3.1.x]
    La derniere version de la librairie est incompatible avec le JQuery des versions [1.9.2 ;3.1.x] ,mais seule les dernieres de JQuery/SPIP

    J’ai essayé de surcharger la libraire javascript/jquery.js plus recente.
    Mais la j’ai une incompatibilité entre ce JQuery et ajaxCallBack.

    En regardant votre code , vous remplacer les occurentes de JQuery par votre librairie.

    Le surcharge ne marche pas.
    Est ce le seul moyen de remplacer les occurence ?

    J’espere que vous pourrez m’aider ; merci
    mon plugin Galleria

    Répondre à ce message

  • Le 20 février à 22:57, par RP En réponse à : Les crayons

    En SPIP 3.2, je voudrais grossir l’image du crayon. Je ne trouve pas à quel endroit intervenir.
    Merci

    Répondre à ce message

  • Le 2 décembre 2016 à 12:58, par Julien En réponse à : Les crayons

    Bonjour,
    J’utilise le plugin Crayons, le plugin Champs Extras et le plugin Inscription 3.
    J’ai créé un champ extra « collection » pour les auteur, en bouton radio à deux choix : visible ou invisible.
    Je voudrais que les auteur puisse éditer ce champ à l’aide de crayons, mais je n’y arrive pas.

    1. [<li class="#EDIT{collection} texte">Votre collection est visible ou cachée des autres membres ? : (#COLLECTION|sinon{"Vous n'avez pas encore renseigné cette information."})<br /></li>]

    Si je rentre l’information depuis l’admin, ça s’affiche bien côté public, mais côté public, je ne peux pas l’éditer. Lorsque je double clic sur le champ (grâce à crayons), je n’ai pas les deux boutons radio, mais une ligne de texte avec écrit « visible » ou « invisible » dedans.

    Une idée ?

    Pareil pour le champ « civilité » que j’ai créé avec « inscription3 ». Quand je veux l’éditer côté public, j’ai une ligne de texte avec soit « M » soit « F » dedans.. Hors là aussi je voudrais le boutons radio à cliquer.

    Merci à vous.

    • Le 26 avril 2017 à 12:18, par jpcrea En réponse à : Les crayons

      Si on fait :

      <ul><li class='#EDIT{collection}'>#LISTER_VALEURS{collection}</li></ul>

      Cela devrait fonctionner.

    • Le 26 avril 2017 à 16:56, par Julien C En réponse à : Les crayons

      Merci à toi, je vais aller voir si ça fonctionne :-)
      J’en avais encore besoin après tout ce temps.

    • Le 22 septembre 2017 à 12:27, par formatec En réponse à : Les crayons

      La soluce de jpcrea fonctionne, ça liste bien les possibilités
      #LISTER_VALEURS pour les cases à cocher
      #LISTER_CHOIX pour les radios

      Mais cela n’affiche pas un menu de boutons dans la boite du crayon. Il faut ecrire le contenu, donc risque d’erreur

      est-il possible d’éditer un groupe de cases à cocher ou boutons radios ?

    • Le 22 septembre 2017 à 13:34, par formatec En réponse à : Les crayons

      J’avance un peu... mais...
      Dans un menu dropdown bootstrap, je parviens à lister les valeurs de mon champs extra ’level’
      Maintenant comment l’injecter en DB ?

      1.   <div class="dropdown-menu">
      2.  
      3. #SET{tag1,#LISTER_CHOIX**{level}}
      4. #SET{recup,#ARRAY}
      5.  
      6. <BOUCLE_levels(DATA){source table, #GET{tag1}}>  
      7.    <a class="dropdown-item" href="#!"> [<label for="#VALEUR">(#VALEUR)</label>] </a>
      8. </BOUCLE_levels>
      9.   </div>

      Télécharger

    • Le 30 septembre 2017 à 17:48, par formatec En réponse à : Les crayons

      Finalement j’ai opté pour un formulaire CVT
      voici le code de la partie html du formulaire pour ceux que cela intéresse
      (merci à Tcharlss, Nicod et Pierretux)

      1. [<p class='alert alert-success formulaire_ok'>(#ENV*{message_ok})</p>]
      2. [<p class='formulaire_erreur'>(#ENV*{message_erreur})</p>]
      3. <form id="choixlevel" action='#ENV{action}' method='post'><div>
      4.     #ACTION_FORMULAIRE{#ENV{action}}
      5.  
      6.         <BOUCLE_editable(CONDITION){si #ENV{editable}}>
      7.         <div class="editer-groupe">
      8.             #SET{erreur, #ENV**{erreurs/level}}
      9.             <div class="editer editer_level obligatoire[ (#GET{erreur}|oui)erreur]">
      10.                 <label for="custom-select">Choisir un level</label>
      11.                 [<span class='erreur_message'>(#GET{erreur})</span>]
      12.                 <select name="level" id="custom-select" class="custom-select" required onchange="document.getElementById('choixlevel#LEVEL').submit();">
      13.                     <BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
      14.  
      15.                     <BOUCLE_levels(DATA){source table, #LISTER_CHOIX**{level}}>
      16.                     #ID_AUTEUR                        <option value="#VALEUR"[ (#ENV{level}|=={#VALEUR}|oui)selected="selectd"]>#VALEUR</option>
      17.                     </BOUCLE_levels>
      18.                     </BOUCLE_auteur>
      19.                 </select>
      20.             </div>
      21.         </div>
      22.              <p class="boutons"><input type="submit" class="submit" value="<:pass_ok:>" /></p>
      23.  
      24.         </BOUCLE_editable>
      25.  
      26. </div></form>

      Télécharger

    Répondre à ce message

  • Le 26 octobre 2016 à 15:59, par bruno31 En réponse à : Les crayons

    Hi

    Sous ANDROID avec écran tactile, c’est une vrai galère avec le CRAYON. Il suffit effleurer n’importe quelle partie de l’écran pour que le CRAYON passe en mode édition.

    Existe t’il une solution ?

    • Le 22 septembre 2017 à 12:02, par formatec En réponse à : Les crayons

      je contourne le problème en ne rendant pas l’ensemble du texte editable. Je place une icone à côté de l’objet et seul le clic sur cette icone déclenche l’édition

      L’icone :
      <span class="octicon octicon-pencil #EDIT{login}"></span>

      L’objet :

      <b>#LOGIN</b>

    Répondre à ce message

  • Le 17 août 2017 à 17:51, par Julien En réponse à : Les crayons

    Bonjour,

    Depuis quelques jours crayon ne fonctionne plus sur mon site, je pense que c’est la mise à jour vers 1.26.11, il ne se passe plus rien au hover d’un texte, par contre j’ai bien crayon ajouté à l’html comme la photo ci-joint.

    Auriez-vous une idée ?

    Merci

    Répondre à ce message

  • Le 27 mars 2017 à 12:43, par Francky En réponse à : Les crayons

    Hello, je viens de faire plusieurs tests
    Le plug est dit pour 1.9 mini et 3.*.* max, je vais le descendre à 3.1.*, car cela ne sert à rien de le mettre compatible 3.2, alors qu’il n’est pas complètement compatible, surtout qu’il y a de temps avant que la 3.2 « stable » sorte !
    Sinon, j’ai fait des essais en 2.1 la dernière qui a donc encore du support et la 3.2-alpha
    -  2.1 Le plug ne sert à rien sauf à faire l’installation de cfg, le problème, c’est que rien ne l’indique (ne l’oblige) et le téléchargement de doc ne semble pas fonctionner

    -  3.2 Le téléchargement de document semble avoir un problème parfois, cela fonctionne, parfois non, Alors que le téléchargement d’un doc via la médiathèque fonctionne toujours (depuis votre ordinateur) que cela soit un gros fichier 7.4 mo ou un petite 120ko

    Répondre à ce message

  • Le 26 novembre 2014 à 18:56, par Polar oïd En réponse à : Les crayons

    Utilisatation étendue

    pour chacune de ces tables, tous les champs de type « ligne » (titre, soustitre etc), ou « texte » (texte, chapo, descriptif...) sont crayonnables.

    Bonjour, j’aimerais savoir s’il est possible d’éditer un champ extra de type radio ’oui_non’ avec ce plugin ? :)

    • Le 27 mai 2015 à 14:57, par Julien En réponse à : Les crayons

      Bonjour la réponse à cette question m’intéresse.
      Avez-vous trouvé ?

    • Le 2 décembre 2016 à 16:26, par Julien En réponse à : Les crayons

      Bonjour,
      toujours pas de réponse à ce problème ?

    Répondre à ce message

  • Le 26 octobre 2016 à 15:57, par bruno31 En réponse à : Les crayons

    Bonjour

    Les textarea du crayon ont leur width forçée à 170px. Je préfèrerai 100%. Apparemment c’est fait en dur par du javascript. Est-il possible de le configurer ?

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 21 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)

  • Twitter

    17 juin 2013 – 88 commentaires

    Un plugin qui facilite l’intégration de Twitter dans un site SPIP et permet : d’envoyer facilement des messages avec un ou plusieurs comptes Twitter d’afficher des Widgets standards dans le site public (qui respectent la vie privée des visiteurs) (...)

  • Story (HTML5UP)

    17 mai – 11 commentaires

    Squelette SPIP "onepage" pour intégrer le thème Story de HTML5UP https://html5up.net/story Ce squelette permet de réaliser très simplement des sites de type "one page" sans toucher une ligne de code. Site de démonstration Installation A (...)

  • Le Couteau Suisse

    4 mai 2007 – 1848 commentaires

    Ce plugin propose d’introduire facilement de simples fonctionnalités supplémentaires à SPIP et qui s’avèrent rapidement indispensables ! Par exemple : le contrôle de nombreuses variables « cachées » de SPIP, des améliorations ou facilités typographiques, (...)

  • LIM : alléger l’espace privé

    20 avril 2015 – 45 commentaires

    Ce plugin permet de désactiver l’affichage de blocs ou de boutons, présents par défaut dans SPIP mais qui peuvent devenir inutiles dans le cadre de votre projet. Il allège du coup l’interface d’édition et supprime d’éventuels risques de confusion dans (...)