SPIP-Contrib

SPIP-Contrib

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

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

Accueil > Outils pour plugins > Saisies > Saisies

Saisies

27 mars 2010 – par RastaPopoulos – 510 commentaires

63 votes

Introduction

Créer un formulaire est une tâche toujours un peu répétitive : les champs ont souvent les mêmes propriétés, le même accompagnement (message d’erreur, explication, ...) et la même structure HTML. Ce plugin est un outil pour les développeurs ayant pour but de faciliter et d’accélérer l’écriture des formulaires.

Pour cela, Saisies propose un ensemble d’outils (balises, API PHP) pour générer et manipuler plus facilement les champs des formulaires. De cette manière, les squelettes de formulaires sont :

  • plus lisibles : il n’y a que le strict nécessaire dedans, pas de répétition ;
  • intégrés au fonctionnement CVT de SPIP 2, notamment pour la gestion des erreurs sur les champs ;
  • automatiquement compatibles avec les recommandations HTML/CSS de SPIP, y compris pour le plugin CFG.

La balise #SAISIE

Cette balise permet de générer une seule saisie en lui donnant directement les paramètres désirés. Chaque saisie va générer une ligne dans un formulaire, c’est-à-dire soit :

La balise a deux arguments obligatoires : le type du champ, et son nom HTML (attribut « name »). Toutes les autres options sont facultatives et servent à configurer le champ ; de ce fait, elles sont de la formes option=valeur.

La forme complète est donc la suivante :
#SAISIE{type, name, option=valeur, option2=valeur2, etc=etc}

Voici quelques exemples d’utilisation, pour comprendre l’approche.

  1. Génère un simple champ texte, indiqué comme étant obligatoire :
  2. #SAISIE{input, email, label=Votre courriel, obligatoire=oui}
  3.  
  4. Génère des boutons radios avec un choix "oui ou non" :
  5. #SAISIE{oui_non, zanini, label=Tu veux ou tu veux pas ?}
  6.  
  7. Génère un choix multiple parmi les utilisateurs du SPIP :
  8. #SAISIE{auteurs, destinataires,
  9.    label=Destinataires du message,
  10.    explication=Choisissez une ou plusieurs personnes à qui sera envoyé le message.,
  11.    multiple=oui}

Télécharger

Comme vous le voyez, des champs qui peuvent être complexes, et fastidieux à écrire de manière complète, s’écrivent ici en quelques lignes.

Consultez également :

-  La référence de la balise #SAISIE

-  Un complément de doc avancée sur les saisies

Multilinguisme

