CVT Upload - comments CVT Upload 2019-11-18T19:44:47Z https://files.spip.org/CVT-Upload#comment503110 2019-11-18T19:44:47Z <p>La version 3.30.0 du saisies ajouter deux élèments à afficher_si: <br />- syntaxe <code>@champ@:TOTAL > 2</code> pour vérifier qu'un champ de type checkbox a bien plus de deux case cochées <br />- syntaxe @champ@:TOTAL > 2 pour vérifier qu'un champ de type fichiers a bien plus de deux fichiers envoyés (dans ton cas : remplace le 2 par 0).</p> CVT Upload 2019-11-18T17:37:10Z https://files.spip.org/CVT-Upload#comment503109 2019-11-18T17:37:10Z <p>Le code que je donne plus haut fonctionne comme attendu, il vérifie si il existe _FILES ou si il y a déjà un fichier chargé et envoi un message d'erreur pour la case qui doit être cocher.</p> <p>Par contre, pas réussi à faire disparaitre/apparaitre cette case avec un afficher_si</p> <p>Voila voila<br class="autobr" /> merci :)</p> CVT Upload 2019-11-18T17:20:12Z https://files.spip.org/CVT-Upload#comment503107 2019-11-18T17:20:12Z <p>hum, je suis perdu. tu est tjr au point mort?</p> CVT Upload 2019-11-18T17:07:49Z https://files.spip.org/CVT-Upload#comment503105 2019-11-18T17:07:49Z <p>Merci, j'ai donc bidouillé un truc @maieul et modifié mon post :)<br class="autobr" /> et bien évidemment testé _request('fichiers') ou autre qui ne marche pas</p> CVT Upload 2019-11-18T16:58:52Z https://files.spip.org/CVT-Upload#comment503104 2019-11-18T16:58:52Z <p>J'ai un doute sur ce que tu veux tester. Est-ce l'envoi des fichiers par un formulaire, ou bien le fait que des fichiers soit présents d'un précedent envoi? Je pense que tu devrais tester plutot directement sur _request('fichiers') (ou 'fichiers' est le nom de ton champ).</p> CVT Upload 2019-11-18T16:47:32Z https://files.spip.org/CVT-Upload#comment503102 2019-11-18T16:47:32Z <p>La réponse est dans le plugin saisies/inc/saisies ligne 203 avec <code>_request('cvtupload_fichiers_precedents') et $_FILES</code></p> <p>Dans le vérifier du CVT</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="php"><code><span class="re0">$televerse</span> <span class="sy0">=</span> _request<span class="br0">&#40;</span><span class="st_h">'cvtupload_fichiers_precedents'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.php.net/is_array" rel='nofollow'><span class="kw3">is_array</span></a><span class="br0">&#40;</span><span class="re0">$_FILES</span><span class="br0">&#41;</span> AND <a href="http://www.php.net/count" rel='nofollow'><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$_FILES</span><span class="br0">&#41;</span> <span class="sy0">></span> <span class="nu0">0</span><span class="br0">&#41;</span> OR <span class="br0">&#40;</span><a href="http://www.php.net/is_array" rel='nofollow'><span class="kw3">is_array</span></a><span class="br0">&#40;</span><span class="re0">$televerse</span><span class="br0">&#41;</span> AND <a href="http://www.php.net/count" rel='nofollow'><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$televerse</span><span class="br0">&#41;</span> <span class="sy0">></span> <span class="nu0">0</span> <span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="re0">$certifie_fichiers</span> <span class="sy0">=</span> _request<span class="br0">&#40;</span><span class="st_h">'certifie_fichiers'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// case à cocher </span> <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$certifie_fichiers</span> <span class="sy0">!=</span> <span class="st_h">'on'</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re0">$erreurs</span><span class="br0">&#91;</span><span class="st_h">'certifie_fichiers'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">"Merci de certifier les droits de publication des images"</span><span class="sy0">;</span> <span class="br0">&#125;</span> <span class="br0">&#125;</span></code></pre></div> CVT Upload 2019-11-18T16:42:26Z https://files.spip.org/CVT-Upload#comment503100 2019-11-18T16:42:26Z <p>1) il faut que je code un truc, je te fais cela asap<br class="autobr" /> 2) il n'y pas de vérifier avec cvtupload, il y a des vérifie pour les fichiers (avec ou sans cvtupload), dans l'API verifier, que tu peux surcharger comme n'importe quel fichier (mais peut être vaudrait-il mieux voir si on ne pas l'étendre plutot)</p> CVT Upload 2019-11-18T16:37:19Z https://files.spip.org/CVT-Upload#comment503099 2019-11-18T16:37:19Z <p>Bonjour,<br class="autobr" /> si il y a un document chargé, et pour afficher une case à cocher avant l'envoi, comment cibler avec un afficher_si ?<br class="autobr" /> Ou sinon est-ce qu'il est possible de surcharger le verifier de cvt_upload ?<br class="autobr" /> Merci bien<br class="autobr" /> touti</p> CVT Upload 2019-07-11T08:17:27Z https://files.spip.org/CVT-Upload#comment501717 2019-07-11T08:17:27Z <p>RastaPopoulos merci pour ton intervention.<br class="manualbr" />Voila ma réflexion.<br class="manualbr" />Aujourd'hui FORMIDABLE utilise CVT Upload, il crée un champ dans la table formulaires_reponses_champs avec un lien vers le fichier uploadé.<br class="manualbr" />Je pense que dans un premier temps un fonctionnement très similaire peut être intéressant.<br class="manualbr" />Création d'un champ “fichier” dans la table de l'objet dans laquelle on ajoute le champ extra<br class="autobr" /> _Le fichier uploadé suit le fonctionnement du stockage utilisé par Formidable. On pourrait le stocker dans config/fichiers/champextra (Formidable stocke dans config/fichiers/formidable) <br class="manualbr" />Comme dans Formidable quand on enregistre les réponses , on a un champ avec le lien vers le fichiers uploadé, on pourrait avoir dans l'objet concerné par ce champ extra, le lien vers le fichier uploadé.</p> <p>Donc un fonctionnement très proche de ce que l'on a actuellement avec FORMIDABLE.<br class="manualbr" />J'espère avoir formulé mon approche de manière compréhensible ;-)</p> CVT Upload 2019-07-10T18:24:45Z https://files.spip.org/CVT-Upload#comment501715 2019-07-10T18:24:45Z <p>Sauf que comme discuté avec JLuc plusieurs fois, ce n'est pas trivial du tout de décider quoi faire. Un champ extra c'est un champ précis avec un nom précis, ce n'est pas la médiathèque. Donc ça veut dire comment on stocke ce champ, ya quoi dans le champ SQL en base, où sera stocké le fichier uploadé, faut pouvoir visualiser le fichier de ce champ précis et quand on édite de l'existant faut pouvoir le supprimer et modifier, etc. Bref on ne sait pas encore vraiment ce que c'est censé faire dans les détails, ya pas mal de réfléchissage.</p> CVT Upload 2019-07-10T18:20:49Z https://files.spip.org/CVT-Upload#comment501714 2019-07-10T18:20:49Z <p>Merci Maïeul pour ce retour rapide.<br class="manualbr" />C'est certain qu'une adaptation de Champs Extras serait utile.</p> CVT Upload 2019-07-10T17:23:30Z https://files.spip.org/CVT-Upload#comment501713 2019-07-10T17:23:30Z <p>cvt upload est là pour permettre à des plugins d'envoyer des fichiers. le traitement des fichiers se fait ensuite niveau plugin.</p> <p>Formidable a été adapté pour cela. Pas champ extra. Il y a une personne qui m'a contacté il y a peu, qui avait l'air intéressé par améliorer champ extra pour cela, mais pour le moment je n'ai pas de nouvelle....</p> CVT Upload 2019-07-10T17:17:55Z https://files.spip.org/CVT-Upload#comment501712 2019-07-10T17:17:55Z <p>Bonjour,<br class="manualbr" />J'ai bien vu que CVT Upload permet d'ajouter des fichiers en téléchargement sans problème avec FORMIDABLE<br class="manualbr" />J'ai installé INSCRIPTION3 et Champs Extras .<br class="manualbr" />Or je n'ai pas la possibilité d'ajouter des fichiers, depuis Champs Extras<br class="manualbr" />Comment faire ?</p> CVT Upload 2019-05-13T22:26:39Z https://files.spip.org/CVT-Upload#comment501221 2019-05-13T22:26:39Z <p>Configuration :</p> <p>SPIP 3.2.4<br class="autobr" /> CVTUPLOAD 1.17.0<br class="autobr" /> SAISIES 3.19.5<br class="autobr" /> VERIFIER 1.9.2</p> <p>HTML :</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="xml"><code><span class="sc3"><span class="re1"><div</span> <span class="re0">class</span>=<span class="st0">"editer editer_justificatif_upload[ (#ENV{justificatif}|non) obligatoire][ (#ENV**{erreurs}|table_valeur{justificatif_upload}|oui)erreur]"</span><span class="re2">></span></span> <span class="sc3"><span class="re1"><label</span> <span class="re0">for</span>=<span class="st0">"justificatif_upload"</span><span class="re2">></span><span class="re1"><:adherent:champ_justificatif_label:<span class="re2">></span></span><span class="re1"><span</span> <span class="re0">class</span>=<span class="st0">'obligatoire'</span><span class="re2">></span></span> <span class="sc3"><span class="re1"><span<span class="re2">></span></span></span>(*)<span class="sc3"><span class="re1"></span<span class="re2">></span></span><span class="re1"></span<span class="re2">></span></span><span class="re1"></label<span class="re2">></span></span></span>[ <span class="sc3"><span class="re1"><span</span> <span class="re0">class</span>=<span class="st0">'erreur_message'</span><span class="re2">></span></span>(#ENV**{erreurs}|table_valeur{justificatif_upload})<span class="sc3"><span class="re1"></span<span class="re2">></span></span></span>] <span class="sc3"><span class="re1"><div</span> <span class="re0">class</span>=<span class="st0">"file choix"</span><span class="re2">></span></span> <span class="sc3"><span class="re1"><input</span> <span class="re0">type</span>=<span class="st0">"file"</span> <span class="re0">class</span>=<span class="st0">"file"</span> <span class="re0">name</span>=<span class="st0">"justificatif_upload"</span> <span class="re0">id</span>=<span class="st0">"justificatif_upload"</span><span class="br0">&#91;</span> <span class="br0">&#40;</span>#ENV<span class="br0">&#123;</span>justificatif<span class="br0">&#125;</span>|non<span class="br0">&#41;</span> required<span class="br0">&#93;</span> <span class="re0">accept</span>=<span class="st0">"application/pdf"</span> <span class="re2">/></span></span> <span class="sc3"><span class="re1"></div<span class="re2">></span></span></span> <span class="sc3"><span class="re1"></div<span class="re2">></span></span></span></code></pre></div> <p>Extrait de mon tableau de saisie :</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="php"><code><a href="http://www.php.net/array" rel='nofollow'><span class="kw3">array</span></a><span class="br0">&#40;</span> <span class="st_h">'saisie'</span> <span class="sy0">=></span> <span class="st_h">'fichiers'</span><span class="sy0">,</span> <span class="st_h">'options'</span> <span class="sy0">=></span> <a href="http://www.php.net/array" rel='nofollow'><span class="kw3">array</span></a><span class="br0">&#40;</span> <span class="st_h">'nom'</span> <span class="sy0">=></span> <span class="st_h">'justificatif_upload'</span><span class="sy0">,</span> <span class="st_h">'label'</span> <span class="sy0">=></span> _T<span class="br0">&#40;</span><span class="st_h">'adherent:champ_justificatif_label'</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="st_h">'nb_fichiers'</span> <span class="sy0">=></span> <span class="nu0">1</span> <span class="br0">&#41;</span><span class="sy0">,</span> <span class="st_h">'verifier'</span> <span class="sy0">=></span> <a href="http://www.php.net/array" rel='nofollow'><span class="kw3">array</span></a><span class="br0">&#40;</span> <span class="st_h">'type'</span><span class="sy0">=></span> <span class="st_h">'fichiers'</span><span class="sy0">,</span> <span class="st_h">'options'</span> <span class="sy0">=></span> <a href="http://www.php.net/array" rel='nofollow'><span class="kw3">array</span></a><span class="br0">&#40;</span> <span class="st_h">'taille_max'</span> <span class="sy0">=></span> <span class="nu0">500</span><span class="sy0">,</span> <span class="st_h">'mime'</span> <span class="sy0">=></span><span class="st_h">'specifique'</span><span class="sy0">,</span> <span class="st_h">'mime_specifique'</span> <span class="sy0">=></span> <a href="http://www.php.net/array" rel='nofollow'><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'application/pdf'</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">,</span></code></pre></div> <p>Dans la fonction vérifier</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="spip"><code>$erreurs = array(); $erreurs_par_fichier = array(); $saisies = formulaires_editer_adherent_saisies_dist(); $saisies_verifier = saisies_verifier($saisies,true,$erreurs_par_fichier); foreach ($saisies_verifier as $champ => $erreur) <span class="re40">{ cvtupload_nettoyer_files_selon_erreurs($champ, $erreurs_par_fichier[$champ]); }</span></code></pre></div> <p>Si je charge un fichier supérieur à 500 Mo :</p> <p>Erreur inattendue puis</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="php"><code>Fatal error<span class="sy0">:</span> Uncaught Error<span class="sy0">:</span> Cannot <a href="http://www.php.net/unset" rel='nofollow'><span class="kw3">unset</span></a> string offsets <span class="sy0">----/</span>spip<span class="sy0">/</span>plugins<span class="sy0">/</span>auto<span class="sy0">/</span>cvtupload<span class="sy0">/</span>v1<span class="sy0">.</span>17<span class="sy0">.</span>0<span class="sy0">/</span>inc<span class="sy0">/</span>cvtupload<span class="sy0">.</span>php on line <span class="nu0">250</span> <span class="br0">&#40;</span> <span class="sy0">!</span> <span class="br0">&#41;</span> Error<span class="sy0">:</span> Cannot <a href="http://www.php.net/unset" rel='nofollow'><span class="kw3">unset</span></a> string offsets in <span class="sy0">----/</span>spip<span class="sy0">/</span>plugins<span class="sy0">/</span>auto<span class="sy0">/</span>cvtupload<span class="sy0">/</span>v1<span class="sy0">.</span>17<span class="sy0">.</span>0<span class="sy0">/</span>inc<span class="sy0">/</span>cvtupload<span class="sy0">.</span>php on line <span class="nu0">250</span> </code></pre></div> <p>J'ai l'impression que le problème vient de verifier</p> <p>Si je désactive toutes les options dans le tableau de saisie et que je passe par la fonction vérifier du formulaire</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="php"><code><span class="re0">$verifier</span> <span class="sy0">=</span> charger_fonction<span class="br0">&#40;</span><span class="st_h">'verifier'</span><span class="sy0">,</span> <span class="st_h">'inc'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="re0">$options</span> <span class="sy0">=</span> <a href="http://www.php.net/array" rel='nofollow'><span class="kw3">array</span></a><span class="br0">&#40;</span> <span class="st_h">'mime'</span> <span class="sy0">=></span> <span class="st_h">'specifique'</span><span class="sy0">,</span> <span class="st_h">'mime_specifique'</span> <span class="sy0">=></span> <a href="http://www.php.net/array" rel='nofollow'><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'application/pdf'</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="st_h">'taille_max'</span> <span class="sy0">=></span> <span class="nu0">500</span><span class="sy0">,</span> <span class="co1">// en kio</span> <span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$erreur</span> <span class="sy0">=</span> <span class="re0">$verifier</span><span class="br0">&#40;</span><span class="re0">$_FILES</span><span class="br0">&#91;</span><span class="st_h">'justificatif_upload'</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="st_h">'justificatif_upload'</span><span class="sy0">,</span> <span class="re0">$options</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// renvoyer l'erreur dans le formulaire</span> <span class="re0">$erreurs</span><span class="br0">&#91;</span><span class="st_h">'justificatif_upload'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$erreur</span><span class="sy0">;</span> <span class="co1">// supprimer le fichier en erreur dans _FILES</span> cvtupload_nettoyer_files_selon_erreurs<span class="br0">&#40;</span><span class="st_h">'justificatif_upload'</span><span class="sy0">,</span><span class="re0">$erreur</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span></code></pre></div> <p>Il ne se passe rien : aucune vérification de la taille du fichier</p> CVT Upload 2019-05-13T14:13:17Z https://files.spip.org/CVT-Upload#comment501214 2019-05-13T14:13:17Z <blockquote class="spip"> <p> Et bien, cela plante au moment de verifier<br class="autobr" /> Saisie insère bien name avec un tableau</p> </blockquote> <p>je n'ai aucun plantage. Pouvez vous me décrir plus précisement ce que vous faites? que je puissse reproduire.</p> CVT Upload 2019-05-13T13:40:32Z https://files.spip.org/CVT-Upload#comment501213 2019-05-13T13:40:32Z <p>le fichier unique devrait passer normalement... il faut qu'on voit là où cela merdouille, mais les deux cas devraient pouvoir ce gerer : tableau ou pas.</p> CVT Upload 2019-05-13T12:02:41Z https://files.spip.org/CVT-Upload#comment501212 2019-05-13T12:02:41Z <p>Super !<br class="autobr" /> Du coup, puisque j'y suis :</p> <p>Dans inc-cvtupload-fichier.html -> une coquille Ligne17 avec</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="spip"><code><span class="re4">[</span><span class="re4">(</span><span class="re1">#HTML5</span><span class="re50">|oui</span><span class="re4">)</span><span class="re4">[</span> accept="<span class="re4">(</span><span class="re1">#GET</span><span class="re40">{mime,''}</span><span class="re4">)</span>"<span class="re4">]</span><span class="re4">]</span></code></pre></div> <p>au lieu de</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="spip"><code><span class="re4">[</span><span class="re4">(</span><span class="re1">#HTML5</span><span class="re50">|oui</span><span class="re4">)</span><span class="re4">[</span> accept="<span class="re4">(</span><span class="re1">#ENV</span><span class="re40">{mime,''}</span><span class="re4">)</span>"<span class="re4">]</span><span class="re4">]</span></code></pre></div> <p>Enfin, dans les exemples fournis, si fichier unique</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="spip"><code><span class="re1">#SET</span><span class="re40">{name,seul}</span> name="<span class="re1">#GET</span><span class="re40">{name}</span>"</code></pre></div> <p>Et bien, cela plante au moment de verifier<br class="autobr" /> Saisie insère bien name avec un tableau</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="spip"><code>name="<span class="re1">#ENV</span><span class="re40">{nom}</span><span class="re101"><span class="re102">\</span>[</span><span class="re4">[</span><span class="re4">(</span><span class="re1">#VALEUR</span><span class="re50">|moins</span><span class="re40">{1}</span><span class="re4">)</span><span class="re4">]</span><span class="re101"><span class="re102">\</span>]</span>"</code></pre></div> CVT Upload 2019-05-13T09:09:55Z https://files.spip.org/CVT-Upload#comment501208 2019-05-13T09:09:55Z <p><a href="https://zone.spip.net/trac/spip-zone/changeset/115356/spip-zone" class="spip_url spip_out auto" rel="nofollow external">https://zone.spip.net/trac/spip-zone/changeset/115356/spip-zone</a></p> CVT Upload 2019-05-13T09:09:43Z https://files.spip.org/CVT-Upload#comment501207 2019-05-13T09:09:43Z <p>Merci, c'est corrigé dans la version 1.17.1 qui sera bientot disponible en zip.</p> CVT Upload 2019-05-13T09:01:39Z https://files.spip.org/CVT-Upload#comment501206 2019-05-13T09:01:39Z <p>Bonjour,</p> <p>Merci pour ce plugin très pratique !</p> <p>Une erreur ressort si le formulaire est posté sans fichier (unique) uploadé :</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="php"><code>Undefined offset<span class="sy0">:</span> <span class="nu0">0</span> in <span class="sy0">---/</span>spip<span class="sy0">/</span>plugins<span class="sy0">/</span>auto<span class="sy0">/</span>cvtupload<span class="sy0">/</span>v1<span class="sy0">.</span>17<span class="sy0">.</span>0<span class="sy0">/</span>inc<span class="sy0">/</span>cvtupload<span class="sy0">.</span>php on line <span class="nu0">171</span></code></pre></div> <p>Il me semble que ceci résoudrait le problème :</p> <div class="precode"><pre dir="ltr" style="text-align: left;" class="php"><code> <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><a href="http://www.php.net/empty" rel='nofollow'><span class="kw3">empty</span></a><span class="br0">&#40;</span> <span class="re0">$infos</span><span class="br0">&#41;</span> <span class="sy0">&&</span> <span class="re0">$fichier_unique</span> <span class="sy0">==</span> <span class="kw4">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="re0">$infos</span> <span class="sy0">=</span> <span class="re0">$infos</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="br0">&#125;</span></code></pre></div> CVT Upload 2018-10-30T09:37:23Z https://files.spip.org/CVT-Upload#comment498624 2018-10-30T09:37:23Z <p>Oui, justement il est pour le devs, donc je me disais que cela serait plutôt bien de pouvoir coupler ses fonctionnalités de gère juste la mise en mémoire durant la vérification pour avoir un bon fonctionnement de la fonction upload...je ne sais si c'est plus clair comme cela ou pas.</p> <p>Merci pour le plugin.</p> <p>Bonne journée.</p> CVT Upload 2018-10-29T19:07:15Z https://files.spip.org/CVT-Upload#comment498622 2018-10-29T19:07:15Z <p>Uploader des fichiers via la Fabrique ? Qu'est-ce que ça peut bien vouloir dire ? :)</p> <p>Ce plugin est uniquement pour les dévs, et il ne fait rien des fichiers, ça ne dit pas qu'est-ce qui sera fait des fichiers ensuite dans le traitement. Ça gère juste la mise en mémoire durant la vérification.</p> CVT Upload 2018-10-27T17:54:53Z https://files.spip.org/CVT-Upload#comment498593 2018-10-27T17:54:53Z <p>Merci. Excellent. Donc nous pourrions intégrer ce plugin pour laisser uploader des fichiers via la fabrique, pour construire un plugin avec une telle fonction...est-ce que quelqu'un peut partager un tel tutoriel.</p>