8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je veux écrire une (ou des) classe(s), pour la gestion de mon blog. d'où l'utilisation de tables MySQL ...

Les objets à manipuler seront des "Articles".
Les variables d'instance seront donc :
- $id : id de l'article.
- $title : titre de l'article.
- $content : contenu de l'article. (message ...).
...

Quelques methodes : createArticle(); publishArticle(); deleteArticle(); editArticle(); ...

Pour ce, J'ai besoin de vos idées sur la manière de la modélisation de mon projet ( quoi hérite de qu'est ce ... ), des idées de méthodes qui seront utiles, que font les webmasters pour ce genre de projets...

Pour les images des articles, je n'ai pas envie de les stocker dans une table MySQL (Blob...). Donc prière de m'indiquer comment font les webmasters pour gérer ceci càd (Via upload ...).

Merci pour vos réponses et suggestions.
Modifié par M3hdi (19 Mar 2009 - 06:03)
Administrateur
Je pense que l'utilisation d'un framework tel que CodeIgniter, CakePHP, Symphony serait plus adapté à ce type de projet si déjà tu souhaites t'engager dans ce type de modélisation.

Les images ne sont de toute façon que très rarement stockées dans des blobs, et effectivement il suffit d'utiliser l'upload vers un répertoire précis.
salut :

pour ta class,

- tu appel la class (ici blog) qui est une extention d'une class parent (controller)
=> la class Blog contient les éléments : visu_article, Visu_page($numPge), formulaireNewArticle, formulaireCommentaire, saveArticl, saveCommentaire, .........

- le Controler : a en charge d'effectuer les opérations ou de déclarer les fonction necessaires à toutes tes class,
=> declaration des session, statistiques, décorticage de l'url en cours, .. et connection à une class Sql
- ayant en charge toutes les opérations liées à la base de donnée select, update, insert, delete, ...

- ensuite, il te suffit de placer tous ces éléments dans le Viewer ... environnent graphique)

ainsi, tu aurais un script évolutif, qui peux gérer ton blog, et les messages posté, mlais en y remplaçant classBlog par classForum, tu as un forum vite mis en place .....


Beaucoup demandent pourquoi réinventer la roue .... je dit, par ce que sinon, on avancent pas, et on as du mal à concevoir les futures versions de roues .....

BonCode Smiley cligne
Merci pour vos reponses.

Il parait que c'est un peu compliqué tout cela. surtout gérer les stat. je ne sais pas du tout comment ca marche lol.

Mais sinon, pour commencer, j'ai crée une class Article, qui instancie des articles,
les variables d'instance sont comme suit :
$id
$title : titre de l'article;
$message : message tout court;
$pubDate : date de la publication;
$editDate : date de la mise à jours;
$attachementAlt : un alternatif au fichier attaché (dans le cas d'une img par exemple)
$attachementLink : lien du fichier attaché;
$hidden : si jamais on veut cacher l'article par exemple.

Pour ce qui est methodes pour cette class, y a : AddArticle(); EditArticle(); DeleteArticle(); getArticleById() Smiley static ; getArticles($limit, $order = 'DESC') ...

Apres je me suis dit : tiens, on crée une class Blog, MAIS, qu'est ce que ca va créer comme objet ?
Modifié par M3hdi (23 Mar 2009 - 21:58)
Salut : un blog c'est (selon moi) une liste d'article commenté ...

Donc il te faut la même class que pour les articles ... en y ajoutant nb_Comment, New_comment(), delete_comment(), list_comment(), ....

Pas plus ...

Pluis haut, je te parlé de répartir en plusieurs class, car tu va vite te rendre compte que dans ta class Article et Blog, il y a des fonction qui sont identique (juste la table change) et il serait donc plus dynamique de mettre ces fonctions "récurentes" dans une class mère ... celle-ci étant appelée par la class Blog et la Class Article ... t'évites de recopier ce que tu as déja codé ... Mais tu peux aussi développer individuellement, et par la suite, lorsque tu auras différentes class à relier, tu le fera ... Car un forum, c'est quoi ? une liste de blogs ... non ?

@+ Smiley cligne
Merci pour vos réponses.

Il y a un autre problème que j'ai rencontré :

En ce qui concerne les caractères spéciaux éùಠ... j'ai tout mis en utf8 et la collation de tout mes tables est utf8_unicode_ci. malgré cela, le problème de codage perciste; les caractères spéciaux envoyés par un formulaire sont déformés.

Pour ce, j'ai décidé de convertir tout en des entités html avec htmlentites() puis ecrire dans la table MySQL.

Mais j'ai des problèmes lorsque je veux afficher une partie du texte avec un substr($text, 0, 100) : s'il y a un "é" au dernier mot, et que le caractère 100 est le "u", alors il affiche "&eacu" càd é ne va pas etre affiché comme étant un é !

Ce que j'ai fait me semble un peu lourd... Donc Je préfère une autre méthode plus pratique.

Donc, je vous demande bien gentillement de m'indiquer comment font les webmasters pour regler ce problème : comment on doit ecrire sur la bdd, comment on doit appeler les texte de la bdd ...
Modifié par M3hdi (24 Mar 2009 - 17:59)
salut :

as tu encodé les données reçus du formulaire ?

insert (...) utf8_encode($_POST[champFormulaire]) (...)

?? Normalement ça suffit ....

@+