SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 90 visiteurs en ce moment

Accueil > Outils pour plugins > Fabrique > La Fabrique

La Fabrique

20 avril 2012 – par Matthieu Marcillaud – 335 commentaires

111 votes

La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de construire un plugin fonctionnel gérant un ou plusieurs objets éditoriaux et leurs liaisons (et là, elle devient formidable !). La base du plugin construit, il ne vous reste plus qu’à l’adapter à vos désirs les plus créatifs.

La Fabrique est un outil de construction de plugin spécialement orientée pour la gestion d’objets éditoriaux. Pour ceux qui ont connu le plugin « Chat » ou « Chat2 », sachez que la Fabrique sait gérer tout ce qui est présent dans ce tutoriel / plugin, et même au-delà, bien au-delà.

N’allez pas trop vite !

Cette note est aussi présente lors de l’installation du plugin, mais redisons le encore :

  • la Fabrique crée un code fonctionnel mais qui ne répondra peut être pas à 100% de vos attentes. La Fabrique ne peut pas tout faire. À vous d’adapter ensuite le code généré.
  • un plugin est très vite fait grâce à la Fabrique. Mais attention : le code n’est qu’une partie d’un plugin. Si vous voulez que votre plugin perdure dans le temps, il faut qu’il soit utile, partagé, documenté, traduit, il faut assister les utilisateurs, et maintenir son code avec les évolutions de SPIP et c’est tout cela aussi un plugin !
  • la Zone de SPIP permet de collaborer sur les plugins. Essayez au maximum de ne pas créer des plugins existant déjà, pour éviter des doublons qui peuvent disperser d’autant les énergies pour toutes les tâches citées au point précédent.

Pré-requis

Pour faire fonctionner la Fabrique il faut :

  • PHP >= 5.3 (il est possible que 5.2 fonctionne aussi)
  • SPIP 3.0-RC minimum
  • Un navigateur récent (testé avec FF11 et Chrome 18.0)
  • Saisies >= 0.25
  • Et peut être un système Unix/Linux pour son serveur (appel de exec('diff') en PHP) [1]

Optionnellement mais conseillé :

Démonstration vidéo

Dans la vidéo suivante, vous verrez une présentation de la Fabrique impliquant la construction d’un plugin « Félins » dans lequel nous créons 1 objet éditorial « Chats ».
Cette vidéo est aussi disponible en meilleure qualité sur medias.spip.net

Présentation de la Fabrique en vidéo

Accéder à la fabrique

Depuis SPIP 3.1, La fabrique est accessible dans le menu de développement (il faut activer l’option de vos préférences personnelles pour voir ce menu)

Documentation

En attendant une documentation plus riche ici, vous pouvez lire ces articles :

Capture d’écran

La Fabrique, version 1.13.3
Interface d’accueil de la Fabrique avec un objet éditorial « Chats » de renseigné dans un plugin nommé « Félins »

À tester

« La Fabrique » débute sa vie publique et doit être testée dans différents environnements. Vous êtes donc invités à explorer cet outil développé maintenant sur la Zone [2]

Limitation connue

Actuellement (version 1.16.3), à partir d’un certain nombre d’objets et de champs (environ 10 objets * 8 champs ici), le formulaire devient naturellement inopérant à cause d’une limitation voulue de PHP : max_input_vars, par défaut à 1000 dans php.ini.
Pour contourner, il faut modifier php.ini pour tolérer plus de champs (5000) par exemple.

Attention

Depuis le version 2.0.0 le menu de la fabrique se trouve dans celui de Développement. Celui-ci est activable depuis l’espace préférence de l’utilisateur.

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

Notes

