Bonjour,
Je me permets de poster un message sur le forum car je dois créer un site web pour un photographe et je suis confronté à plusieurs problèmes.
Je pense me tourner vers une solution sur-mesure pour le CMS. Donc quelque chose comme Symfony CMF ou Bolt CMS. Avec ces outils on peut paramétrer le backoffice selon ses besoins très facilement. Dans tous les cas, pas de WordPress (choix du client, et de toute façon je ne suis pas très fan de ce CMS).
Mon premier problème se trouve au niveau de la gestion des images. En effet, je ne vois pas comment je peux faire pour que mon client puisse les gérer facilement.
1ère solution :
Je mets simplement plusieurs champs Files dans le backoffice. Le souci, c’est que d’un projet à un autre, le nombre d’images va varier (donc, en théorie le nombre de champs aussi). Je ne peux donc pas vraiment partir vers cette solution. Il faudrait faire en sorte de pouvoir ajouter ou supprimer des champs Files à la volée via du JS. Je sais que cela est possible, mais je n’ai jamais testé que ça soit sous Symfony CMF ou Bolt. Je me dis également que mon client risque de trouver ça chiant de devoir uploader les images les unes après les autres.
2nd solution :
Mon client classe ses photos par dossiers (ex: « nom_du_projet », …) et numérote ses fichiers par ordre numérique (01.jpg, …). Dans le backoffice, je mets un simple champ Texte dans lequel mon client devra renseigner le nom du dossier en lien avec le projet qu’il est entrain d’éditer. En clair si le projet se nomme « Shooting Dupont », le nom du dossier à mettre dans le champ texte sera « shooting_dupont ». Ensuite, vous l’aurez compris, je fais en sorte de récupérer la valeur de ce champ et je parcours le contenu du dossier en PHP. Simple à réaliser et simple à utiliser pour mon client. Cependant, cette solution ne risque-t-elle pas de ralentir le chargement des pages ?
3ième solution :
Je mets un simple champ Textarea dans le backoffice dans lequel mon client devra mettre du code JSON. L’avantage, c’est que je pourrais en plus mettre d’autres informations comme la classe CSS spécifique à appliquer par images. C’est le grand avantage de cette solution. Cependant, je me demande si cette solution ne va pas effrayer mon client ? Un petit exemple :
{
"images" : [
["01.jpg", "col-6"],
["02.jpg", "col-12"]
]
}
Voilà ce à quoi j’ai pensé. Qu’en dites-vous ?
Pour finir, dernière question : dans cet exemple (https://cdn.dribbble.com/users/1236546/screenshots/13991992/media/348f6e58f3c1c91fb8beffa497fe9568.jpg), comment feriez-vous pour gérer en backoffice la disposition des différentes images ? Je me doute bien que la taille et le positionnement des images est géré en CSS… mais comment faire en sorte qu’un client qui n’y connait rien puisse gérer ce genre de détail très facilement sans forcément mettre les mains dans le code HTML ? La meilleure solution ne serait-elle pas d’utiliser la 3ième solution détaillée dans la question précédente ?
N’hésitez pas à me faire d’autres propositions si vous avez des idées.
Par avance, merci.