#SAISIE supporte le multilinguisme. Dans ce cas, attention de bien utiliser la syntaxe complète avec les crochets :

  • #SAISIE{input, annee, label=<:monplugin:annee:>,obligatoire=oui} ne fonctionne pas ;
  • [(#SAISIE{input, annee, label=<:monplugin:annee:>,obligatoire=oui})] fonctionne.

Attention, pour utiliser tout ce qui suit, vous devez installer aussi le plugin YAML.


Afficher les erreurs

Saisie gère nativement l’affichage des erreurs.
Si la fonction CVT verifier() retourne une erreur du même nom celle ci sera affichée.
Pour la saisie[(#SAISIE{input, annee, label=<:monplugin:annee:>})] , si verifier retourne : $erreurs['annee'] = "une erreur" alors <span class="erreur_message">une erreur</span> sera affichée à la suite de la saisie.

Gérer les tableaux de saisie

La norme html permet de gérer des variables sous la forme de tableau. Il est recommandé d’utiliser alors le formalisme suivant tableau/variable. Par exemple : [(#SAISIE{input, annee/debut, label=<:monplugin:annee:>})] pour obtenir un tableau annee.

Pour information la forme naturelle [(#SAISIE{input, annee\[debut\], label=<:monplugin:annee:>})] est valide mais est incompatible avec la gestions des erreurs.
Cette écriture est donc déconseillée.

La balise #GENERER_SAISIES

Cette balise permet de générer toutes les saisies d’un formulaire, en une seule fois. Pour cela on lui passe en paramètre un tableau suivant une norme précise qui va contenir la description complète de toutes les saisies.

Exemple d’utilisation :

  1. <ul>
  2.         #GENERER_SAISIES{#ENV{mes_saisies}}
  3. </ul>

Télécharger

La balise #VOIR_SAISIES

Cette balise permet d’afficher toutes les valeurs saisies après validation d’un formulaire. On lui passe en paramètre 2 arguments :

  1. le tableau de description des saisies (au même format que pour #GENERER_SAISIES)
  2. un tableau des valeurs saisies

Exemple d’utilisation, dans le squelette d’un formulaire :

  1. [(#EDITABLE|non)
  2.         #VOIR_SAISIES{#ENV{mes_saisies},#ENV}
  3. ]

Télécharger

Une norme pour décrire les saisies

Afin de manipuler plus facilement tout un ensemble de champs de formulaire, que ce soit pour générer leur HTML ou pour les modifier automatiquement dans un script, il a été défini une norme pour décrire des saisies dans un tableau PHP.

Le tableau doit respecter les points suivant :

  • Chaque saisie est un tableau de la forme :
    1. $une_saisie = array(
    2.         'saisie' => 'input',
    3.         'options' => array(
    4.                 'nom' => 'nom',
    5.                 'label' => 'Votre nom',
    6.                 'size' => 50
    7.         )
    8. );

    Télécharger

  • Chaque ligne du tableau d’ensemble est une saisie, elle-même étant décrite dans un tableau. L’ordre des éléments sera l’ordre des saisies.
    1. $saisies = array(
    2.         array(...), // une saisie
    3.         array(...), // une saisie
    4.         array(...)  // une saisie
    5. );

    Télécharger

  • Les saisies qui acceptent des enfants (comme les fieldset) les placent dans une case « saisies » qui contiendra un tableau ayant la même structure que le tableau global :
    1. $un_fieldset = array(
    2.         'saisie' => 'fieldset',
    3.         'options' => array(
    4.                 'nom' => 'mon_groupe',
    5.                 'label' => 'Mon groupe de champ'
    6.         ),
    7.         'saisies' => array(
    8.                 array(), // une autre saisie
    9.                 array(), // une autre saisie
    10.                 array()  // etc
    11.         )
    12. );

    Télécharger

Exemple complet :

  1. $saisies = array(
  2.         array(
  3.                 'saisie' => 'input',
  4.                 'options' => array(
  5.                         'nom' => 'nom',
  6.                         'label' => 'Nom'
  7.                 )
  8.         ),
  9.         array(
  10.                 'saisie' => 'input',
  11.                 'options' => array(
  12.                         'nom' => 'email',
  13.                         'label' => 'Adresse de courriel'
  14.                 )
  15.         ),
  16.         array(
  17.                 'saisie' => 'fieldset',
  18.                 'options' => array(
  19.                         'nom' => 'adresse',
  20.                         'label' => 'Adresse postale'
  21.                 ),
  22.                 'saisies' => array(
  23.                         array(
  24.                                 'saisie' => 'input',
  25.                                 'options' => array(
  26.                                         'nom' => 'voie',
  27.                                         'label' => 'Voie'
  28.                                 )
  29.                         ),
  30.                         array(
  31.                                 'saisie' => 'input',
  32.                                 'options' => array(
  33.                                         'nom' => 'ville',
  34.                                         'label' => 'Ville'
  35.                                 )
  36.                         ),
  37.                 )
  38.         ),
  39.         array(
  40.                 'saisie' => 'radio',
  41.                 'options' => array(
  42.                         'nom' => 'livre',
  43.                         'label' => 'Votre livre préféré',
  44.                         'datas' => array(
  45.                                 'vermines' => 'Au régal des vermines',
  46.                                 'bonheur' => 'Le bonheur',
  47.                                 'alain' => 'Alain Zannini',
  48.                                 'homme' => "L'homme qui arrêta d'écrire"
  49.                         )
  50.                 )
  51.         ),
  52. );

Télécharger

Problème avec Xdebug

Si vous êtes développeur et que vous utilisez le logiciel Xdebug, il existe un problème connu : par défaut celui-ci affiche une erreur à partir d’un certain niveau d’imbrication de fonctions PHP (« nesting level » dirait Shakespeare).

Le niveau d’imbrication autorisé par défaut est relativement bas, mais on peut le modifier avec une variable. Vous devez donc ajouter cela dans votre configuration PHP/Xdebug :

  1. [xdebug]
  2. xdebug.max_nesting_level = 200 ou 500 ou plus…

Télécharger

Et hop, ça remarche.

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

Dernière modification de cette page le 8 novembre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 7 mars à 17:42, par RealET En réponse à : Saisies

    Bonjour,

    Pour éviter à d’autres d’avoir le problème.

    Avec formidable, j’ai un formulaire qui a des cases à cocher.
    Il est donc possible de sélectionner plusieurs items dans la liste.

    Mais dans le mail envoyé, et dans ecrire/ ?exec=formulaires_reponses&id_formulaire=1 quand je vais voir le détail, je n’ai que la première option de mémorisée, alors que j’ai mis d’autres valeurs.

    Raison : je faisais :
    165/Hotelvendredi|Hôtel vendredi 9 novembre<br />165 €

    En remplaçant le / par &, plus de problème !

    • Le 7 mars à 17:43, par RealET En réponse à : Saisies

      Précision : ce qui marche, c’est donc :
      165&Hotelvendredi|Hôtel vendredi 9 novembre<br />165 €

    • Le 7 mars à 17:49, par Maïeul En réponse à : Saisies

      A oui, le / est utilisé pour des sous entrées. Du coup je ne sais pas si on peut résoudre ce bug facilement sans casser le reste. Il faudrait pouvoir échapper le / mais je ne suis pas sûr que cela vaille la peine....

    • Le 7 mars à 19:17, par RealET En réponse à : Saisies

      Non, je ne crois pas que ça vaille la peine.

      Par contre, où est la doc de ce « / » ?

    • Le 7 mars à 19:22, par Maïeul En réponse à : Saisies

      Je sais pas s’il y une doc. J’ai vu passer cela récemment en lisant le code pour améliorer un point.

    • Le 7 mars à 22:02, par RastaPopoulos En réponse à : Saisies

      Des sous entrées de quoi ?

      Moi je me rappelais juste du truc ajouté par Maieul qui ajoute de la syntaxes pour faire des groupes dans les textarea libres pour les valeurs de select. Mais pour les radios et cases là je me souviens pas d’ajouts.

    • Le 7 mars à 22:20, par Maïeul En réponse à : Saisies

      j’ai du confondre avec autre chose, je retrouve pas.

    Répondre à ce message

  • Le 5 juillet 2017 à 16:20, par Yohooo En réponse à : Saisies

    Bonjour,

    Suite à une mise à jour, j’observe un problème très spécifique avec le plugin Champs_extra_interface. Cela concerne concerne l’affichage d’erreur si la condition de champs extra sont activé à la fois dans le champ « Afficher si remplissage » et dans le champ « Afficher si ».

    Il me semble qu’il faille une condition « AND » entre le traitement de ces 2 champs. Si c’est le cas, je propose d’ajouter ligne 498 de « saisie_afficher.php » :

    1. if ( $condition != " ") {
    2.         $condition .= "&& ";
    3. }

    Télécharger

    • Le 13 juillet 2017 à 18:08, par RastaPopoulos En réponse à : Saisies

      Mmm je ne connais pas assez le afficher si (pas du tout même) pour avoir un avis :(
      Maieul ?

    • Le 16 février à 12:48, par Maïeul En réponse à : Saisies

      Les dernières versions du plugins suppriment ce double système d’afficher_si pour avoir juste une option qui conditionne le même où afficher_si s’applique.

    • Le 26 février à 16:34, par mcommemarc En réponse à : Saisies

      Il n’est donc pas possible d’avoir plusieurs valeurs ?

      1. @radio_3@=="toto1"
      2. @radio_3@=="toto2"

      Télécharger

      Parce que, comme je le note ci-dessus, ça ne fonctionne pas...
      Ni comme ça d’ailleurs :

      1. @radio_3@=="toto1,toto2"

      Il faut faire un array ?

    • Le 26 février à 16:36, par Maïeul En réponse à : Saisies

      Si tu veux faire un test « ou », tu fais

      radio_3@=="toto1" || radio_3@=="toto2"
    • Le 26 février à 16:40, par mcommemarc En réponse à : Saisies

      Super ! Merci !

    Répondre à ce message

  • Le 24 janvier à 23:28, par Alexis En réponse à : Saisies

    Bonsoir,

    d’abord désolé pour les accents, je n’ai pas de clavier azerty.

    Dans un soucis de mise a jour de mon site de spip 3.0 -> spip 3.2, je viens de tester la zone de saisie de date utilisant le dateur de Bonus sur le squelette-dist du dernier spip 3.2 avec un Saisie compatible version 2.19.8 SVN [107777]. Avec un Bonus compatible version 3.4.6 SVN [107681] active, le Datepicker de Bonus n’apparait malheureusement pas.

    Je l’avais auparavant sur mon propre squelette en spip 3.0 (je l’ai aussi teste sur le squelette-dist de spip 3.0) avec un plugin Saisie moins recent version 2.5.16 SVN [91819] et Bonus version 3.2.1 SVN [90054]. C’était impeccable.

    Y-a-t-il un bug de la zone de saisie de date utilisant le dateur de Bonus avec le nouveau spip 3.2 ?

    C’est le seul bug de ma mise-a-jour, pas de bol ;-(

    Merci pour votre attention !

    • Le 26 janvier à 16:42, par Alexis En réponse à : Saisies

      Sorry, fausse alerte : je pense que mon squelette était responsable du Bug. J’ai bidouille de sorte a mettre a jour quelques scripts de mon squelette et les choses sont rentrées dans l’ordre.
      Spipement,

    Répondre à ce message

  • Le 1er décembre 2017 à 11:16, par tcharlss En réponse à : Saisies

    Je note ici pour ne pas oublier : l’option afficher_si ne fonctionne pas pour les saisies enfants d’une saisie fieldset

    • Le 1er décembre 2017 à 11:20, par Maïeul En réponse à : Saisies

      Je m’en sert régulièrement sur un formulaire formidable sans souci.

    • Le 1er décembre 2017 à 11:32, par tcharlss En réponse à : Saisies

      Ah oui, je confirme, ça fonctionne dans formidable.
      Moi c’est dans le contexte de saisies générées à partir d’un yaml, pour une noisette.
      Le JS n’est pas présent dans le squelette compilé (mais il y a bien le data-afficher_si sur le .editer).

      1. parametres:
      2.  -
      3.     saisie: 'fieldset'
      4.     options:
      5.       nom: 'fieldset_affichage'
      6.       label: 'Options d’affichage'
      7.       saisies:
      8.        -
      9.           saisie: 'radio'
      10.           options:
      11.             nom: 'choix_titre'
      12.             label: 'Choix du titre'
      13.             datas:
      14.               defaut: 'Par défaut'
      15.               perso: 'Titre personnalisé'
      16.         -
      17.           saisie: 'input'
      18.           options:
      19.             nom: 'titre'
      20.             label: 'Titre personnalisé'
      21.             afficher_si: "@choix_titre@=='perso'"

      Télécharger

    • Le 2 décembre 2017 à 16:25, par tcharlss En réponse à : Saisies

      Ça fonctionne très bien tout compte fait, je n’avais pas indenté le yaml correctement, cf https://contrib.spip.net/noiZetier-v2#forum494678

    Répondre à ce message

  • Le 27 octobre 2017 à 15:08, par michel En réponse à : Saisies

    Bonjour

    Je rencontre un problème avec ce plugin lors l’activation de la compression JS (dans l’admin > Fonction avancées > Optimisations et compression > Activer la compression des scripts)

    J’ai une erreur JS dans la console :

    Uncaught TypeError : $(...).parents is not a function

    Ce qui correspond a cette ligne inclus automatiquement dans ma page au niveau du formulaire :

    $(« #afficher_si_1385088934 »).parents(« form »).change(function()verifier_saisies_1385088934(this) ;) ;

    Qui est généré par le fichier saisies_afficher.php L.411 (plugins/saisies/inc/saisies_afficher.php) :

    code .= ’$(« #afficher_si_’.$id_form.’ »).parents(« form »).each(function()verifier_saisies_’.$id_form.’(this) ;) ;’ ;

    Sans compression, aucun problème
    Avec compression, l’erreur apparaît

    Quelqu’un peut m’aider ?
    Merci.

    • Le 10 novembre 2017 à 00:18, par RastaPopoulos En réponse à : Saisies

      Ça sent le javascript de jQuery mais qui n’est pas inclus dans un entourage standard qui permet de le lancer seulement quand on est sûr que tout est chargé avant. Ce qui fait que ce serait lancé avant jQuery et que donc ça planterait puisque ça ne trouverait pas $.parents etc.

    Répondre à ce message

  • Le 23 septembre 2017 à 13:59, par sirom En réponse à : Saisies

    Bonjour à tous

    Juste pour signaler que sur un site 3,1 j’ai une petite erreur dans la console de mon navigateur :

    ReferenceError: Can't find variable: jQuery sur le fichier saisies.js

    avec mon formulaire (formidable)

    Pourquoi ?
    (le site fonctionne et je n’ai pas de conflit jQuery )

    Merci de votre aide

    • Le 4 octobre 2017 à 11:15, par sirom En réponse à : Saisies

      Re,

      Je réponds, j’ai effectué un nettoyage dans mon html ( notamment balise

      en doublon)

      et tout est rentré dans l’ordre.

      Merci encore aux personnes présentes sur irc #spip qui sont là entre autres à veiller au grain du Core, mais aussi à dépatouiller les âmes en détresse ;)

      Cordialement.

    Répondre à ce message

  • Le 14 septembre 2017 à 16:18, par Hanjo En réponse à : Saisies

    Bonjour,

    Je trouve deux chaînes codées en dur dans le fichier saisies_doc.html

    Peut-être une petite modification pour une prochaine version de cet excellent plugin ?

    Cordialement,
    Hanjo

    Répondre à ce message

  • Le 17 janvier 2017 à 09:31, par PRX En réponse à : Saisies

    Bonjour,
    sans conséquences notables à ce moment, voici les messages (que je trouve alarmants inutilement) sur un mise à jour de quelques plugins :

    Erreurs survenues (donc en rouge)
    Impossible d’activer le plugin ../plugins/auto/saisies/v2.18.1
    Utilise le plugin VERIFIER en version ≥ 1.6.0.
    Impossible d’activer le plugin ../plugins/auto/ieconfig/v1.3.1
    Impossible d’activer le plugin ../plugins/auto/jeux/v3.4.1
    Impossible d’activer le plugin ../plugins/auto/menus/v1.6.5
    Nécessite le plugin ZPIP
    Nécessite le plugin SPIPR
    Nécessite le plugin SPIPR_BLOG
    Nécessite le plugin SPIPR_DIST
    Nécessite le plugin SPIPR_DOC
    Impossible d’activer le plugin ../plugins/auto/fbantispam/v1.2.3
    Impossible d’activer le plugin ../plugins/auto/noizetier/v2.5.0
    Impossible d’activer le plugin ../plugins/squelette_maparaan
    Nécessite le plugin TYPOENLUMINEE
    Nécessite le plugin GRAVATAR
    Nécessite le plugin SLOGAN
    Impossible d’activer le plugin ../plugins/auto/formidable/v3.0.1
    Utilise le plugin COLLECTIONJSON en version ≥ 1.5.0.
    Utilise le plugin CVTUPLOAD en version ≥ 1.9.4.
    Utilise le plugin CORBEILLE en version ≥ 3.1.0.
    Impossible d’activer le plugin ../plugins/auto/aveline/v2.5.7
    Utilise le plugin ZVIDE en version ≥ 2.0.0.
    Utilise le plugin SUIVANT_PRECEDENT en version ≥ 1.3.1.
    Utilise le plugin ANYTHINGSLIDER en version ≥ 2.0.0.

    Actions réalisées (en vert = OK)

    La mise à jour du plugin « Saisies pour formulaires » (de la version : 2.17.1 à 2.18.1) s’est correctement déroulée
    La mise à jour du plugin « NoSPAM » (de la version : 1.5.15 à 1.5.16) s’est correctement déroulée
    La mise à jour du plugin « Facteur » (de la version : 3.4.8 à 3.4.9) s’est correctement déroulée
    L’installation du plugin « Facteur » (version : 3.4.9) s’est correctement déroulée
    La mise à jour du plugin « API de vérification » (de la version : 1.4.2 à 1.6.0) s’est correctement déroulée

    • Le 5 juillet 2017 à 19:47, par Matthieu Marcillaud En réponse à : Saisies

      Ces problèmes (ordre pas toujours correct des plugins à activer) sont corrigés en version 3.2 de SPIP (actuellement en beta), ce qui enlève la plupart de ces fausses erreurs.

    Répondre à ce message

  • Le 5 juillet 2017 à 11:51, par Dudule En réponse à : Saisies

    Bonjour,
    Pouvez-vous me dire s’il est possible d’associer à un champ input un élément « datalist » de manière à avoir non seulement la possibilité de saisir une valeur mais également une liste de valeurs possibles. La fonction autocomplete peut être une piste mais elle ne prend en compte que les valeurs déjà saisies par l’utilisateur alors que je voudrais m’appuyer sur une liste de choix déterminée. Merci pour votre retour

    Répondre à ce message

  • Le 28 juin 2017 à 11:32, par Chourak En réponse à : Saisies

    Bonjour,

    Est-il voulu que sur une saisie de type radio et obligatoire (en html5) il n’y ait pas de required="required" sur l’input correspondant ?

    • Le 28 juin 2017 à 12:59, par RastaPopoulos En réponse à : Saisies

      C’est peut-être un oubli oui, mais note quand même que normalement pour des radios, en ergonomie il *devrait* y avoir l’un des boutons déjà coché, car ce sont des radios et qu’on ne ensuite jamais revenir à l’état « pas coché ».

    • Le 28 juin 2017 à 15:52, par Maïeul En réponse à : Saisies

      Pas d’accord avec toi. Car avec une option déjà coché, au cours le risque que la personne ne vérifie pas la valeur.

      Ex avec deux choix : « j’autorise à prendre des photos » / « je n’’autorise pas ». Si je coche par défaut l’un des deux je risque de ne pas réeellement recueillir le consentement

    • Le 28 juin 2017 à 16:03, par RastaPopoulos En réponse à : Saisies

      Il peut sûrement y avoir des exceptions mais c’est une mauvaise pratique la majorité du temps.

      Le W3C dit

      To avoid confusion as to whether a radio button group is required or not, authors are encouraged to specify the attribute on all the radio buttons in a group. Indeed, in general, authors are encouraged to avoid having radio button groups that do not have any initially checked controls in the first place, as this is a state that the user cannot return to, and is therefore generally considered a poor user interface.

    • Le 28 juin 2017 à 16:08, par Chourak En réponse à : Saisies

      Vos deux points de vue se valent !

      Dans mon cas c’est un simple choix de civilité Monsieur / Madame, mais qui est obligatoire.
      Je ne peux pas préjuger de la civilité de la personne qui remplit le formulaire, je préfère donc que rien ne soit coché par défaut et qu’en cas d’oubli le fait que ce soit obligatoire « force » les gens à choisir la bonne civilité.

      J’ai donc surchargé localement la saisie radio pour prendre en compte le required.

      merci :)

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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

  • Formulaire de contact avancé

    23 mars 2009 – 1398 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2416 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • Éditorial (HTML5UP)

    27 novembre 2017 – 67 commentaires

    Squelette SPIP pour intégrer le modèle Editorial de HTML5UP https://html5up.net/editorial Configuration La page de configuration permet quelques réglages. On y défini la couleur principale du site, des informations de contact et le contenu de la (...)

  • Personnalisation graphique du squelette SoyezCréateurs

    19 août 2009 – 98 commentaires

    Il est possible de personnaliser l’affichage du squelette SoyezCréateurs de manière plus ou moins profonde. Changement dans les couleurs via CFG La page de CFG des couleurs de SoyezCreateurs : ecrire/ ?exec=cfg&cfg=soyezcreateurs_couleurs (...)

  • Mentions Légales

    11 juin 2010 – 72 commentaires

    Ce plugin vous propose un ensemble d’éléments pour faciliter la mise en place de Mentions Légales, Conditions d’Utilisation et informations de Copyright dans l’espace public d’un site sous SPIP. Il présente notamment des textes légaux pré-définis, (...)