[1À faire vérifier par quelqu’un ayant un serveur local sous Windows

Dernière modification de cette page le 15 janvier 2018

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 11 mars 2014 à 17:54, par robomatix En réponse à : La Fabrique

    Re bonjour,

    Concernant la pondération de la recherche dans un champ, on peut aller de 1 à 10. Mais ça marche dans quel sens ? Si je veux donner l’importance la plus haute à un champ pour la recherche, je dois mettre 1 ou 10 ?

    Merci d’avance de vos explications !

    Répondre à ce message

  • Le 11 mars 2014 à 17:12, par robomatix En réponse à : La Fabrique

    Bonjour,

    Pour un site bien spécifique un doit créer un plugin qui doit se connecter et créer des tables pour les objets dans une base externe. J’ai connecter cette base depuis « Maintenance => Maintenance technique ». Elle y apparait bien et j’ai créer à la main une table avec quelques champs que j’ai rempli et j’arrive à bien boucler dessus... De plus, cette table apparaît avec le nom du fichier de connexion créé par spip au moment ou il possible de créer la structure d’un table pour un objet à partir d’une table existante... Par contre, j’ai essayer de créer une table en mettant comme nom de la table sql « maconnexiontableexterne:manouvelletable », mais cela ne semble pas marcher... Pas d’erreur lors de la création du plugin, mais page blanche suite à son activation...

    Est ce normal ? Est ce possible de créer une table dans un table externe grace à ce plugin ? Si oui, comment faire ?

    Merci d’avance de votre aide !

    • Le 11 mars 2014 à 18:10, par Matthieu Marcillaud En réponse à : La Fabrique

      Il n’est pas possible actuellement de déclarer un objet éditorial à SPIP appartenant à une table externe. Ce plugin ne pourra pas vraiment t’aider à cela.

    • Le 12 mars 2014 à 11:11, par robomatix En réponse à : La Fabrique

      OK ! Merci pour la réponse.
      Je vais donc dans un premier temps créer les tables dans la base de spip avant d’en copier la structure dans l’autre base... En parallèle, je chercherais comment il faut modifier le code généré par La Fabrique pour créer directement les tables dans la base voulue...

    Répondre à ce message

  • Le 14 février 2014 à 04:29, par yohannp En réponse à : La Fabrique

    Hello !

    Apparemment, y’a encore le soucis de l’enregistrement des champs datetime/date avec La Fabrique ? Sur Google Chrome je n’arrive même pas à modifier la saisie avec le datepicker, tandis que sur Firefox j’arrive à l’éditer mais j’ai l’erreur

    Une erreur technique a empêché l’enregistrement correct du champ 'date_debut'.

    Y’a bien le bout de code qu’il faut dans la fonction verifier du formulaire pour normaliser le tout...

    ++

    • Le 14 février 2014 à 09:38, par Matthieu Marcillaud En réponse à : La Fabrique

      Il te manque probablement le plugin « verifier » ?

    • Le 14 février 2014 à 11:04, par yohannp En réponse à : La Fabrique

      Et non, verifier est bien présent.

    • Le 28 février 2014 à 17:24, par peetdu En réponse à : La Fabrique

      Effectivement, il y a un problème si...
      1- tu utilises Chrome ;
      2- dans fonctions avancées -> Norme HTML à suivre, tu as coché « Permettre le HTML5 »

      ....auquel cas le champ de saisie de la date est de type=date (en HTML 4 il sera type=text) et Chrome surcharge automatiquement avec un un calendrier de son cru. Il y a alors un conflit.

      Solution #1
      En repassant à Fonctions avancées -> Norme HTML à suivre -> Se limiter au HTML4 sur le site public et en vidant le cache, cela remarche de nouveau.

      Solution #2
      surcharger le fichier saisies/date.html dans le plugin Saisies. Mais bon...

    • Le 4 mars 2014 à 13:50, par peetdu En réponse à : La Fabrique

      Je crois avoir trouvé mieux. Dans le fichier editer_suffixe_plugin.html ajouter la ligne suivante :

      <div class='formulaire_spip formulaire_editer ....'>
      .....
      </div>
      <script>
      $(function(){
              $('input[type="date"]').prop('type','text');
      });
      </script>

    Répondre à ce message

  • Le 12 février 2014 à 18:13, par fabien En réponse à : La Fabrique

    Bonjour et merci pour ce plugin qui semble prometteur !

    Je suis confronté à un problème : j’ai une installation spip avec un préfixe « machin_ » sur mes tables (exemple « machin_articles ». Lors de la création d’un nouvel objet « livres » avec comme nom de table « livres », le formulaire de mon objet apparait bien dans l’admin de mon spip.

    Le problème c’est que lors d’un ajout dans cette table, il me dit que l’ajout a échoué car il ne trouve pas la table « machin_livres ». Effectivement, ma table est déclarée comme « livres » dans mon plugin et non « »machin_livres".

    De même si je modifie mon plugin en modifiant le nom de ma table « livres » en « machin_livres », (je le desinstalle et réinstalle) et que je tente à nouveau un ajout, l’insertion échoue à nouveau car il cherche cette fois la table « machin_machin_livres ». Cette fois-ci, il me double le préfixe de mes tables ...

    De plus, si je modifie dans ma BDD son nom en « machin_machin_livres » (comme le voudrait la requête d’insertion), la table est alors trouvée, l’insertion fonctionne, mais mon enregistrement n’apparait pas dans la liste des livres ... Il est donc bien présent en BDD mais n’est pas affiché.

    Merci pour votre aide.

    • Le 13 février 2014 à 09:13, par Matthieu Marcillaud En réponse à : La Fabrique

      Il n’y a normalement rien à faire. Que le préfixe soit ’spip_’ (par défaut) ou ’machin_’, les déclarations dans le plugin sont les mêmes. La table doit avoir un nom ’spip_livres’ et c’est ensuite SPIP qui adapte la requête comme il faut. Peut être que tu as nommé la table ’livres’ au lieu de ’spip_livres’ tout simplement ?

      Lorsque tu installes le plugin, la table créée devrait alors s’appeler ’machin_livres’. Est-ce le cas ?

    • Le 13 février 2014 à 10:54, par fabien En réponse à : La Fabrique

      En fait si je dis au plugin de créer un table « livres », il me crée dans la BDD une table « livres », sans préfixes donc. En revanche lorsque je cherche à interragir avec l’objet créé avec mon nouveau plugin il cherche une table « monpréfixe_livres » qui n’existe donc pas en BDD.

      Si je crée dans mon plugin la table « monpréfixe_livres », il crée en bdd une table « »monpréfixe_livres« mais il cherche à interroger (d’après les messages d’erreurs SPIP) une table s’appelant »« monpréfixe_monpréfixe_livres », qui n’existe pas non plus.

      As tu une idée d’ou ca pourrait venir ?

    • Le 13 février 2014 à 15:12, par Matthieu Marcillaud En réponse à : La Fabrique

      Reprenons…

      Dans l’édition de ton objet éditorial « Livres », dans la Fabrique, tu as une partie « Table » dans laquelle est un champ « Nom de la table SQL » avec écrit « Par exemple « spip_choses » ».

      Il te faut ici renseigner « spip_livres ». Est-ce bien ce que tu as fait ?

    • Le 13 février 2014 à 15:19, par fabien En réponse à : La Fabrique

      Merci Mathieu pour ton aide, le problème était là.

      Je pensais que la nouvelle table créée dans la BDD devait avoir le même préfixe que les autres tables de mon spip. Je pensais que l’exemple « spip_choses » signifiait qu’il fallait appeler ma table « machin_choses ».

      Le préfixe « spip_ » est donc obligatoire pour toutes les tables des nouveaux objets créés.

      Je vais pouvoir exploiter à fond toutes les possibilités de ce plugin :)

    Répondre à ce message

  • Le 1er juillet 2013 à 19:20, par David Mich En réponse à : La Fabrique

    Bonsoir, super heureux de ce plugin que j’utilise depuis un certain temps, Bravo à Matthieu !

    Mais j’ai un petit soucis avec la saisie de checkbox.

    Dans la configuration du champ concerné de La Fabrique, je mets :
    -  Checkbox pour le type de saisie. OK.
    -  datas=[(#ARRAYcle1,valeur1,cle2,valeur2)] pour l’option. OK.

    Mais que dois je mettre dans la Définition SQL. La je bloque (j’ai essayé des varchar, des tex NOT NULL, et autres mais rien à faire. Impossible d’enregistrer le formulaire après avec juste ce champ en checkbox défini.

    Y a t’il une doc autre que je n’aurais pas trouvé pour choisir les bonne définitions SQL en fonction du type de saisie ?

    Cordialement.

    • Le 1er juillet 2013 à 22:05, par Matthieu Marcillaud En réponse à : La Fabrique

      Ce n’est pas un problème de structure des données SQL (varchar ou text va très bien). C’est un problème de traitement du formulaire. On ne peut enregistrer dans une colonne SQL une donnée tabulaire. Ici, une liste de choix est une donnée tabulaire. Il faut donc « sérialiser » la donnée, la « linéariser », c’est à dire stocker sous forme de chaîne, d’une manière ou d’une autre ce tableau. Par exemple stocker « cle1,cle2 » ou « cle1|cle2 » ou encore « a:2{s:4{cle1}s:4{cle2}} ».

      En général, pour ces cas là, c’est la virgule qui est utilisée. C’est à dire que dans la partie « traiter » du formulaire, avant l’appel à la fonction d’enregistrement des données soumises par l’utilisateur, il faut modifier la saisie de celui ci pour le champ chekbox. par exemple avec :

      1. set_request('champ', implode(",", _request('champ')));

      On prend le champ tabulaire saisi avec _request, on l’implose en chaîne séparé par une virgule, et on le restocke dans la saisie d’origine (ce qui la modifie).

      Voilou.

    • Le 2 juillet 2013 à 07:58, par David Mich En réponse à : La Fabrique

      Génialissime ! Super, j’ai essayé, j’ai réussi, de nouvelles perspectives s’ouvrent à moi ... Et quelle rapidité pour nous aider ! La Fabrique est magique, elle permet effectivement de renseigner de nouveaux objets éditoriaux, mais pas seulement, il y a une multitude d’applications possibles en détournant l’objectif initial, et l’intérêt d’utiliser SPIP devient évident et grandiose ...

      J’espère que dans les évolutions futures de LAFABRIQUE vous ne supprimerez pas la partie expérimentale « Scripts à exécuter » car elle me semble essentielle pour tout amateur de ce plugin.

    • Le 2 juillet 2013 à 12:15, par Matthieu Marcillaud En réponse à : La Fabrique

      Heu, on est pas toujours aussi rapides :)

      Pour infos, peux tu expliquer à quoi te sers la partie « Scripts à exécuter » ? Et des exemples si tu as ?

    • Le 3 juillet 2013 à 16:23, par David Mich En réponse à : La Fabrique

      Bonjour, je me servais des scripts à exécuter par exemple pour corriger un truc qui me gêne un peu : le peuplement d’une base qui se fait dans le répertoire maître de lafabrique auto.

      foreach(array(
      ’importer_spip_sc_competences.php’,
      ’importer_spip_sc_domaines.php’,
      ’importer_spip_sc_domaines_liens.php’,
      ’importer_spip_sc_items.php’,
      ) as $f)
      copy($destination_plugin. ’../’ . $f, $destination_plugin . ’base/’.$f) ;

      Je fais un peu différemment maintenant, en modifiant les maj dans le fichier administrations.php mais je vais revenir à cette méthode qui me permet d’avoir le répertoire du plugin complet avec les bases à peupler dans /base. En effet, les plugins que je crée avec la fabrique sont destinés à 3 sites, cela me simplifie la vie, un petit peu.

      include_spip(’../importer_spip_sc_competences’) ;
      $maj[’create’][] = array(’importer_spip_sc_competences’) ;

      En effet, je teste souvent peut-être trop l’affichage et la saisie des résultats, alors pour éviter de saisir trop souvent des exemples, je peuple les tables au moment de la création du plugin.

    • Le 3 juillet 2013 à 16:43, par Matthieu Marcillaud En réponse à : La Fabrique

      Hum… en fait en général je les copie dans base du plugin créé, puis j’utilise le Futilitaire pour réimporter à chaque création via la fabrique du plugin les fichiers que j’avais ajouté dans base/

      http://zone.spip.org/trac/spip-zone/browser/_plugins_/fabrique/trunk/inc/futilitaire.php

      C’est expliqué là http://marcimat.magraine.net/Integrer-une-table-existante-dans-361 .
      Y a eu quelques améliorations du Futilitaire depuis, pour simplifier l’écriture de l’ajout de ligne dans le code source généré. Faut regarder le code source du Futilitaire qui est bien documenté.

      MM.

    • Le 4 juillet 2013 à 08:13, par David Mich En réponse à : La Fabrique

      Merci pour cette info, je vais me pencher dessus. A priori, si tu les copies dans base, tu passes par ftp pour la copie, non ? Pour ce qui est de ton exemple avec futilitaire ( (http://marcimat.magraine.net/Integrer-une-table-existante-dans-361), tu n’exclues pas non plus d’utiliser Les scripts à exécuter :

      include_once($destination_ancien_plugin . ’fabrique_geoniche_post_creation.php’) ;
      fabrique_geoniche_post_creation($data, $destination_plugin, $destination_ancien_plugin) ;

      Le code de Futilitaire est effectivement bien documenté et je vais voir ce que je peux en faire, l’idée n’est pas de conserver les scripts à exécuter une fois le plugin prêt pour le déploiement, juste pour me faciliter la vie au moment de la conception.

      Bonne journée.

    • Le 21 octobre 2013 à 23:39, par Halalala En réponse à : La Fabrique

      Bonjour,

      J’ai le même problème que Mich, mais j’ai moins de bagage technique que lui. Donc quand je lis : « set_request(’champ’, implode(",", _request(’champ’))) ; » qui semble être la solution à toutes les réponses .... je suis perdu. Je suppose que ça doit être qu’une partie du code, à modifier en fonction. J’utilise la fabrique depuis quelques temps et là ça coince beaucoup.

      je dois mettre ce type de code où dans Le plugin de Lafabrique ?, ( très bien au passage, même pour une bille comme moi ), j’ai regardé par-ci et par-là sur le net pour essayer tant bien que mal de comprendre mais , je séche complètement.

      merci, bonne soirée

    • Le 22 octobre 2013 à 08:19, par Mich En réponse à : La Fabrique

      Bonjour, tu dois mettre ce code dans un fichier php qui se trouve dans le répertoire :

      plugins\fabrique_auto\NOMDETONPLUGIN\formulaires\editer_NOMDETONOBJETEDITORIAL.php

      La fonction dans laquelle tu dois mettre le code est :

      « function formulaires_editer_NOMDETONOBJETEDITORIAL_traiter_dist »

      et tu mets au début de cette fonction le fameux set_request.

      Pour exemple, avec un champ "niveauscolaire" de type checkbox, dans l’objet éditorial sc_connaissance voici ce que cela donne :

      function formulaires_editer_sc_connaissance_traiter_dist($id_sc_connaissance=’new’, $retour=’’, $associer_objet=’’, $lier_trad=0, $config_fonc=’’, $row=array(), $hidden=’’)
      //MOFIFICATION, MERCI MATTHIEU
      set_request(’niveauscolaire’, implode(", ", _request(’niveauscolaire’))) ;

      $res = formulaires_editer_objet_traiter (’sc_connaissance’,$id_sc_connaissance,’’,$lier_trad,$retour,$config_fonc,$row,$hidden) ;

      // Un lien a prendre en compte ?
      if ($associer_objet AND $id_sc_connaissance = $res[’id_sc_connaissance’])
      list($objet, $id_objet) = explode(’|’, $associer_objet) ;

      if ($objet AND $id_objet AND autoriser(’modifier’, $objet, $id_objet))
      include_spip(’action/editer_liens’) ;
      objet_associer(array(’sc_connaissance’ => $id_sc_connaissance), array($objet => $id_objet)) ;
      if (isset($res[’redirect’]))
      $res[’redirect’] = parametre_url ($res[’redirect’], "id_lien_ajoute", $id_sc_connaissance, ’&’) ;



      return $res ;

      En espérant t’avoir aidé.

    • Le 23 octobre 2013 à 09:58, par Halalala En réponse à : La Fabrique

      bonjour,
      merci pour cette réponse rapide et précise. ça fonctionne très bien. Je viens de finir le formulaire avec plus de 20 checkbox et je ne rencontre pas de problèmes dans l’immédiat. Merci beaucoup

    • Le 24 octobre 2013 à 01:19, par Mich En réponse à : La Fabrique

      Heureux d’avoir pu t’aider. Bonne Fabrique.

      PS : tu peux aussi personnaliser les champ en te penchant sur les champs extras du plugin saisie et aller plus loin dans les champs de type checkbox. Il faudra toujours utiliser le set_request mais tu pourras éviter d’avoir à lister les couples clés/variables dans la Fabrique, et même automatiser tes listes déroulantes ou listes de checkbox en fonction de valeurs dans ta base. Mieux encore, et là je dis encore bravo à Matthieu Marcillaud, tu peux avoir les champs saisies créés par LaFabrique, en cochant la bonne case, et utiliser un objet éditorial dans un autre objet éditorial.

      Cordialement.

    • Le 26 octobre 2013 à 16:32, par halalala En réponse à : La Fabrique

      bonjour !!
      un truc dont je m’attendais pas, c’est que spip ne fait pas de recherches dans les fiches que les utilisateurs créeront avec le plugin ! Après moultes recherches, je suis tombés sur le plugin « fulltext ». Malheureusement la base ne doit pas comprendre plus de 16 champs. Donc j’ai effectivement splitté ma base pour avoir plusieurs objets éditoriaux - je vais tester -.
      En tout cas, effectivement le plugin est bien bien pensé pour être souple et efficace :)

      A+

    • Le 8 février 2014 à 14:03, par Spipmalion En réponse à : La Fabrique

      Attention si vous copiez-collez la ligne suivante il faudra remplacer les apostrophes :
      set_request(’niveauscolaire’, implode(« , », _request(’niveauscolaire’))) ;

      Ce code permet de résoudre un problème avec par exemple un champ selecteur_article (la Fabrique), mais il reste ceci :

      Warning : md5() expects parameter 1 to be string, array given in ecrire\inc\editer.php on line 355

    • Le 8 février 2014 à 14:37, par Mich En réponse à : La Fabrique

      Il faut bien copier la ligne avec les apostrophes, en tout cas cela marche.

      Par contre, ton premier champ doit être avec des guillemets, ce qui n’est pas le cas, ce ne sont pas les bons caractères guillemets pour php... qui entoure la virgule de séparation des champs ....

    • Le 8 février 2014 à 14:56, par Spipmalion En réponse à : La Fabrique

      C’est bien ce que je précise pour les futurs lecteurs, le copier/coller du message de Mich http://contrib.spip.net/La-Fabrique#forum471715 ne fonctionnera pas si on ne change pas les apostrophes pour mettre des bons guillemets.

      Il y a toujours le problème Warning : md5() expects parameter 1 to be string, array given in ecrire\inc\editer.php on line 355
      avec les champs de la Fabrique malgré le implode qui règle le problème pour l’enregistrement des champs.

    • Le 8 février 2014 à 15:13, par Spipmalion En réponse à : La Fabrique

      Ni ça « ni ça ’ ne fonctionne, ça oui mais je crois que c’est modifié quand on valide le post : ’

      Voici une proposition de code à améliorer : http://spip.pastebin.fr/32666

      Pourquoi ne rajouterait-on pas directement dans le code du plugin la Fabrique la génération de ce code, avec :

      if(is_array(...)) ... implode

      Puisque de toutes façons les array ne passent pas ?

    Répondre à ce message

  • Le 7 février 2014 à 17:05, par Spipmalion En réponse à : La Fabrique

    Bonjour,

    En créant un objet éditorial avec un champ sélection_article, j’obtiens cette erreur lors de la validation du formulaire du type « Créer un nouveau chat ». Même chose avec sélection_rubrique

    PHP Warning : addslashes() expects parameter 1 to be string, array given in /home/www/www.site.com/ecrire/req/mysql.php on line 1186, referer : http://www.site.com/ecrire/?exec=home_bloc_edit&new=oui&id_home_bloc=0&picker=1&id_r=2

    J’ai mis une définition SQL « text » pour ces champs

    • Le 8 février 2014 à 14:06, par Spipmalion En réponse à : La Fabrique

      Résolu grâce à : http://contrib.spip.net/La-Fabrique#forum469283

      Il reste toutefois cette erreur malgré le implode dans formulaires_editer_OBJET_traiter_dist() :

      Warning : md5() expects parameter 1 to be string, array given in ecrire\inc\editer.php on line 355

    Répondre à ce message

  • Le 12 novembre 2013 à 21:34, par Sandrine En réponse à : La Fabrique

    Bonjour,

    J’ai enfin l’occasion de tester la fabrique, après qu’on m’en ait maintes fois parlé.
    Le hic, c’est que lorsque je veux ajouter un objet éditorial, un message s’affiche « Site en travaux Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension. »

    Je suis en SPIP 3.0.11, avec la Fabrique 1.18.1.
    J’ai fait des tests avec une base SQLite, une base MySQL, sur des sites fonctionnant en local (sur Wamp et easyphp) - Version PHP 5.3.27 - MySQL 5.6.11

    Quelqu’un aurait-il une piste à creuser ?

    Merci d’avance,
    Sandrine

    • Le 5 janvier 2014 à 17:45, par freedfromparis En réponse à : La Fabrique

      Bonjour et bonne année à tous,

      Je réponds à ce message car je me trouve dans la même situation, après avoir créé mon plugin via La Fabrique, en tentant d’ajouter un objet éditorial je me retrouve avec un vilain « Site en travaux »

      Et chaque fois que je reviens sur le plugin La Fabrique (j’ai aussi tenté de désactiver/réactiver le plugin) j’obtiens cette erreur.

      Je suis sous SPIP 3.0.13
      J’utilise WAMP :
      Version de Apache : 2.2.22
      Version de PHP : 5.3.13
      Version de MySQL : 5.5.24

      Merci d’avance pour votre aide.

      Freed

    • Le 9 janvier 2014 à 12:16, par alain cousin En réponse à : La Fabrique

      bonjour,
      pour moi aussi la fonction ajouter un objet éditorial ne fonctionne pas sous spip 3013 et wamp mysql 5612 php 5412 apache 24 ;4 mais je n’ai pas page en travaux mais ça mouline et rien ne vient.

      cordialement alain cousin

    • Le 9 janvier 2014 à 16:14, par Mist. GraphX En réponse à : La Fabrique

      Et peut être un système Unix/Linux pour son serveur (appel de exec(’diff’) en PHP) [1]

      Je crois que l’article précise que laFabrique peut ne pas fonctionner avec un WAMP apparemment, de mémoire ça à toujours été précisé par l’auteur.

      Vos messages le confirme donc plus ou moins.

    • Le 9 janvier 2014 à 16:24, par Sandrine En réponse à : La Fabrique

      Bonjour

      Merci pour cette précision. Effectivement, ça semble se confirmer...
      N’ayant pas de compétences techniques très avancées, je n’avais pas tilté sur cette remarque.

      J’avais finalement contourné le problème en installant la fabrique sur un site en ligne (que j’utilise pour des tests) pour créer les objets éditoriaux dont j’avais besoin. Ensuite, il me suffisait de récupérer le plugin généré par FTP pour l’installer sur mon site local.

      Bonne journée,
      Sandrine

    • Le 13 janvier 2014 à 10:41, par alain cousin En réponse à : La Fabrique

      bonjour, merci pour vos commentaires, j’ai essayé comme Sandrine sur mon hébergeur nuxit mais cela n’a pas fonctionné, donc j’ai installé un linux ubuntu avec apache mysql et tout le reste et la cela fonctionne à merveille. qu’elle pluglins merveilleux il m’aide énormément à la compréhension du php merci aux créateurs.
      merci à tous cordialement alain cousin.

    Répondre à ce message

  • Le 10 décembre 2013 à 20:05, par Thomas Weiss En réponse à : La Fabrique

    Bonjour. Est-il possible d’ajouter un champs input de type file depuis l’interface de saisie de la fabrique ou bien est-il nécessaire de modifier manuellement les fichiers dans le répertoire formulaires ?
    Merci.

    • Le 12 décembre 2013 à 23:34, par Teddy Payet En réponse à : La Fabrique

      Bonjour,

      Il ne me semble pas encore possible d’ajouter de champs de ce type dans la fabrique en voyant ceci : http://zone.spip.org/trac/spip-zone/browser/_plugins_/saisies/saisies

      Il faut le faire à la mano…

    • Le 13 décembre 2013 à 09:38, par Teddy Payet En réponse à : La Fabrique

      Je corrige un peu ce que j’ai dit, ou du moins précise.

      Dans la mécanique de SPIP, l’ajout de fichiers (images, documents, etc.) à des objets éditoriaux se fait par l’intermédiaire des documents joints, implémentés en natif.
      Donc, il suffirait dans votre configuration d’activer les documents joints sur votre nouvel objet.

    • Le 13 décembre 2013 à 11:48, par Thomas Weiss En réponse à : La Fabrique

      Merci Teddy. Oui j’avais pensé à cela mais je me suis finalement inspiré du mécanisme de médiathèque pour lier des vignettes à des documents.

    Répondre à ce message

  • Le 12 décembre 2013 à 22:49, par Teddy Payet En réponse à : La Fabrique

    Bonjour,

    Est-il possible de déclarer de nouvelles saisies pour quelles soient reconnues par La Fabrique lorsqu’on crée un nouvel objet éditorial ?

    Un exemple concret : je désire ajouter un select issu du plugin Pays ISO 3166-1. Au lieu de le faire à la min après avoir créé les fichiers de mon plugin, je voudrais que la Fabrique le fasse tout comme il faut.

    cf. http://zone.spip.org/trac/spip-zone/browser/_plugins_/fabrique/trunk/formulaires/fabriquer_plugin.html#L93

    • Le 13 décembre 2013 à 09:08, par Pierre KUHN En réponse à : La Fabrique

      Hello

      Pourquoi ne pas mettre la saisies dans le plugins pays et ensuite l’utiliser depuis ton plugins ?
      Tout le monde en profiterais car je doute que cela est possible via la fabrique.

    • Le 13 décembre 2013 à 09:52, par Teddy Payet En réponse à : La Fabrique

      Justement Pierre, c’est le but.

      Le plugin Pays v3 va offrir de nouvelles saisies. Je voudrais que ces nouvelles saisies puissent être faire parti de la datalist de la Fabrique.
      (Les 2 nouvelles saisies en question vont permettre de sélectionner le Pays et de récupérer soit le #CODE_ALPHA3, soit le #CODE_NUM du pays.)

      Pour le cas ici de la Fabrique, c’est leur accès lorsqu’on construit un nouvel objet éditorial.

      Remarque

      Tout à fait par hasard, hier en mettant à jour le plugin Réglements, j’ai mis « factures » dans le « Type de saisies » et La Fabrique n’a pas bronchée. Elle a ajouté tout ce qu’il fallait et tout et tout.
      (cf. ici : http://zone.spip.org/trac/spip-zone/changeset/79290/_plugins_/reglements/trunk/formulaires/editer_reglement.html )
      Il faudrait peut-être documenté cet aspect. ;-)

      La Fabrique, c’est magique !

    • Le 13 décembre 2013 à 10:40, par Pierre KUHN En réponse à : La Fabrique

      Oui je fais cela pour mes développement.
      La fabrique prend tout type de saisies en compte mais faut pas faire de faute de frappe car tout passe ;)

      Pour moi dans la data list on devrait liste tout les objets non ?

    Répondre à ce message

  • Le 13 novembre 2013 à 17:20, par Phil En réponse à : La Fabrique

    Super plugin !
    Merci beaucoup.

    J’aurais juste une question ?
    J’aimerai créer un champ hidden. Pas de soucis mais j’aimerais lui passer une value=id_auteur dans les options de saisies coté Fabrique, j’ai essayé avec #ID_AUTEUR, id_auteur, #SESSIONid_auteur rien à faire, je n’arrive pas à avoir l’id de l’auteur dans mon formulaire, la balise input hidden est bien là mais mon champ value est vide ??
    Pouvez-vous m’indiquer la méthode ?
    Merci

    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

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2508 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 (...)

  • cibloc : mettre en forme le texte d’articles avec des blocs

    9 juillet – 23 commentaires

    Le plugin CIBLOC permet de mettre en forme le texte d’articles avec des blocs. Il offre des blocs, des colonnes, des icônes et des boutons. Les objectifs de ce plugin Le plugin CIBLOC offre des blocs, des colonnes, des icônes et des boutons : (...)

  • Réservations multiples

    4 juillet – commentaires

    Permettre aux utilisateurs d’effectuer de réservations multiples (réserver pour plusieurs personnes à la fois ou réserver un événement plusieurs fois) Dépendances Saisies Réservation d’événements Introduction Il y a deux manières de multiplier les (...)

  • Plugin Compteur Graphique

    31 juillet 2007 – 64 commentaires

    Ce plugin, construit dans le cadre du développement du squelette EVA-web, se propose de générer des images de compteurs de visites paramétrables aussi bien au niveau graphique que fonctionnel. Il peut s’intégrer à n’importe quel site fonctionnant sous (...)

  • SkelEditor 2.0

    1er mars 2010 – 79 commentaires

    La version remaniée et enrichie du plugin, pour SPIP 2.1, qui vous permet d’éditer votre squelette directement en ligne sans passer dans le FTP Ce plugin vous permet d’éditer les fichiers du squelette courant depuis l’interface privé. Cela peut (...)