Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Le problème d'Upload d'images trop grandes
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.11.x
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Salut à tous,

il y a un problème commun à bcp de cms : l'envoi par les clients d'images trop grandes (ou lourdes).
Exemple concret : je créé souvent des champs images pour les articles de news (image 1, image 2...), ce qui facilite la mise à jour du site => le client envoie son image, qui est placée et redimensionnée par CGSmartImage dans la mise en page.
Mais le problème qui revient très fréquemment : l'impossibilité d'envoyer des images car trop grandes. Certains essaient d'envoyer des images de 4000 pix. de large en 300 dpi !
La solution doit être trouvée du côté du cms : car ce n'est pas au client de devoir " bidouiller " en amont pour réduire la taille du fichier, ou alors il faut ôter le terme " simple" à CMSMS ! Wink
J'ai regardé un peu si sous Wordpress le problème était résolu, il existe un module qui à l'air de bien gérer cela : https://wordpress.org/support/view/plugi...s/imsanity

Mais du côté cmsms je ne vois pas de parade pour le moment... comment gérez-vous ce type de problème ??

Merci pour votre aide... !
#2

Michel, cela n'a rien à voir avec le cms, mais avec une restriction du serveur. S'ils ne peuvent uploader des images trop lourdes, il faut modifier le upload_max_filesize (php.ini) ou éduquer tes utilisateurs. Ton plugin wp est l'équivalent de CGSmartImages (en bien moins complet).
#3

Pardon, mais je pense qu'en partie au moins cela concerne le cms ( quel qu'il soit... d'ailleurs si un module Wordpress est sorti c'est pas pour rien Smile ). Ce sujet est traité par beaucoup de gens sur les forums divers.
Concernant le serveur : bien sûr il y aura toujours une restriction technique. Mais le souci concret que je rencontre par exemple : une image de moins de 8 Mo qui fait 4000 pix. et 300 dpi fait planter CGSmartImage. Et là, à part redimensionner l'image pour un client, y'a pas grand chose à faire. Tu reconnaitras alors qu'on est plus dans la promesse d'un cms "simple" d'utilisation... !
" Eduquer les clients " : bien plus facile à dire qu'à faire. Mes clients veulent des outils simples et fonctionnels, s'il faut commencer à bidouiller, et qu'on s'éloigne du " 2 clics " pour envoyer une image, ça pose problème, et ils ont raison quelque part.
Et puis, qui à envie de stocker inutilement des méga images sur son serveur ? Par rapport à l'utilisation réelle ? Même redimensionnée par CGSmartImage, l'original devrait déjà être réduite lors de l'envoi. Une image de 4000 pix de large n'a pas lieu d'être pour du contenu classique. C'est de l'occupation disque presque scandaleuse je dirai Smile
#4

Pour revenir au module Wordpress = il peut redimensionner des images déjà sur le serveur ! C'est quand même puissant comme fonctionnalité.
De plus, on peut régler des dimensions pour les différents contenus.
C'est tout à fait ce qu'il manque à cmsms : pour un champ image extra des articles, je ne peux pas forcer le redimensionnement des images => il faudrait un paramétrage dans l'admin pour le permettre (ainsi que tous les champs images des différents modules dans l'absolu). Là on aurait un vrai contrôle sur ce qui est envoyé.
#5

Si ça fait planter CGSmartImages, c'est certainement lié à une autre directive serveur, le max_memory_limit.
Ton plugin wp ne peut pas outrepasser ces directives non plus.
Rien de bien compliqué de créer un script php (en udt) pour redimensionner des images présentes sur le serveur.
Pour ton dernier post, CGSmartImages fait tout cela.
#6

Par contre, si tu trouvais un plugin wp qui corrige les fautes d'orthographe des utilisateurs, je serais heureux de le connaître Wink.
#7

Et puis, si tu n'as pas envie de te taper ce travail, tu n'as qu'à dire à tes utilisateurs de passer d'abord par un site de redimensionnement des photos, il y en a beaucoup sur le net.
#8

" tu n'as qu'à dire à tes utilisateurs de passer d'abord par un site de redimensionnement des photos " : on a pas la même notion de service client cher Jean. :lol: J'aime les solutions intégrées et fluides, les solutions bricolées sont valables peut-être pour des "pros" qui vendent des sites à 150€, mais ce n'est pas mon cas.
Une idée intermédiaire serait une zone drag and drop ou avec champ d'envoi dans un coin de la fenêtre d'admin, qui permettrait de réenregistrer dans la foulée l'image sur le disque. Ca ferait 4 clics au total mais ça serait toujours plus élégant que d'envoyer les clients sur des sites tiers. Par contre j'ai pas encore trouvé de script qui fonctionne bien (en html5 et jquery par exemple).
#9

