CMS... pour le développeur ou pour l'utilisateur ?

Mammouth du PHP | 531 Messages

13 févr. 2008, 13:52

Bonjour,

Il m'arrive de créer des sites pour des connaissances.
Sur l'un j'ai fait le test en créant une petite administration, pour mettre à jour les textes, les news et les images. Très basique, car c'est un site vitrine donc inutile de faire une usine à gaz. Résultat, je repasse quelquefois derrière pour corriger des erreurs.

Je me disais que je passerais bien à la vitesse supérieure pour mes futures travaux en faisant un vrai CMS.
Seulement le retour de la médaille en laissant toucher l'utilisateur au contenu c'est qu'il peut faire n'importe quoi. Avec un éditeur du style tynimce, il est facile de faire un contenu respectant la sémantique mais il est aussi facile de faire l'inverse...
D'autres part, si tout le code HTML des zones éditales est enregistré dans la BDD, toute ma mise en page CSS (div et class sur les balises) le sera aussi... donc une fausse manip et mon code passe à la trappe.

Je me posait donc la question :
- Faire ce CMS pour l'utilisateur. Avantages de pouvoir agir sur le contenu sans avoir besoin de moi, mais inconvénient de laisser faire n'importe quoi...
- Faire ce CMS pour moi. Avantage de gagner du temps mais inconvénient de devoir faire les Màj moi même...

:roll:

ViPHP
AB
ViPHP | 5818 Messages

13 févr. 2008, 15:46

Tu pourrais faire un CMS avec contenu administrable mais avec un choix de mise en page limité à des options définies par toi-même suivant le contenu de chaque page. En faisant du sur mesure cela te permet de garantir un code valide quelque soit les choix de l'administrateur.

Si tu intègres un tynimce ou équivalent, le résultat sera évidemment très aléatoire. Et ce n'est pas nécessairement un service que tu rends aux administrateurs de ne pas canaliser leurs possibilités d'action en fonction du contenu de la page.

Mammouth du PHP | 531 Messages

13 févr. 2008, 16:02

Tu pourrais faire un CMS avec contenu administrable mais avec un choix de mise en page limité à des options définies par toi-même suivant le contenu de chaque page. En faisant du sur mesure cela te permet de garantir un code valide quelque soit les choix de l'administrateur.

Si tu intègres un tynimce ou équivalent, le résultat sera évidemment très aléatoire. Et ce n'est pas nécessairement un service que tu rends aux administrateurs de ne pas canaliser leurs possibilités d'action en fonction du contenu de la page.
Je vois ce que tu veut dire.

Mais par exemple, même sur un contenu basique ou l'utilisateur voudrait faire une énumération :
Moi je suis très à cheval sur la sémantique donc je ferais une liste (li). Donc avec Tynimce je cliuerais sur le bon bouton =)
Mais maintenant, l'utilisateur final qui n'y connais rien se contenterais de faire un saut de ligne et de mettre un tiret...
Il arrive un moment ou même en mettant des restrictions, on ne peut pas tout contrôler...
La seule solution serait de faire un petit tutoriel mais bon...

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 févr. 2008, 16:06

Il existe déjà des bons CMS, comme Plume CMS, qui sont gérables par un utilisateur, après une petite formation, et parfaitement personnalisables pour ceux qui en connaissent un peu plus.

http://www.veblog.com/fr/2002/1013-cms-precautions.html
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 531 Messages

13 févr. 2008, 16:12

C'est sur que je pourrais me contenter de travailler avec un plume ou autre, mais c'est aussi l'occasion d'apprendre en le conçevant... et de le faire pil poil pour mes besoins

Mammouth du PHP | 514 Messages

13 févr. 2008, 16:17

J'avais fait un truc de ce genre, auquel j'avais intégré fckeditor, et j'avais même développé un petit module pour pouvoir modifier le fichier js de config de fck, gestion des droits sur les pages par utilisateur, par groupe ...

Faire un cms simple, ça va vite. Mais pour contrôler réellement ce qui se passe, ça devient la misère.

Je me souviens qu'avec mozilla, j'avais modifié en direct le fichier de config javascript pour voir si on pouvait modifier les possibilités de l'éditeur : c'est possible. Du coup, si tu veux vraiment contrôler, faut te casser la tête à coder en php derrière ...

J'ai essayé Joomla, pour voir, je le déconseille : très lourd et plein de choses que j'étais infoutu de comprendre.

Bref, après avoir tenté de faire dans l'automatisation, j'ai fini par revenir à des choses plus basiques : des pages manuelles.

Bon courage.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 févr. 2008, 16:20

Pour ma part, sur les derniers projets que j'ai monté pour des non-informaticiens, j'ai choisi d'utiliser Wordpress : le moteur de blog ne sert que pour la partie News/Actu de leur site, et le moteur de pages sert pour le reste du site.
Les gestionnaires, non-techniques, ont une gestion des droits utilisateurs simple, un mode d'édition texte ou enrichi, et on peut ajouter des plugins, donc des fonctionnalités rapidement.
Bémol : L'interface admin et ses kilos d'Ajax est parfois un peu lourde.

