Connectix Boards
Bienvenue, vous n'êtes pas connecté. ( Se connecter - S'enregistrer )
Dernière version sortie: 0.8.4!
Venez tester la version 1.0 beta
Connectix Boards > Zone développement > Programmation > Pages statiques et CB
| Inundir | #1 10/10/2009 - 19h15 |
|
Groupe : Nouveau Hors ligne Site Web |
Bonjour !
Voilà j'ai une question, que je me pose depuis que je veux faire une "bibliothèque" pour mon site. Mon site parle de littérature et j'aurais aimé faire une sorte de bibliothèque où les fiches des livres seraient classées par auteur, par titre etc... ça implique une gestion des pages assez poussée : que seuls quelques utilisateurs aient le droit de publier du contenu, remplir des champs pour la parution, l'auteur, le genre, le titre etc... Je me posais la question si on ne pouvait pas utiliser la BDD des utilisateurs du forum, le bbcode etc pour faire un espace pour créer ce contenu. En gros, un "rédacteur" se connecterait au forum, et il devrait pouvoir écrire une fiche avec son pseudo. Est-ce possible d'utiliser le forum pour ça ? Un peu comme pour le module de news ? Ou bien ça demande trop de bidouillage... Vous allez me répondre que je devrais utiliser un CMS, mais voilà, ils sont très mauvais pour la gestion des pages "statiques". Désolé si je suis un peu flou mais ce n'est pas très facile à expliquer. Quelqu'un a-t-il déjà essayé ?
Ce message a été édité par Inundir le 10/10/2009 à 19h16.
"Un homme est davantage un homme par les choses qu'il tait que par les choses qu'il dit".
[Albert Camus] |
| finalbob | #2 10/10/2009 - 23h50 |
|
Groupe : Modérateur Hors ligne Site Web |
Je ne sais pas si quelqu'un a déjà essayé, mais ça me parait largement possible.
La seule difficulté réside (à mon sens) dans l'ergonomie de la chose, mais c'est parce que je ne touche pas une bille en design... |
| Ishimaru Chiaki | #3 11/10/2009 - 05h37 |
|
Groupe : Doc-rédacteur Hors ligne Site Web |
Bonjour.
Pour ce qui est de la base utilisateur, ça ne pose aucun problème, puisque je fais ça sur mon site, où j'ai des espaces privés pour la gestion de certains modules personnalisés.. Et en utilisant une structure if...else, tu autorises l'accès aux groupes que tu veux. Par exemple, pour restreindre l'accès aux admins : if($_SESSION['cb_user']->userclass == '1')Ensuite, si tu veux autoriser l'accès à plusieurs groupes, tu utilises l'opérateur || (équivalent à OR) pour vérifier si l'utilisateur fait partie d'un des groupes if($_SESSION['cb_user']->userclass == '1' || $_SESSION['cb_user']->userclass == '2')Ensuite, pour l'utilisation des bbcodes, je viens d'étudier le code de CB pour pouvoir tester avec l'un de mes modules et ça fonctionne même pour les tables personnalisées. Ce sera donc dans mes plans pour le développement de mon site. Je te donne donc la marche à suivre. Fonctions à utiliser CB dispose de deux fonctions essentielles pour le parsage et le "déparsage" du BBCode dans les données entrantes et à l'édition. clean() : Parse le BBCode du contenu en HTML. À utiliser pour les données entrantes unclean() : Re-parse le HTML en BBCode, pour l'édition ou la citation Mise en place Il faudra travailler sur les trois fichiers relatifs à tes champs : - Fichier de traitement : le fichier contenant le script d'entrée des données envoyées dans la base de données - Fichier d'édition : Le fichier contenant le formulaire pour éditer les données - Fichier d'affichage : Le fichier contenant le script d'affichage dans les pages publiques Fichier de traitement Pour chaque donnée sous forme de texte, tu utilises la fonction clean() de cette façon, au moment où tu sécurises tes variables avant de les entrer : $ma_variable = clean($_POST['ma_variable']);Selon le contexte, tu as plusieurs paramètres que tu peux utiliser : - STR_MULTILINE : À utiliser si tu traites des données multilignes - STR_PARSEBB : À utiliser si tu veux utiliser du BBCode dans un champ - STR_TODISPLAY : Paramètre de sécurité contre les injections SQL. J'ai remarqué qu'il est appliqué surtout aux champs à éditer dans la table des recherches, ainsi qu'au contenu du message en prévisualisation. Martin pourra toujours te donner plus d'infos si t'as des questions. Exemple d'utilisation d'un paramètre : $ma_variable = clean($_POST['ma_variable'],STR_MULTILINE);Tu peux aussi en utiliser plusieurs, en les séparant par des +, comme ceci : $ma_variable = clean($_POST['ma_variable'],STR_MULTILINE + STR_PARSEBB);Fichier d'édition Pour chaque donnée sous forme de texte à éditer et qui a été traité avec clean(), il faudra utiliser unclean() et cette fois, c'est pas mal plus simple, puisqu'au moment de traiter les variables fraîchement sorties avant leur affichage, tu fais comme ceci : $ma_variable = unclean($donnees['ma_variable']);Fichier d'affichage Puisque clean() utilise déjà une protection contre les entités HTML, tu n'a donc pas besoin d'appliquer de htmlspecialchar() ou de htmlentities(). Tu affiches donc tout simplement ta variable telle quelle : $data['style_notes']Voilà, j'espère que ça t'aide assez pour que tu puisses implémenter ça. Si tu as des questions, n'hésite pas. Si je ne suis pas en mesure de répondre, Martin pourra le faire. Par la suite ça pourrait faire un bon sujet de docuemntation.
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici Mon fil Twitter |
| Inundir | #4 11/10/2009 - 10h54 |
|
Groupe : Nouveau Hors ligne Site Web |
Ouaouh merci ! Ça c'est des réponses
![]() Je vais voir ce que je peux faire avec tes précieux conseils. Je ne suis pas un expert en bidouillage mais expliqué comme ça, ça ne paraît pas si difficile. A bientôt. Inundir.
"Un homme est davantage un homme par les choses qu'il tait que par les choses qu'il dit".
[Albert Camus] |
| Ishimaru Chiaki | #5 13/10/2009 - 08h21 |
|
Groupe : Doc-rédacteur Hors ligne Site Web |
N'hésite pas venir donner des nouvelles
![]() De mon côté, c'est maintenant dans ma todo-list concernant mon site. Et je suis sûre que ce sera très utile aussi pour le développement de futurs MODs plus conséquents comme un portail par exemple.
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici Mon fil Twitter |
| Ishimaru Chiaki | #6 25/01/2010 - 03h33 |
|
Groupe : Doc-rédacteur Hors ligne Site Web |
Voilà, c'est maintenant en action sur mon site !
http://ishimaru-design.servhome.org/fr Vous n'avez qu'à aller voir les pages des styles et des tutos GIMP où le système est utilisé sur les champs multilignes.
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici Mon fil Twitter |
Connectix Boards > Zone développement > Programmation > Pages statiques et CB
> Informations du forum
1 personne(s) présente(s) durant une période de 15 minutes (0 membre(s) et 1 invité(s)).
Powered by Connectix Boards 0.8.4 © 2005-2012 (7 queries, 0.045 sec)