#~ Version du CMS: !1.11.x
Mettre à jour en version 1.12.1 par sécurité :| ou mieux en version 2.x
A compter du 05/10/2015 l'équipe de développement de CMSMS supportera uniquement les questions pour CMSMS 2.0 et 2.0.1.x
La version 1.12.1 sera maintenue pour les bugs absolument essentiel, et les questions de sécurité jusqu'au 6 Septembre 2016 (donc supportée sur ce forum).

J-C Etiemble v 2.2.xx
#10

Bonjour,
Michel a écrit :des "pros" qui vendent des sites à 150€, mais ce n'est pas mon cas.
si tu sous entends par là que tu vends des sites pro, de qualité, irréprochables et chers à tes clients, pourquoi tu ne le fais pas toi-même et en fais profiter tout le monde (dans l'esprit de la licence) ou pourquoi tu ne payes pas quelqu'un pour le faire?
Tu veux vendre cher de l'Open-source sur le dos de ceux qui s'en servent pour faire profiter à leurs clients de prix bas?

Tu veux quoi au juste en posant ta question?
Nous dire que WP est cent fois mieux?
Demander à quelqu'un de faire le boulot à ta place?
Nous dire que CMSMS n'est pas si simple que ça?

Sujets mille fois traités ici!

{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#11

2 options pour le redimensionnement d'images :
1. le client a peu de budget : je lui installe un logiciel dédié simple (XNView par ex) et le forme au redimensionnement.
2. le client a du budget : je redimensionne pour lui.

Mais à chaque fois, je le sensibilise à plusieurs facteurs pour qu'il tende vers de bonnes pratiques : environnement (envoyer une image lourde est consommatrice), hébergement (ça prend de la place), upload (trop lourd = ça ne passe pas), utilité (pourquoi envoyer une image de 4000px alors que celle affichée fera 800 grand maximum ?), etc.

Il faut arrêter de mâcher le travail, l'éducation du client aux bonnes pratiques est pour moi essentiel.

Ouik - communication . outils numériques . design graphique
#12

Merci Ouik pour ton point de vue.
XNView , je connais pas, ça tourne sous windows ? Et si le client poste depuis un mac et/ou une tablette android... ?
Jissey, je posais la question au début : "Mais du côté cmsms je ne vois pas de parade pour le moment... comment gérez-vous ce type de problème ??" Et toi tu te braques sur ma remarque de sites à 150 euros... si t'es vexé c'est ton problème, mais je ne visais personne en particulier. Wink Je cherchais des conseils et avis sur le problème, c'est tout. Quant à faire de l'argent avec de l'open-source : j'ai financé plusieurs développements de modules, et fait qqfois des dons pour l'asso, c'est peut-être pas le cas de tout le monde sur ce forum, et en tant qu'administrateur tu devrais vérifier un peu celà avant de prendre la mouche et "traiter" un utilisateur du forum de "mange grain". Je ne parlerai pas de tes autres points ("Nous dire que WP est mieux" etc.) = complètement hors sujet, d'ailleurs si WP était vraiment mieux je ne perdrais pas mon temps ici...
Maintenant pour en revenir au problème des images : votre réaction générale est la sensibilisation et la formation. Je veux bien, je le fais aussi, mais la tendance des outils informatiques et notamment des cms est à l'automatisation maximale pour le client ! L'expérience utilisateur (en front et back end), ça vous parle peut-être pas Smile Mais en 2015 il me parait aberrant de retraiter des images avec un logiciel tiers, il faut se mettre à la place des clients, qui doivent pouvoir poster de manière fluide et dans un même environnement. Le problème est rencontré par des utilisateurs de WP aussi, c'est pourquoi ils ont développé un module pour cela.
#13

Je viens de tester rapidement XNConvert suite au conseil de Ouik, c'est pas mal et multi-plateformes en plus... http://www.xnview.com/fr/xnconvert/
Le jour où ce type d'outil sera intégré dans cmsms, ce sera fabuleux ( et sans payer un centime, car moi mange-grain, moi faire du gras sur le dos des pauvres développeurs bénévoles ! :lol: )
#14

T'es quand même dur à la compréhension : ça ne peut pas se faire sous cms, la réduction du poids doit être en amont.
Le cms ne peut que traiter des images déjà sur le serveur et qui ne nécessitent pas plus de mémoire pour les traiter que la valeur définie par le max_memory_limit.

Et moi, je me suis senti vexé par ta remarque désobligeante, bien que je sois certain que l'outil que j'offre à mes utilisateurs est de loin plus convivial et adapté que le tien car tu passes par un développeur externe, tandis que je développe selon les besoins, envies et niveau de connaissances de l'utilisateur final.
J'ai déjà donné tous les conseils et avis utiles à ton questionnement premier, je ne m'étendrai pas plus.
#15

Quand je disais "dans cmsms", je pensais évidemment à une solution "côté client" (dans une fenêtre du cms par exemple avec un script jquery) pour ne pas envoyer de gros fichiers et faire bosser le serveur inutilement...
Tu es vexé pourquoi ? Je ne parlais pas de ton plugin développé sur mesure mais de ta phrase " tu n'as qu'à dire à tes utilisateurs de passer d'abord par un site de redimensionnement des photos ", faudrait peut-être bien lire les échanges avant de démarrer au quart de tour...
A ce propos, tu dis qu'il faut régler le problème en amont et tu proposes un plugin de redimensionnement des images sur le serveur, je comprends pas ? Du coup tu conseilles quoi à ton client ? Il envoie tout de même des images assez grandes et c'est redimensionné ou bien il le fait en amont ?
#16

"bien que je sois certain que l'outil que j'offre à mes utilisateurs est de loin plus convivial et adapté que le tien car tu passes par un développeur externe, tandis que je développe selon les besoins, envies et niveau de connaissances de l'utilisateur final" : comment ça ? Tu parles de quel de mes outils ? Pour l'instant celui que je désire n'existe pas. Et puis quel problème de faire appel à un développeur externe ? Je fais toujours une analyse avec le client pour déterminer les besoins, et optimiser au maximum l'outil qui va gérer le site. Et je n'ai jamais eu de problème à faire développer à des tiers, chaque société ne peut intégrer toutes les compétences. Maintenant si tu sais tout faire parfaitement, tant mieux pour toi Smile
#17

"L'expérience utilisateur (en front et back end), ça vous parle peut-être pas"
:lol:

Ouik - communication . outils numériques . design graphique
#18

C'est de moi, ça te plaît ??? Wink
#19

Faut pas s'énerver les loulous Smile
Idée pour toi si tu gères les languages:
-upload de la photo pleine qualité
-chargement dans la page
-transfert dans un canvas (html, je pense que c'est jouable)
-traitement par javascript avec un jquery qui va bien pour les photos (cadrage, redimensionnement etc.)
-transfert vers un script php qui va gérer le nouveau fichier image et virer celui qui a été uploadé.

Ca c'est sur le papier, maintenant faut développer Smile
#20

Il ne gère rien du tout, il veut que le cms modifie l'image sur le pc de l'utilisateur, puis la charge sur le serveur Rolleyes
Citation :Quand je disais "dans cmsms", je pensais évidemment à une solution "côté client" (dans une fenêtre du cms par exemple avec un script jquery) pour ne pas envoyer de gros fichiers et faire bosser le serveur inutilement...
Je lui ai dit 2 fois que c'est impossible (sans parler des risques évidents que cela impliquerait), mais il n'est pas satisfait.
#21

Ce qui est bien avec Jean, c'est qu'il sait tout, il doute jamais. :p

Gmassart, merci, c'est une piste à creuser et même si je ne suis pas développeur, et si c'est la meilleure solution actuelle je la ferai développer par qq'un dont c'est le métier.

Je viens de tester rapidement une solution " client-side " de ce type : http://www.jqueryscript.net/demo/jQuery-...vasResize/.
J'ai envoyé une image de 8,5 Mo 5000 pixels de large en 300dpi, le fichier est apparu en moins de 5 sec. et a été redimensionné, en faisant un "clic droit enregistrer" j'ai vérifié et l'image est bien en 300 pixels (testé aussi avec une image de 24 Mo et ça passe !).
Le top serait que ce soit intégré directement sur un champ d'envoi d'image par exemple pour un article de news (et même plus généralement dans les éditeurs de contenu de type Tiny... je sais pas comment cmsms 2.0 va gérer les images, mais y'a des progrès à faire de ce côté).
#22

A partir de ce plugin client side tu peux le modifier et envoyer les toDataURL()de l'image via un POST ou GET vers script php sans soucis
J'ai fait ça assez facilement avec de l'angularjs et une webcam:
Code :
[== PHP ==]

//function to save to jpeg file base64 data from the webcam
function base64_to_jpeg($base64_string, $output_file) {
    $ifp = fopen($output_file, "wb");
    $data = explode(',', $base64_string);
    fwrite($ifp, base64_decode($data[1]));
    fclose($ifp);
    return $output_file;
}
et du côté JS il faut récupérer la valeur "toDataURL()" du canvas et l'envoyer en POST à la fonction php plus haut adaptée (premier paramètre c'est la base64 de l'image, le second le nom du fichier avec le chemin complet)
Le plugin charge rapidement parce qu'il travaille en local, rien ne passe par le serveur tant que tu ne fais pas de POST.
#23

Je vais pas faire genre " j'ai tout compris, c'est easy " :lol: mais je vois le principe, merci pour cette astuce !
#24

Il y'a bien un le module module jqueryfu (http://dev.cmsmadesimple.org/projects/jqueryfu) utilisant jquery-file-upload. Voir la documentation pour le resize https://github.com/blueimp/jQuery-File-U...e-Resizing.

Eric

EricFreelance - Design, intégration et développement de sites internet.
#25

Merci Eric, j'avais trouvé ce script mais pas réussi à le faire tourner.
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 5 visiteur(s)