Certains peuvent reprocher le côté usine à gaz de WP, mais cela reste assez soft par rapport à des solutions comme Joomla.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 531 Messages

13 févr. 2008, 16:29

Finalement on se rend compte que le manuel c'est bien mieux...

Parce que d'un côté t'a le client qui va gueuler parce que son site est mal référencé mais en même temps si le code est pas sémantique...

ViPHP
ViPHP | 2287 Messages

13 févr. 2008, 17:50

Pour réagir sur cette partie :
Seulement le retour de la médaille en laissant toucher l'utilisateur au contenu c'est qu'il peut faire n'importe quoi. Avec un éditeur du style tynimce, il est facile de faire un contenu respectant la sémantique mais il est aussi facile de faire l'inverse...
D'autres part, si tout le code HTML des zones éditales est enregistré dans la BDD, toute ma mise en page CSS (div et class sur les balises) le sera aussi... donc une fausse manip et mon code passe à la trappe.
Je ne pense pas que ce soit une fatalité, il faut seulement :

- délimiter intelligemment les blocs de contenu à charge de l'utilisateur (en leur collant un identifiant) et écrire ses règles CSS en prenant cela en compte (à l'intérieur du bloc, pas de classe, juste des balises à plat, donc écrire les règles correspondantes)
- désactiver la possibilité d'écrire du HTML manuellement : cela évite pas mal de risques de casser la structure (le wysiwyg se débrouillant pas trop mal pour garder une arborescence propre)
- éventuellement, rajouter un niveau de validation/nettoyage côté serveur (avec tidy) pour pallier les éventuelles lacunes du wysiwyg pour le balisage généré.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

ViPHP
AB
ViPHP | 5818 Messages

13 févr. 2008, 17:51

Je vois ce que tu veut dire.
...
Ce que je voulais dire c'est qu'il est hors de question que je mette un Tynimce dans un de mes CMS.
Ensuite si le seul problème est que l'utilisateur puisse faire une liste sans être nécessairement encadrée par des balises <li> tu n'y peux rien. Mais est-ce si important ?

Mes CMS sont des modules spécifiques. Par exemple pour une galerie photo, l'utilisateur pourra choisir d'ajouter des rubriques, de choisir le nombre de photos par ligne, le nombre de lignes par page avant l'affichage de la barre de navigation, de mettre ou non des commentaires sous chaque photo, de mettre ou non des commentaires pour chaque rubrique, de choisir les dimensions d'affichage de ses photos ainsi que l'agrandissement éventuel des photos. Il peut modifier l'ordre des rubriques ou des photos.
Les commentaires texte peuvent inclure des liens qui se font automatiquement dans une nouvelle fenêtre quand il s'agit de liens extérieurs ou qui seront symbolisés par des liens internes quand ce sont des liens internes au site. On peut même insérer des photos ou des vidéos dans les commentaires de rubriques... Le formatage du texte se fait automatiquement pour respecter le graphisme mais possède quelques possibilités, titre, gras, italique...
J'en oublie, ça fait donc pas mal de possibilités. Et si l'utilisateur en veut d'autres, j'adapte le code en conséquence, mais l'intéressant est que l'interface est accessible à tout utilisateur même non informaticien et produit du code valide.

Donc en fait je fais un CMS spécifique pour chaque type de page à l'aide d'un framework fait maison.
C'est du sur mesure et il faut bien définir le cahier des charges pour chaque site.
Modifié en dernier par AB le 13 févr. 2008, 20:36, modifié 1 fois.

Mammouth du PHP | 531 Messages

13 févr. 2008, 18:10

Sans éditeur type Tynimce, pour les textes c'est un peu galère quand même nom ?
Si t'a juste un simple textarea, ça veut dire pleins de <br> partout pas de balise <p> ou <ul> ?

Mais effectivement si tout est délimité via des zones c'est bien comme ça pas d'embrouilles

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 févr. 2008, 18:29

Tu peux pas leur apprendre la syntaxe Wiki ou les BBCodes :) ?

Et pis, il veut faire une liste, donc...tu le sais parce qu'il a écrit

* item1
* item2
* item3

Et puis il arrête la liste, il n'y a plus d'étoiles. Et voilà. Et puis il ne veut pas de HTML, il veut un site web, donc il n'a qu'à le faire lui-même, et pis voilà, tu es tranquille.

J'ai besoin de repos je crois
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 531 Messages

13 févr. 2008, 18:32

Et puis il ne veut pas de HTML, il veut un site web, donc il n'a qu'à le faire lui-même, et pis voilà, tu es tranquille.


LOL

ViPHP
AB
ViPHP | 5818 Messages

13 févr. 2008, 20:35

Sans éditeur type Tynimce, pour les textes c'est un peu galère quand même nom ?
Si t'a juste un simple textarea, ça veut dire pleins de <br> partout pas de balise <p> ou <ul> ?

Mais effectivement si tout est délimité via des zones c'est bien comme ça pas d'embrouilles
Faut s'organiser
Bien sûr que si tu peux mettre (de manière transparente) des balises <p> ou <table> il suffit d'avoir une fonction nouveau paragraphe :wink: