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 > Squelettes > Outils pour squelettes > Upload en html5 > Formulaire d’upload en html5

Formulaire d’upload en html5

27 avril 2015 – par Phenix – 100 commentaires

58 votes

Un formulaire d’upload en html5 pour l’interface admin de SPIP.

Ce plugin ajoute un système d’upload moderne à SPIP. Il peut être utilisé pour l’upload de masse.

Ce système est basé sur dropzonejs.

Utilisation

Espace privé de SPIP

Dans l’espace d’administration de spip, le plugin doublonne par défaut chaque formulaire de téléversement de logo natif par celui qu’il propose.

Une option permet toutefois de totalement remplacer le formulaire natif par celui proposé par le plugin.

Dans vos squelettes

Le plugin propose un formulaire spip qui peut être appelé de manière classique, en plus de son intégration dans l’interface d’administration de SPIP :

  1. #FORMULAIRE_UPLOADHTML5{objet, id_objet, mode, ajaxReload}

Le formulaire prend 4 paramètres :

  • Un objet SPIP (article, rubrique, brève,...)
  • L’identifiant de l’objet. Les documents seront alors attaché à cet objet.
  • (Optionnel) le mode d’attache. (version >= 1.2.6)
  • (Optionnel) le nom d’un bloc ajax à recharger après l’upload d’un document. (version >= 1.2.7)

Paramétrages

Page de configuration
Les options du plugin sont accessible via la page de gestion des plugins.

Elles règlent :
-  l’activation du plugin sur les pages publiques (par défaut : non).
-  le fait que le plugin remplace ou non les formulaires de téléversement de logo d’objet, dans la partie privée de spip. Par défauit, il ne remplace pas mais les doublonne.
-  la taille maximale de fichiers téléversés
-  le nombre maximal de fichiers téléversés (par défaut : pas de limite).

Constantes

Le téléversement avec uploadhtml5 prend également en compte les constantes php suivantes, à définir dans mes_options.php :
-  _IMG_MAX_WIDTH et _IMG_MAX_HEIGHT utilisées par SPIP pour définir la largeur et la hauteur maximale d’un document image, lorsqu’elles sont définies et non nulles. Si une image téléversée est plus grande, elle est automatiquement redimensionnée à cette taille (cf http://www.spip.net/4645).
-  _TITRER_DOCUMENTS : lorsque cette constante est définie et non nulle, le titre des documents joints est automatiquement pris à partir du nom du fichier (avec mediatheque) (cf http://www.spip.net/5674).

Crédit

Icône par Philipp Süß sur thenounproject.

Voir en ligne : http://plugins.spip.net/uploadhtml5

Dernière modification de cette page le 8 juin 2018

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 7 juin à 12:49, par graphie En réponse à : Formulaire d’upload en html5

    Re-Bonjour,

    SPIP 3.2.1 [23954] + Formulaire upload html5 2.0.0 / 2.0.2 / 2.0.3 :
    -  l’upload ne fonctionne pas avec CVT Upload 1.14.0
    -  l’upload fonctionne avec CVT Upload 1.11.4 / 1.12.0

    Merci,
    françois

    Répondre à ce message

  • Le 28 septembre à 02:28, par RP En réponse à : Formulaire d’upload en html5

    [(#FORMULAIRE_UPLOADHTML5article, #ID_ARTICLE, document, ajaxReload)]

    comment faire pour que le document s’ajoute au portfolio sans avoir à recalculer la page ?

    ou si cela est impossible :

    Puis-je déplacer le bouton spip par défaut « recalculer la page » ?
    Je le placerais en bas du rectangle de UPLOAD.
    Ce serait plus ergonomique !

    Répondre à ce message

  • Le 11 août 2017 à 14:38, par Ramina En réponse à : Formulaire d’upload en html5

    Bonjour,

    Ce plugin est magnifique. Bravo !

    J’ai juste un petit souci… Je l’ai rendu accessible sur la partie publique (avec accès restreint) et j’ai mis des limites de taille et de poids dans mes_options.php. Ça marche, mais quand Spip retaille des images, les vignettes du portfolio présentent un fond noir avec des petites images en haut à gauche qui n’occupent pas tout l’espace de la vignette. Après, quand on visionne dans la box, la vraie image est OK.

    Je ne sais pas si ce problème est lié au plugin ou à GD2 qui retaille les images… Mais si quelqu’un a une piste… merci de me dire.

    Ramina

    • Le 11 août 2017 à 22:30, par Phenix En réponse à : Formulaire d’upload en html5

      Bonjour Ramina,

      Ce que tu dis est assez confus. Le plugin ne s’occupe que de la partie upload des fichiers.

      Je ne vois pas ce que vient faire le plugin accès restreint dans cette histoire.

      Le plugin ne s’occupe pas de la partie affichage, c’est le squelette qui s’en charge.

    • Le 12 août 2017 à 12:33, par Ramina En réponse à : Formulaire d’upload en html5

      Bon, c’est pas grave. Mais en continuant mes tests je trouve un truc beaucoup plus embêtant.

      Je m’aperçois que pour pouvoir télécharger des images depuis l’espace public, on doit être logué comme administrateur. Dès lors, je ne vois pas bien l’avantage, puisque les administrateurs ont la possibilité d’aller le faire dans l’espace privé.
      Ce que je trouverais plus utile, c’est de donner la possibilité à des visiteurs inscrits de le faire. Mais ça ne va pas, puisqu’il faut alors leur conférer des droits d’administrateur, et du coup, la possibilité qu’ils aillent se promener dans l’espace privé.
      (C’est pour cacher les pages en question au grand public que j’utilise Accès restreint, mais je sais, c’est pas ici !)

      Merci d’avance

    • Le 12 août 2017 à 13:08, par Phenix En réponse à : Formulaire d’upload en html5

      Ce que je trouverais plus utile, c’est de donner la possibilité à des visiteurs inscrits de le faire.

      C’est possible, mais pour des raisons de sécurité, les autorisations de SPIP par défaut bloquent. Il s’agit là d’une opération à mûrement réfléchir car elle peut avoir des conséquences juridique pour la personne qui laisse tout à chacun uploader des données.
      Du coup, par défaut c’est bloqué.

      Un développeur peut surcharger, de mémoire, l’autorisation « joindre_document » et autoriser d’autres à uploader.

    • Le 12 août 2017 à 17:32, par Ramina En réponse à : Formulaire d’upload en html5

      Oui, en effet, cela peut avoir des conséquences juridiques mais aussi et surtout pour la sécurité du site.

      J’ai quand même essayé de surcharger la fonction, mais sans y parvenir. Tant pis, je me contenterai de l’upload par l’espace privé.

      Merci quand même.

    • Le 19 août à 06:12, par jpcrea En réponse à : Formulaire d’upload en html5

      Bonjour,
      Le plugin ne permet pas à des visiteurs inscrits d’uploader des images et document.
      C’est bien dommage. J’ai créé un nouvel objet d’édition de recettes de cuisine à partager
      avec possibilité d’y poster une photo par des visiteurs et cette application me semblait être idéale.
      Pouvez-vous nous indiquer comment procéder pour modifier l’autorisation « joindre_document » ? Est-ce possible ?
      Merci pour votre aide.

    • Le 22 août à 18:31, par Phenix En réponse à : Formulaire d’upload en html5

      Bonjour,

      Pouvez-vous nous indiquer comment procéder pour modifier l’autorisation « joindre_document » ? Est-ce possible ?

      Cela dépend des cas, je ne souhaite pas donnée une méthode générique de manière publique qui ouvrirai les portes vers l’upload de tout et n’importe quoi sur le serveur.
      Surcharger cette fonction est un travail à réfléchir avec un développeur.

    • Le 23 août à 05:39, par jpcrea En réponse à : Formulaire d’upload en html5

      Bonjour,
      Merci pour votre réponse.
      Je comprend bien votre point de vue.
      Vous serez t-il possible de me donner quelque indication par voie privée ? J’ai quelques notions concernant les API d’autorisations. J’ai vraiment besoin de cette possibilité. Il y en a d’autre mais celle-ci me paraît la plus intéressante et pertinente.

    • Le 23 août à 20:06, par Phenix En réponse à : Formulaire d’upload en html5

      Hello,

      Pas de problème, je t’invite a me contacter via ce canal : https://orava.be/Besoin-d-information

    Répondre à ce message

  • Le 25 avril à 09:32, par RealET En réponse à : Formulaire d’upload en html5

    J’ai un problème pour envoyer de grosses images (plus de 2Mo) alors que le serveur et la CFG sont réglés sur 64Mo.

    La barre de progression de l’upload commence à vitesse normale, puis avance par saccade et enfin se bloque. Mais pas toujours. Des fois, ça passe quand même.

    Si je passe par la méthode standard de SPIP, les images passent sans problème.

    Est-ce que je suis le seul à avoir ce problème ?

    Qu’est-ce que je peux faire pour essayer de tracer le bug ?

    • Le 5 mai à 12:23, par Phenix En réponse à : Formulaire d’upload en html5

      Hello RealET,

      Désoler, je suis un peu à la bourre sur ce post.
      Est-ce que tu as toujours le problème ?

      Quel navigateur utilises-tu ?

    • Le 5 mai à 17:59, par RealET En réponse à : Formulaire d’upload en html5

      Bonjour,

      Chrome, sous Win 10.
      Mais aussi Firefox/Win10 aussi

      Merci

    • Le 7 juin à 09:28, par graphie En réponse à : Formulaire d’upload en html5

      Bonjour,

      J’ai un souci similaire, sauf que l’upload ne fonctionne pas du tout, quelque soit la taille réglée dans la config.
      J’ai remarqué que cela arrivait si on mettait à jour CVT Upload en 1.14.0.
      Si ça peut donner des pistes ;-)

    • Le 7 juin à 10:06, par Maïeul En réponse à : Formulaire d’upload en html5

      Je suis un peu étonné, car CVT upload n’interagit normalement pas avec ce plugin. De plus les problèmes de REALet date d’avant la version 1.14.0 de CVT upload

    • Le 8 juin à 15:17, par erational En réponse à : Formulaire d’upload en html5

      Pour les gros fichiers, on me signale un autre plugin très complet BigUp
      https://gitlab.com/magraine/bigup

      ... et big up pour son auteur marcimat :)

    Répondre à ce message

  • Le 12 avril 2017 à 17:31, par formatec En réponse à : Formulaire d’upload en html5

    Salut Phenix,
    je tente d’utiliser ton plugin sur un site où plusieurs auteurs peuvent uploader sur une même page article.
    Ensuite je devrai manipuler et trier les documents par auteur.

    Est il possible dans l’état actuel du plugin de le faire ? jointure avec AUTEURS

    Ou existerait-il un constante de type _CREDITER_DOCUMENTS, qui à l’instar de _TITRER_DOCUMENTS donnerait le nom de l’auteur à la balise #CREDITS

    Ou autre solution à proposer ?
    d’avance merci et bravo pour ce plugin

    Répondre à ce message

  • Le 24 février 2017 à 18:45, par RealET En réponse à : Formulaire d’upload en html5

    Salut Phenix,

    Une idée qui pourrait compléter de manière géniale ce plugin, c’est d’y rajouter l’upload via copié/collé d’image.
    Gmail le fait et c’est juste pratique.

    J’ai fait une petite recherche et j’ai trouvé :

    Donc, si ça te tente...

    Répondre à ce message

  • Le 23 octobre 2016 à 13:10, par Yohooo En réponse à : Formulaire d’upload en html5

    Dans la dernière version du plugin, il faut ajouter dans uploadhtml5_pipelines.php ligne 34 des conditions pour éviter des erreurs html de la head du site :

    1.         if ( find_in_path('css/dropzone/dropzone.css') ) {
    2.             $flux .= '<link rel="stylesheet" href="'.find_in_path('lib/dropzone/dropzone.css').'" type="text/css" media="screen" />';
    3.         }
    4.         if ( find_in_path('css/saisie_upload.css') ) {
    5.             $flux .= '<link rel="stylesheet" href="'.find_in_path('css/saisie_upload.css').'" type="text/css" media="screen" />';
    6.         }

    Télécharger

    Répondre à ce message

  • Le 5 septembre 2016 à 09:32, par RealET En réponse à : Formulaire d’upload en html5

    Bonjour,

    Est-ce que tu pourrais documenter comment utiliser la saisie dans un squelette côté public ?

    Et question subsidiaire : est-ce qu’il est possible d’utiliser cette saisie dans un formulaire de création d’un objet (donc avec id_objet=new) et que l’association avec l’objet créé se fasse comme il faut à l’enregistrement ?

    Merci d’avance !

    • Le 17 septembre 2016 à 08:09, par Phenix En réponse à : Formulaire d’upload en html5

      Yop !

      Pour le moment, j’ai pas vraiment le temps de mettre à jour cette documentation, d’autant que la saisie est vraiment très expérimentale comme code, la documenter avant qu’elle ne passe en « test » n’a pas de sens...

    Répondre à ce message

  • Le 23 octobre 2015 à 12:47, par Artlogic En réponse à : Formulaire d’upload en html5

    Hello,

    Je me demandais s’il étati possible de télécharger des logos sur un auteur ?
    J’ai tenté :

    1.  [(#FORMULAIRE_UPLOADHTML5{auteur,#ID_AUTEUR,auto,inc/inc_avatar_modif})]

    ...sans succès. Merci de vos réponses.

    • Le 24 octobre 2015 à 08:37, par Phenix En réponse à : Formulaire d’upload en html5

      Bonjour,

      Pour activer la fonction d’upload de logo, il faut le mentionner comme ceci :

      1. #FORMULAIRE_UPLOADHTML5{objet,id_objet, auto, mon_bloc, #ARRAY{logo, oui}}

      Ce n’est pas encore documenté clairement.

      Ensuite, tu utilises mal la fonction ajaxReload. Il faut lui passer le « nom ajax » d’un bloc (voir la doc).

    • Le 24 octobre 2015 à 18:42, par Artlogic En réponse à : Formulaire d’upload en html5

      Merci de ta réponse, j’ai mis ceci dans une inclusion :

      1. [(#FORMULAIRE_UPLOADHTML5{auteur,#ID_AUTEUR, auto, avatarlogo, #ARRAY{logo, oui}})]

      que j’appelle avec :

      1. <INCLURE{fond=inc/inc_avatar_modif}{id_auteur}{ajax=avatarlogo}{env}>

      Rien à faire. L’image se charge visuellement sur la barre de progression animée mais le logo n’est toujours pas changé. NB : Le même formulaire fonctionne par ailleurs et nous permet d’ajouter des docs sur des articles.

      Une idée ?

    • Le 17 septembre 2016 à 00:32, par Olivier En réponse à : Formulaire d’upload en html5

      Bonjour je butte sur ce problème. J’ai testé plusieurs solutions

      #FORMULAIRE_UPLOADHTML5{auteur,id_auteur, auto, mon_bloc, #ARRAY{logo, oui}}

      et même plus simplement

      #FORMULAIRE_UPLOADHTML5{objet,id_objet, auto, mon_bloc, #ARRAY{logo, oui}}

      sans succès.

      Comment changer les logos des auteurs ?

    • Le 17 septembre 2016 à 08:07, par Phenix En réponse à : Formulaire d’upload en html5

      Bonjour Olivier,

      Il faut bien entendu remplacer id_auteur par un nombre (5 pour l’auteur 5).
      Si tu es dans une boucle AUTEURS :

      1. [(#FORMULAIRE_UPLOADHTML5{auteur,#ID_AUTEUR, auto, avatarlogo, #ARRAY{logo, oui}})]

      Sinon, il me faudrai plus de détail pour comprendre ton problème.

    Répondre à ce message

  • Le 5 septembre 2016 à 21:57, par RealET En réponse à : Formulaire d’upload en html5

    Je n’arrive pas à faire rajouter un fichier à un événement.

    J’ai un formulaire appelé par :

    1. #FORMULAIRE_EVENEMENT_PROPOSER_SUITE{#GET{groupes},evenement,#ENV{id_evenement},#SELF|parametre_url{merci,oui}}

    La fonction charger contient :

    1. function formulaires_evenement_proposer_suite_charger_dist($id_groupe, $objet, $id_objet, $retour=''){
    2.         $contexte = array();
    3.         $contexte['id_groupe'] = explode(',', $id_groupe);
    4.         $contexte['objet'] = $objet;
    5.         $contexte['id_objet'] = $id_objet;
    6.         $contexte['mots'] = cmots_mots_deja_associes($id_groupe, $objet, $id_objet);
    7.         return $contexte;
    8. }

    Télécharger

    Et le formulaire appelle la saisie ainsi :

    1.                 <ul>
    2.                         <li class="editer editer_uploaddoc[ (#ENV**{erreurs}|table_valeur{uploaddoc}|oui)erreur]">
    3.                                 <label for="uploaddoc">Joindre un document</label>[
    4.                                 <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{uploaddoc})</span>
    5.                                 ]#SAISIE{upload, objet=#ENV{objet}, id_objet=#ENV{id_objet}, dz-message=Déposer un document ici, nom=uploaddoc}
    6.                         </li>
    7.                 </ul>

    Télécharger

    L’upload se passe « bien » : les fichiers sont bien sur le serveur et même visibles dans la médiathèque (statut non publié), mais il ne sont pas rattachés à l’événement.

    Qu’y a-t’il de plus à faire ?

    • Le 5 septembre 2016 à 22:06, par RealET En réponse à : Formulaire d’upload en html5

      Ben voilà, il fallait rajouter dans la partie traiter de mon formulaire :

      1.         include_spip('inc/saisie_upload');
      2.         saisie_upload_traiter($objet, $id_objet);

      Télécharger

    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 – 2507 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 (...)

  • 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 (...)

  • Albums 3

    8 août 2014 – 287 commentaires

    Le plugin « Albums » évolue dans une version 3 pour SPIP 3. Avant d’effectuer une mise à jour depuis la version 1 ou 2, consultez les notes sur la rétro-compatibilité. Les modèles, notamment, on reçut quelques changements pour la bonne cause. En (...)

  • Menu animé déroulant

    16 août 2015 – 60 commentaires

    Barre de menu dynamique multi niveaux - adaptation aisée (?) des couleurs et dimensions - convient aussi aux petits écrans (mobiles).