[CMS - POO - PDO]MY GESTION BIENTÔT DISPONIBLE.

Utilisateur anonyme - 23 oct. 2008 à 21:41
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009 - 18 juin 2009 à 18:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48285-cms-poo-pdo-my-gestion-bientot-disponible

destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
18 juin 2009 à 18:31
Bon je crois que je vais laisser tomber, je n'ai vraiment pas le temps et l'envie de le continuer seul. Éventuellement peut-être que si je trouve une équipe, il ce terminerai mais la c'est pas le cas donc on va laisser tomber pour le moment (en plus beaucoup de travail pour les années à suivre).

Désolé. Je supprime ce sujet ce soir vers 23h - 24h.

Merci à vous tous pour m'avoir tout de même bien aidé !
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
1 mai 2009 à 10:02
Design enfin découpé et codé :D merci GC de découpe fr ^^

Voilà ce qui est ok :
Articles
Groupes
Explorateur FTP
Maintenance
Multilingue
Pagination
Sessions
Utilisateur
Template
Youtube
Commentaires
Blog (pour moi xD)
Amis (pour moi xD)
Panier (plateforme e-commerce)

Voilà ce qui est en cours :
Forum
Zip
Les balises de code (parser XML) => buggé pour le moment, je vais essayer de le corriger aujourd'hui ^^ ça vient du XML :p
Captcha (fonctionnelle mais le code en session est différent du code sur l'image oO => la sessions comporte le code précédent :o)
Upload

Voilà juste pour vous dire ce qu'il en est concernant les classes.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
28 avril 2009 à 17:35
Bon du nouveau : j'ai revenu la classe de gestion des langues via fichier XML, j'ai crée ma classe de gestion des groupes, je me suis aussi occupé de la gestion de la maintenance.

Je m'excuse pour le temps que je prends, mais j'ai pas énormément de temps libre avec les cours. J'essaie tout de même d'avancer quand j'ai un peu de temps.

Bonne journée
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
13 avril 2009 à 22:55
Bon la plateforme blog est ok :)
Je rajoute juste quelques fonctions ajax par ci par la histoire de rentre plus attractif :)
Je pense que je vais m'occuper de la plateforme e-commerce par la suite, mais me faut un design :s et je n'ai pas.
Pour le cms, il est toujours en stand by parce que j'ai toujours pas la classe de gestion des groupes et droits :( de plus le codeur qui voulait bien m'aider à la réaliser a lâché l'affaire :(

Voilà dès qu'il y a du nouveau je vous dit.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
21 mars 2009 à 19:56
Bon ce message est juste pour dire que la plateforme de blog va bientôt être opérationnelle :) je crée les pages manquantes, ensuite elle sera en ligne :) les blogs fonctionnent :)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
21 févr. 2009 à 11:13
Bon j'admets que c'est long à arriver, mais faut dire que j'ai perdu du temps en essayant de recréer des classes pour colorer les portions de codes, or il en existent de très bon sur le net xD j'en est donc repris 1 en javascript :

http://alexgorbatchev.com/wiki/SyntaxHighlighter:Usage

Si vous avez mieux à proposer, merci de me le dire :)

De plus, je pense faire une classe de gestion du FTP en ligne (déjà attaqué), un explorateur FTP en quelque sorte, avec comme fonctionnalité :

- Listage des répertoires et fichiers (heureusement xD)
- Création de nouveaux dossiers et fichiers
- Les renommer
- Les copier
- Les couper
- Les dupliquer
- Les supprimer
- Les déplacer
- Lecture des fichiers en ligne (le code sera coloré)
- What else ?

Bien sur je ne sais pas si tout ceci est possible via PHP xD je le verrais bien plus tard ^^.

Pour la classe blog, une version "light" sera distribué en attendant que je me décide à mettre la version originale en distribution public ^^'

J'ai changé le système de pagination pour en mettre un de ce type :

<< Précédent 1 2 ... 5 6 7 ... 10 11 Suivant >> (paramétrable)

A part cela, je ne pense pas avoir autre chose à dire (bien qu'un oublie me tourmente l'esprit actuellement :o).

Je risque de mettre quelques temps pour les modifications et autres, parce que déjà les cours reprennent ^^ donc je m'occupe des cours avant le CMS ;) et j'apprends aussi C/C++ parce que php me soule à force (ce CMS est supposé être la derniers chose que je vais faire concernant PHP => ça veut pas dire qu'il va sombrer au fin fond de google !), j'ai envi de changer un peu (je compte surtout faire de l'algorithme, ça me semblait passionnant, enfin c'est mon opinion ^^ => bon y a aussi le fait de pouvoir créer des programmes :p (j'ai toujours rêvé de pouvoir créer un programme ^^ ne serait-ce que pour afficher les informations sur l'espace restant sur son disque dur etc...).

Bref voilà tout ^^ concernant le CMS, si vous avez des idées de choses pouvant être faite, n'hésitez pas ^^.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
9 févr. 2009 à 00:02
Salut :)

Déjà j'ai même pas écrit le mot en entier ^^ (la fatigue :p), je voulais marqué "tout simplement".

En faite, beaucoup de personnes recherchent des scripts à la style skyrock (pour pouvoir proposer à des membres de créer leur blog par exemple), il est vrai qu'il en existe, mais ils sont quand même assez vieux (enfin pour ce que j'ai pu voir ^^). Cependant, comme je souhaite réaliser ma propre plateforme de création de blog, cette classe sera exclusivement réservée au site. Je ne vais donc pas la proposer en téléchargement comme je pourrais faire pour une autre classe.

Voilà, si tu souhaite plus de détails sur quelque chose, n'hésite pas :) (cependant, la réponse sera demain ^^ je vais dormir la :p).

Bonne nuit tout le monde :)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
8 févr. 2009 à 23:30
Déjà, tu as le droit de poster autant de commentaires que tu veux à la suite, tant que tu met pas 50 fois le même :p

Ensuite, c'est une bonne nouvelle pour ton graphisme, mais je suis perturbé sur ta mauvaise nouvelle, je l'ai pas comprise :p Pourrais-tu l'expliquer différement ?

"Distribué tout simple" ? Tu veux dire proposée indépendement du cms ?
Et en quoi ca te dérange que 40 nouvelles plateforme de blog apparaissent ? si elles utilisent ton système ?

Non, vraiment, j'ai besoin de plus de détails :p
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
8 févr. 2009 à 21:13
Bon j'ai une bonne nouvelle (enfin deux ^^ et une mauvaise) à annoncer ! (grrr j'aime pas poster plusieurs fois dessuite :( comme ça !)

J'ai un design très jolie (simple ok mais le rendu est très bien) réalisé par Bryou, et je suis actuellement en train de réaliser l'intégration (donc je peux enfin voir le résultat :)), je le remercie énormément, car il m'avait réalisé ce design en tant que thème sur le site, et il va donc devenir le thème principal du CMS.
Le design est dans le style blog, mais ce n'est pas grave :)

Bon sa c'était la première nouvelle :) la deuxième concerne un autre projet que je vais réaliser : une plateforme de blog.

En effet celle-ci marchera avec le CMS via une classe Blog, qui s'occupera de créer le blog de la personne etc...
Le nom de domaine est déjà crée ^^ pas encore révélé :) cela viendra plus tard.

Bon j'ai dit qu'il y avait une mauvaise nouvelle ^^ celle-ci concerne la classe Blog, elle ne sera pas distribué tout simple parce que je n'ai pas envie de voir 40 nouvelles plateformes de création de blog apparaitre.

Voilà d'autres informations seront données en temps et en heure.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
7 févr. 2009 à 20:29
Merci pour ta proposition, je veux bien avoir l'avis des autres aussi ^^ cependant (et c'est ici que mon problème était aussi) si j'ai par exemple 10000 groupes et que sur ma page je dois vérifier si il est dans ce groupe ou celui la etc... et la même chose pour les droits, je n'ose même pas imaginer le bordel :(
Mais le problème c'est que je ne vois pas comment réaliser cela sans avoir 40 lignes de code dans chaque page. Peut-être utiliser une session contenant les groupes et une autre les droits :

Groupe1|Groupe2|Groupe3 etc...
Droit1|Droit2|Droit3 etc...

Ensuite arrivé sur la page => $permission->checkUserPerm($_SESSION['groupes'], $_SESSION['droits']); et ensuite dans la classe, je m'occupe de récupérer les groupes et droits, et je retourne un boolean permettant l'accès ou non ? (un peu flou quand même cette façon de procéder). Enfin je ne pense pas que cette solution soit la meilleur :s

Quelqu'un à mieux à proposer svp ?
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
7 févr. 2009 à 20:02
Est-ce que tu utilise Linux ?
En règle générale, un utilisateur peux appartenir à plusieurs groupes (et oui ! :p).
Personnellement je le vois comme ca :
Une table droit, qui définit ce que tu peux faire (add news, modify news, delete news, modify own news, delete own news, modify all news, delete all news, etc (ca peux faire long)), un table group, qui contient le nom du groupe et l'id, et une table rights_for_group, qui contient les id du group et les droits qu'il a.
Ensuite tu fait une table user_in_group, qui va lister l'id de l'utilisateur et ses id de groupes.
Tu fera ensuite une table users_rihts, qui contiendra l'id de l'utilisateur et ses droits (pour les droits de l'utilisateur, pas des groupes).

Personnellement, c'est comme ca que je le ferai, sans trop réfléchir là tout de suite, j'aimerai avoir l'avis des autres. Parce que dans cette conception, le problème c'est q'il faut déterminer dans ton code, le droit, quelle action il autorise (add news, il va pas deviner, ton code, que ca veux dire "ajouter une news est autorisé" :p).

Ce n'est pas un double post que tu as fait, tant que tu met pas la même chose dedans à chaque fois :p
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
7 févr. 2009 à 17:12
Désolé du double post, mais j'ai un problème sur la gestion des groupes :s je ne sais pas comment opérer :

Je vois bien de cette façon :

Une table permissions contenant les groupes avec le droit necessaire.

La table Users avec deux champs : Groupe et Droits, ensuite via une vérification on donne tel ou tel option

Pensez-vous que ce soit la meilleur façon ?

Avez vous une autre proposition à me faire ? Si oui je veux bien :)

Merci bien :)

PS : Pour les statistiques je vais adopter la librairie que tu m'a donné :D
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
6 févr. 2009 à 22:29
Salut CodeFalse :)

Donc comme tu veux bien que j'utilise ton code, je vais le garder :) merci beaucoup :p

Ensuite concernant le design, il est déjà crée, j'attends uniquement la découpe de celui-ci (déjà découpé, mais extrêmement buggé), de plus les images sont toutes petites par rapport à l'image dans le PSD, donc il va falloir revoir toute la découpe :(

Ensuite, le design sera le même pour la partie administration et publique ^^ et le codeur s'occupe uniquement de la découpe, moi je vais devoir m'occuper de l'intégration ^^ (donc ajouter mes {TITRE_PAGE} par exemple).
Ensuite d'autres thèmes seront à disposition (peut-être pas dès le début :) mais ça viendra).

Pour la liste de lien pour les thèmes, je vais aller voir ça merci bien :)

Ensuite pour les diagrammes, la libraire flash que tu m'a donné va peut-être (très fortement même ^^) m'intéresser :D je vais me pencher sur celle-ci :)

Et pour répondre à cette question :

Et tu ne peux pas nier que tu aura appris beaucoup de choses ? ;)

C'est le cas de le dire, j'ai appris (niveau orthographe un peu moins :D) énormément de choses même :) surtout au niveaux des classes (même si il reste beaucoup de choses que je ne maitrise pas encore ^^) et surtout grâce à vous :) et à votre aide et vos conseilles !
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
6 févr. 2009 à 21:53
Plop :)

Plein de choses à raconter ! :p (holà ! on dirait un blog ;))

Tout d'abord, merci @Destinyfr d'utiliser mon travail, ca fait plaisir :). Ca fait aussi plaisir d'entendre dire que mon code est plutôt bon (Merci à vous, @Destinyfr & @Akhenathon :)). Par ailleurs la licence n'est là plutôt que pour éviter des problèmes (vraiment au cas où), mais tu n'est pas obligé de reprendre la même licence, tu peux la changer, ca ne me dérangera pas :) (et du coup, non, tu ne me dérange pas d'utiliser mon code, bien au contraire, n'hésite pas, comme l'à dit Akhé, c'est ce qu'il faut faire ! Tout ce qui à déjà été fait, validé, éprouvé, c'est du travail en moin ! :)).

Maintenant, il y a un point qui me perturbe. Tu dit attendre de ton graphiste pour le design du site. Mais c'est la partie admin ou publique ? Car si c'est la partie publique, elle doit être obligatoirement réalisée à l'aide d'un moteur de template de façon à ce qu'elle soit modifiable à souhait. Du coup, pas besoin d'attendre sur elle.

Si c'est la partie admin, tu peux aussi t'inspirer des templates de oswd :
www.oswd.org

Sinon, une petite recherche sur google avec "admin template" te retourne de bons liens :
http://nettuts.com/articles/general/7-awesome-admin-themes-to-skin-your-next-client-app-via-themeforest/ ==> que je te conseil (bon, après, themeforest est un site de template payant, à toi de voir !)
http://www.webresourcesdepot.com/free-admin-template-for-web-applications/
http://www.mostinspired.com/blog/2008/10/11/admin-templates/
http://nettuts.com/articles/web-roundups/the-30-most-usable-themes-from-themeforestnet/

Ensuite, pour ce qui est des diagrammes, base toi sur ce qui est déjà existant. Je te conseille la librairie gratuite et opensource Open Flash Chart ! Elle est en flash (ca peux peut-être gêner, mais quand tu aura vu les effets et les possibilités, tu va vite oublier :p Et tout le monde à flash aujourd'hui !).
Voici l'url : http://teethgrinder.co.uk/open-flash-chart/
Sinon, tu peux toujours de baser sur des librairies type jpgraph, mais bon, tout de suite moins intéressant !
Tu peux aussi passer par l'api de google, mais ca m'énerve de toujours leur transférer des données, ils récoltent tout, j'aime pas ca :p

Enfin voilà ! Si tu veux des informations sur un point particulier, n'hésite pas, je (et je ne pense pas être le seul) y répondrais avec plaisir !
C'est rare de voir quelqu'un continuer dans un projet avec autant de perséverance ! Et tu ne peux pas nier que tu aura appris beaucoup de choses ? ;)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
6 févr. 2009 à 18:52
Bin de toute façon, même si le design n'est pas prêt, je code tranquillement mes classes :) je viens aussi de penser à une classe de statistiques (pour les statistiques du site ^^) cependant, je pense faire les diagrammes et camembert en 3D, cela pourrais poser un problème pour certaines personne si je me trompe pas, il faudrait donc que je fasse aussi en 2D (change pas grand chose ^^).

Merci bien, dans ce cas la je vais réutiliser ton code pour l'installation auto :) merci beaucoup (je vais juste faire quelques modifications pour l'adapter :) ).

Je vous tien au courant.
Utilisateur anonyme
6 févr. 2009 à 17:23
Un conseil, fais un max de réutilisation des codes-sources déjà disponibles, ils sont là pour ça, et ça t'aidera forcément à avancer en étudiant leur manière de coder (ça me ferais même plaisir que tu l'utilises pour faire un setup PHP d'install de ton CMS).

Concernant la classe de codefalse, t'as très bien fait, c'est une très bonne structure et une bonne orientation technique (c'est souvent le cas avec les sources de codefalse entre autres).

Bonne prog et préviens-nous quand les sources PHP seront à jour,
Akh
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
6 févr. 2009 à 17:14
Salut aKheNathOn

Déjà merci pour t'es remarques et ton lien :)

Concernant le code que tu as vu, il n'est plus du tout à jour (celui présent ici), en effet j'ai la version POO du CMS sur mon PC, cependant le design qui est maintenant en découpe depuis plus de un mois, n'est toujours pas fini (le codeur manque de temps donc il ne peut pas trop bosser dessus). C'est donc pour cela que je ne peux pas envoyer la nouvelle version, le CMS n'a pas encore de design.

L'autre version gère les connexions PDO (mysql, postgresql, sqlite etc...) grâce au script que CodeFalse : http://www.phpcs.com/codes/GESTIONNAIRE-MODELES-SQL_48539.aspx (Son copyright est présent !), que je trouve très bien et donc que j'ai repris (si tu souhaite que je l'enlève, dit le moi). Je le remercie encore une fois pour ce script !

En faite, lorsque la connexion à la base de donnée est établie, on va pouvoir "charger" (quoi que c'est bien un peu ça ^^) des classes étendues à la classe Model. Ces classes pourraient-êtres assimilées à des modules, car chaque classe permet d'ajouter des fonctions au CMS (par exemple la classe Users contient tout un tas de fonction pour la gestion des utilisateurs, la classe Article pour les articles etc...). (je sais pas pourquoi mais j'aurais ajouter un Et? ici oO finir de cette façon fait zarb).

A côté de cela, une classe Template (bon c'est pas le top du top, il y a surement beaucoup de chose à ajouter) est là pour permettre de séparer html et php.

Une classe de gestion des langues par fichier XML est aussi présente.

Bref après ce hors sujet xD j'ai pas eu trop le temps de voir ta classe, je ne rentre que :) cela me semble en tout cas très bien :) cela te dérange-t-il si je la réutilise ?

Je vous tien au courant :)
Utilisateur anonyme
6 févr. 2009 à 13:09
CF :
http://www.phpcs.com/codes/PAGE-SETUP-PORTAIL-CMS-MY-GESTION_49197.aspx

Pour illustrer mes propos au niveau objet, et du même coup contribuer à ton projet en te proposant un setup automatique.
Utilisateur anonyme
6 févr. 2009 à 10:36
Salut destiny,

Tout d'abord bravo pour l'activité et ton assiduité autour de ce projet.

Concernant le système de mise à jour rien de plus simple qu'un fopen avec par exemple en argument l'url de ton site et la version en cours en argument.

Ce qui est complèxe c'est de bien isoler la partie système de la partie personnalisation, et la ça ne concerne pas seulement le design, mais également les modules ou tout autre élément de customisation. C'est là que réside le vrai chalenge.

En regardant ton code par exemple, ce qui me frappe c'est qu'il n'y a pas d'orientation services ou SDK, donc clairement un module gére tout seul l'ensemble fonctionnel (et même l'affichage) du coup les modules ne feront jamais partie des évolutions à moins d'écraser les évolutions de chaque utilisateur.

De plus, tu n'instaure pas de contrat (interfaces extensibles) et du coup y'à pas de formalisme de type plugin, du coup les évolutions du coeur du système ne seront pas maitrisées ou maitrisables, donc c'est au bonheur la chance de savoir si cela va impacter ou non les modules en place.

Tu as mis le moteur PDO en place, ce qui est excellent, parcontre tu ne l'as pas encapsulé dans une classe, or tu deviens donc dépendant de ce module - penses à faire des niveaux d'abstraction au maximum.

D'autre part, chaque requette SQL est directement dans divers fichiers ce qui pose le problème de l'évolution des bases et l'impact sur le fonctionnement et les fichiers. Il faut les centraliser, sans pour autant faire de l'ORM, mais juste faire un fichier par table, puis des fonctions paramétrées qui exécutent ces requêtes, dans le principe des procédures stockées. Lors d'une migration ou prises en charge entre mysql vers mssql ou oracle, une simple commande LIMIT start, len devient un casse tête chinois.

Concernant la partie administrative, pas assez de boutons de navigation dans l'interface (le chemin en cours serait une bonne chose), pas de bouton de d'ajout (exemple liste de news).

D'autre part il manque un style sur les datagrid d'édition, ainsi que des fonctions de filtre (recherche) et de tri par colonne.

En regardant la source php d'une page de listing on y voit la requette ainsi que la construction HTML du tableau.

Tu devrais en faire une classe, en lui passant en argument les données constituant ton tableau. Ce serait à sa charge de générer le contenu.

Dans ce jet c'est à peu prés tout, ce qui est le plus dommage c'est le manque de classes et de POO, cela risque de limiter pas mal de choses, et en rendre fastidieuses d'autres.

Bon courage pour la suite, et si tu veux un coup de main pour la POO n'hésites pas.

Bonne prog,
akh
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
5 févr. 2009 à 20:13
Bon je n'ai toujours pas le design :s:s:s:s:s:s:s:s:s:s:s (commence à faire long la), cependant moi je continu à créer des classes ^^ bon je code pas comme un fou, j'avance doucement, je code quand j'ai du temps :)

J'ai déjà réalisé la gestion multilangue, donc à ce niveau pas de problème, il suffit juste de crée les fichiers maintenant :) (XML utilisé).

Bon après me reste deux fonctions (facture et envoie des données contenant le panier de la personne dans le panel admin) à réaliser sur la classe panier (vente en ligne).

Le captcha je le refais en un peu plus sécurisé mais pas encore fini (reste juste la fonction pour générer l'image à faire ^^). Actuellement je suis sur une classe permettant de créer des archives zip (utilisation de la librairie zip), j'avais pensé à une classe gérant les sessions, mais qu'elle en est l'utilité ?

Je souhaite réaliser une classe permettant d'avoir les informations concernant le système du membre, c'est à dire par exemple l'espace disque restant, la bande passante utilisée etc... mais je ne connais aucune fonction la dessus xD (à part pour l'espace disque ^^').

Je veux surtout faire la classe de gestion des groupes, mais la vient un problème :( j'avais pensé binaire, mais pour les modifications, sa oblige à tout refaire :( finalement, je vais opter pour une gestion dynamique, mais la façon dont je souhaite procéder est encore un peu flou :(

Ensuite, si quelqu'un sait comment réaliser une fonction permettant de savoir si sa version du script est à jour, et si ce n'est pas le cas, pouvoir faire la mise à jour SANS avoir à retélécharger le script, je souhaiterais bien savoir (si il/elle veut bien le dire) comment réaliser cela !

Vous souhaitez peut-être voir une classe qui pourrait-être utile selon vous ? Dans ce cas la proposez la moi, je verrai ce que je peux faire :p

Voilà merci de répondre :)

PS : BBcode pour quand :D ?
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
24 janv. 2009 à 19:05
oui exacte, mais il faut quand même une base ^^ après si tu veux contribué en proposant par exemple des classes ou des améliorations, elles seront bien entendus mis en place sauf si inutile XD et tu pourra aussi rajouter ce que tu veux :)
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
24 janv. 2009 à 18:11
Bah open source c'est une appelation mais elle est souvent utilisée abusivement alors que dans le cas de ton projet, si j'ai bien compris, tout le monde peut y contribuer...

Je me faisais la remarque car beaucoup disent leur projet open source "parce qu'ils partagent le code à la demande" ; ce qui est la définition mot à mot d'open source mais en réalité l'open source c'est du développement ouvert à tous...
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
22 janv. 2009 à 22:39
Salut
Qu'est-ce que tu entends par la stp ? De plus je n'ai toujours pas le design :'(
Bye
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
22 janv. 2009 à 20:26
Ah, ton projet est devenu un projet contributif ?
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
9 janv. 2009 à 17:30
Je suis désolé pour le temps que cela prendre, mais je n'ai toujours pas le design de découpé (ce n'est pas moi qui m'en occupe), car le codeur est un peu débordé en ce moment.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
3 janv. 2009 à 20:12
Smarty est en effet un peu lourd. La partie Phpbb en tant que moteur de template est celle que de nombreux templatiste tentent de refaire encore et toujours, à savoir les {var} dans des <!-- blocs -->

En même temps c'est ce qui marche le mieux :p
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
3 janv. 2009 à 19:26
Bin actuellement, je souhaitais juste voir si c'était possible :) ^^

Smarty est un peu lourd d'après ce que j'avais pu lire je me trompe ?
PHPBB, je ne sais pas ce qu'il vaut et tbs, je ne connais pas ^^
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
3 janv. 2009 à 17:20
Oui, bien sûr que c'est possible, faut voir ce que propose le système de vue mis en place cependant !

Si tu utilise smarty, tbs, celui de phpbb, l'un des tiens, etc :)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
3 janv. 2009 à 17:11
Bon je n'aime pas poster comme ça à la suite, mais c'est juste pour dire que le design est en cours de découpe (le nouveau), je pourrais par conséquence faire la release qui va arriver d'ici peu avec ce nouveau design.

Je vais aussi regarder comment marche le modèle MVC, mais je ne pense pas que cela soit très dur.

Est-ce que comme sa c'est correcte :
$this->view->render('User_Name', ''.$oUserInfo->Prenom.' '.$oUserInfo->Nom); (méthode de codefalse) => Posté par {User_Name}

Merci de répondre.

Pour le moment, la release ne comprendra pas toutes les classes, juste les principales (en attendant que tout marche à 100%).
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
2 janv. 2009 à 17:07
Salut

Effectivement, sa marche ^^

Par contre j'ai une petite (grosse ?) erreur dans ma classe upload :s :

Fatal error: Cannot use object of type PDO as array

Comment je pourrais faire pour éviter ce type d'erreur svp ? Et si quelqu'un peux me dire qu'est-ce que c'est aussi svp ?

Merci beaucoup
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
31 déc. 2008 à 12:48
Sa me parait un peu simple, j'en avais déjà entendu parlé, mais je pensé pas que sa marcherais :o (jamais testé ^^).

Je suis pas toujours convaincu, mais je vais tester sur 2 serveurs différents (free doit pas avoir PDO :D)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
31 déc. 2008 à 11:59
<?php if (class_exists ('Pdo')) {echo 'ok';}?> je suppose :p

http://fr.php.net/manual/fr/function.class-exists.php
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
31 déc. 2008 à 09:36
Est-ce qu'il y a un moyen de vérifier si un utilisateur à PDO d'installé sur son serveur (comme pour flash sur son PC) ?
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
30 déc. 2008 à 20:23
@Fedebul : j'avais fait un article sur mon blog pour justement expliquer ce qu'est PDO. Tu peux peut-être le lire histoire d'y comprendre mieux ? :)

Voici le liens :
http://blog.reflectiv.net/2008/10/21/nutilisez-plus-les-fonctions-mysql_/
fedebul Messages postés 129 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 27 février 2012
30 déc. 2008 à 18:58
ouah ! c'est nouveau pour moi mais c'est quoi PDO et comment fait on pour l'activer et où ?
merci beaucoup à toi
laurent
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
30 déc. 2008 à 18:55
Salut à la ligne 154, c'est cette requête :

$requete = $bddConnect->query('SELECT * FROM myg_modules WHERE actif=1');

Or il faut avoir PDO d'activé pour pouvoir utiliser le cms.

Vérifie que tu l'ai, car moi je n'ai pas de problème.
fedebul Messages postés 129 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 27 février 2012
30 déc. 2008 à 16:19
bonjour, j'ai une erreur qui s'affiche des l'ouverture de l'index !
Parse error: syntax error, unexpected ')', expecting '(' in /homez.18/jonnyfed/www/CMS/index.php on line 154

et la ligne est :
// Requete sur la table myg_membres (on récupère les infos de la personne)
$requete = $bddConnect->query('SELECT * FROM myg_modules WHERE actif=1');
while($resultat = $requete->fetch(PDO::FETCH_OBJ)) {
$nom_menu = htmlspecialchars(stripslashes($resultat->nom));
$url_menu = htmlspecialchars(stripslashes($resultat->url));
$id_menu = intval(stripslashes($resultat->id));
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
20 déc. 2008 à 06:19
Ce message est juste pour dire que je ne serais pas la cette semaine. Cependant, je vais continuer à m'occuper du script :)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
19 déc. 2008 à 06:57
Bon pour la classe des articles, j'ai mis ces fonctions :

Liste des fonctions :
- Ajout d'un article
- Modification d'un article
- Suppression d'un ou plusieurs article(s)
- Ajout de catégories
- Modification de catégories
- Suppression d'une ou plusieurs catégorie(s)
- Récupération des articles par catégories (Validés et Non Validés)
- Listage des articles par catégories (Validés et Non Validés)
- Liste des articles (tous)
- Listage des catégories (toutes)
- Recherche de résultats (Fonction getAllFetch)

Pour la classe users :

- Sélection de tout concernant un/des membre(s) par :
- L'id
- Une limite
- Un sens de classement
- Comptage du nombre de membres total inscrient
- Modification d'un membre par son ID
- Suppression d'un ou plusieurs membres par ID
- Recherche de résultats (Fonction getAllFetch)
- Vérification de la taille des mots de passes
- Hashage des mots de passes
- Vérification de la taille des pseudo et vérification qu'il n'existe pas déjà
- Vérification de la synthaxe des emails et vérification qu'elle n'existe pas déjà

Je sais que j'ai oublié l'ajout de membre ^^' je vais le rajouter. Que pensez vous que je pourrais rajouter des ces deux classes ? Une classe upload serait-elle utile ? (au moins pour l'administration). Si vous avez des propositions de classes, merci de m'en faire par :)

Bonne journée
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
17 déc. 2008 à 21:18
Pour la nouvelle version j'hésite encore à la poster tout de suite ou après la plupart des classes crée. De plus le nouveau design n'est pas encore codé XD j'ai abandonné ^^' je sais plus coder xhtml/css :(
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
17 déc. 2008 à 20:50
T'inquiete pas, tu n'es pas limité a x post à la suite (sauf si tu le fait en moin de 1 minute :p).

J'attends la nouvelle version alors ! :)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
17 déc. 2008 à 18:34
Alors déjà vraiment désolé pour le triple poste (même si il y a quand même un intervalle entre chaque postes). Je viens juste préciser que la classe Users est finie (éventuellement un bug ou deux est restant). Je m'attaque maintenant à la classe News.

Bonne soirée :)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
15 déc. 2008 à 18:02
Oups j'ai oublié de préciser qu'il y a une petite erreur sur la page enregistrement.php :

# if (!preg_match($regex_mail, $email, $$email2)) {
# echo INSCRIPTION_EMAIL_SYNTAXE;
# exit();
# }

Il y a deux fois le symbole $ sur $email2. Pour éviter toutes erreurs, pensez à en enlever un.
Devient au résultat :
# if (!preg_match($regex_mail, $email, $email2)) {
# echo INSCRIPTION_EMAIL_SYNTAXE;
# exit();
# }
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
11 déc. 2008 à 21:28
Salut

Séparer toutes les fonctions, j'y est pensé, cependant j'avais pensé que cela ferait un peut beaucoup quand même (d'où mon idée de faire comme la fonction présente sur mon poste précédent). Par la même occasion, je m'étais dis ceci : Une fois pour chaque, ok c'est cool, mais ci je veux faire un where avec limit ? Il aurait fallut faire encore d'autres fonctions etc...

Éventuellement, je peux faire des fonctions classiques, c'est à dire : getUserById(), getUserLimit(), etc... et laisser l'actuelle pour des requêtes personnalisées :) (comme par exemple mon where+limit :p).

Je vais me pencher un peu plus sur le principe de KISS. Pour un ORM, je ne pense pas que cela soit le plus performant, je vais donc pas en utiliser un.

Je vais aussi aller voir comme tu me la dis, le système de gestion des News de Fhx :p

Je vous tien au courant.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
11 déc. 2008 à 10:04
Hum, je vois ce que tu veux dire, mais je ne pense pas que tu utilise la meilleure méthode.

Dans ta fonction, tu gère la liste des colonnes à récuperer, la clause where, la clause limit, la clause order, et le type de retour.

Le problème qui survient ici, c'est que tu ne respecte pas le principe KISS (Keep It Simple, Stupid). En effet, la méthode pour gérer les where, limit, order, tu devra les répéter pour chaque fonctions, ca va pas comme ca ! :p

Tu as deux possibilités. Le mouvement du moment, la "mode", te conseillerai d'utiliser un ORM histoire de faire mumuse avec ta base de donnée comme si elle était en objet. Ca vient de Ruby (comme les frameworks, ndlr). Maintenant, c'est très lourd et pas forcément rentable. Tout dépend de la ressource client dont tu aura besoin. Et vu que c'est un CMS, ... a voir ...

L'autre méthode consiste à faire des fonctions spécifiques et leur passer uniquement ce qui est susceptible de changer, genre getUserById ($iId), getUserByRange ($iStart, $iLimit), etc.
Du coup, tu découpe tes fonctions en classe en fonction du type ou de l'usage (class User, class News, etc).

Regarde aussi du coté du système de gestion de News par Fhx par exemple sur ce site, ca devrait t'aider.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
10 déc. 2008 à 21:58
Salut

Merci pour ton exemple sur le pattern MVC ^^ Cependant, j'ai un problème sur cette fonction :

public function listeAccounts($fields, $fetchType, $whereFields, $limStart, $limEnd, array $type, $ordre) {

// On commence à vérifier quel champs non obligatoires sont vides
if(isset($fields, $fetchType)) {
// On prépare la requête
$requetePreparee = 'SELECT '.$fields.' FROM '.$this->tableUsers.'';

if(isset($whereFields)) {
// On prépare la requête
$requetePreparee .= ' WHERE '.$whereFields.'';
}

if(isset($limStart) && ($limEnd != null)) {
// On prépare la requête
$requetePreparee .= ' LIMIT '.$limStart.','.$limEnd.'';
}

if(isset($type, $order)) {
// On prépare la requête
$requetePreparee .= ' ORDER BY '.$type.','.$order.'';
}

// On exécute la requête
$toQuery = $this->_gardePDOInstance->query($requetePreparee);

// On retourne le résultat
return $toQuery->fetch($fetchType);
}
}

Comme tu peux le voir, elle est faite pour récupérer toutes les informations (ou uniquement ce que tu souhaite) sur un membre actuellement. Je n'arrive pas à la faire marcher pour tous les membres (listage complet des membres pour voir par exemple les informations les concernant). Aurais-tu une idée sur la façon de le faire ? (Les boucles while ne sont pas envisageable (ou alors pas encore trouvé XD) étant donnée que je renvoie le résultat de la requête dans return).

J'espère que tu vois ce que je veux faire et j'espère que tu pourra m'aider (toi ou quelqu'un d'autre).

Merci :p
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
6 déc. 2008 à 13:20
Normalement, si on respect le pattern MVC, tu doit avoir un ensembles de classes qui s'occupent des requêtes sql (c'est la partie Model).
De ce fait, tu as ta classe :
class Users extends Model {
public function getUser ($iId) {
// Ici tu fait la requete pour récuperer les infos de l'utilisateur ayant l'id $iId
}
// d'autres fonctions ici
}

et dans ton controlleur, tu fait :
class ... extends Controller {
// ...
public function ... () {
$oModel = $this->getModel ('Users');
$oUserInfo = $oModel->getUser (1);
$this->view->render ('User_Info', 'Bonjour '.$oUserInfo->Prenom.' '.$oUserInfo->Nom);
}
// ...
}

view->render pointe sur ton template, ca va remplacer la variable "User_Info" par ce que tu lui as donné.

Bon c'est un exemple vite fait, mais c'est pour donner les grandes lignes.

Pour le bbcode ou quelque chose de similaire, je me bat pour l'avoir, c'est une question de temps :p j'espère ! :p
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
6 déc. 2008 à 08:47
moi je n'ai pas dsl :(

Bon j'ai un petit prob sur la classe pour la gestion des membres (récup info, add membre etc...) : Je ne sais pas si je fais les requettes directement dans la classe, dans ce cas la, il y aura beaucoup de fonctions, et dans la page index (exemple), on aurait une requette du type :

$bd->allAccounts('*', 0, 50); -> Champs, début limite, fin limite (par afficher que 50 membres) -> ici sera affiché toutes les informations concernant les 50 premiers membres.

Ou alors je fais comme ça :

$bd->query('SELECT * FROM users LIMITE 0, 50');

$bd->query('SELECT * FROM users WHERE rang=5'); (Pour les bannis par exemple ^^).

Qu'est-ce que vous en pensez ?

PS : Il n'y a pas de BBcode (pour les commentaires) de disponible svp ?
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
1 déc. 2008 à 19:56
Quelqu'un aurait un document clair complet et concis sur les "moteurs de template" ?
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
29 nov. 2008 à 23:32
Dire que c'est du code spaghetti, faut voir le reste, mais c'est vrai que c'est pas tip top.
En fait, ce qu'il faudrait faire, c'est mettre tes éléments php dans un moteur de template (comme smarty, tinybutstrong, le tien, du xml couplé à du xsl, etc), et ensuite, dans ton code html (ou xsl), un truc du genre :

(les crochets sont pris au hasards et dépendent du moteur de template, ca peux etre des {, [, etc)

Le but est d'empêcher de mélanger du code php, du code html, du code css, du code javascript, des requetes sql. Ca fait beaucoup, mais comme ca chacun son métier. Le designer le html/css, le codeur ajax/php, l'admin db, les requêtes sql.

Mais, je t'avoue, c'est pas forcément très facile ! :)
azqsazqs Messages postés 83 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 28 novembre 2010
29 nov. 2008 à 17:15
Pardonnez le double post, mais on peut pas éditer les message (ou apprenez moi comment faire)

Pour un tuto sur la PDO:

http://www.siteduzero.com/tutoriel-3-34790-pdo-interface-d-acces-aux-bdd.html

Simple et facile a comprendre.
azqsazqs Messages postés 83 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 28 novembre 2010
29 nov. 2008 à 15:05
J'ai une petite question quand même. J'ai vu (et apprécié) le lien sur la PDO donné par codefalse, mais concernant la programmation qui sépare html et php, quelqu'un à un lien ?

j'ai souvent recours a des truc comme:

"/>

Est-ce du spaghetti, ou un code acceptable ou même un code normal ? Si ça pose problème, comment éviter ce genre de code ?
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
29 nov. 2008 à 09:12
Salut

@VXR888 : Pas de problème :) mais c'est pas moi qui faut remercier, mais CODEFALSE :)

@AZQSAZQS : Moi non plus il n'est pas fini ^^ ici je n'ai que la version béta (pourquoi je n'ai pas attaqué par alpha ? Bonne question ^^'). Sur mon PC j'ai une version un peu plus avancée (que je ne poste pas maintenant car je souhaiterais avant tout finir mes mises à jours ^^). Cependant, il est vrai que réaliser un CMS demande pas mal de temps ^^ je te souhaite donc bon courage :)
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
29 nov. 2008 à 01:05
@DESTINYFR : Merci pour le lien de CODEFALSE, c'est vrai que je l'avais vu mais je n'avais pas lu l'article en entier (honte à moi...).
azqsazqs Messages postés 83 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 28 novembre 2010
29 nov. 2008 à 00:56
Salut a tous,

je suis moi aussi en train de réaliser un genre de CMS, car je voudrais un truc hyper léger mais 'complétable' facilement aussi je prend note de toutes les remarques notées ici et félicite destinyfr pour son initiative.

Mon projet est loin d'étre terminé (pas si loin, mais j'ai pas le temps en ce moment) et je dois encore résoudre quelques soucis sur des fonction récalcitrante.

Peut etre un jour mon CMS sera complet et je vous le présenterais, sur ce bonne continuataion à tous.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
27 nov. 2008 à 20:57
Pour plus d'informations sur PDO :

http://blog.reflectiv.net/2008/10/21/nutilisez-plus-les-fonctions-mysql_/

Merci codefalse :p
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
27 nov. 2008 à 20:53
Mais en quoi PDO est-il mieux ?

Parce qu'implémenter le code pour différents SGBD c'est pas mal pour un CMS mais pour un simple site qui n'utilise qu'un seul SGBD, quelle utilité ?

Et puis, moi il m'a fallu lire en entier les commentaires ci-dessus pour découvrir PDO ; on en parle pas assez et je pense que mysql_connect & friends ont encore de beaux jours devant eux !
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
27 nov. 2008 à 17:40
^^ faut y passer pourtant :p et puis la programmation c'est bien aussi :)
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
27 nov. 2008 à 10:43
A vous lire, je suis complètement dépassé par le Web !!!

J'en étais resté au php "basique" et quand je vois ce qu'il faut mettre en place de nos jours, ça relève plus de la prog logiciel que de la prog web !

Le web 2.0 me fait peur !
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
26 nov. 2008 à 00:08
Voila un petit code mis pour l'exemple : http://www.phpcs.com/codes/GESTIONNAIRE-MODELES-SQL_48539.aspx :) J'attends de tes retours pour avoir ton point de vue :)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
25 nov. 2008 à 18:35
Salut

Je crois avoir compris le principe, cependant je veux bien que tu fasse un petit exemple pour que je confirme ma bonne compréhension.
Pour plus d'informations que la façon à laquelle j'avais procédé, les voilà :

- Je dispose d'une classe database (database.class.php) dans laquelle le constructeur récupère les informations de connexion à la base de donnée.
Une fois récupéré, il exécute la fonction startConnexion(); qui demande la connexion à la classe mysql (mysql.class.php) par l'intermédiaire d'une autre fonction (ici : bddTypeConnect() qui elle s'occupe de réaliser la connexion.
Les requettes comme par exemple query fetch obj ce font de la même façon -> dans la classe database, j'ai une fonction qui demande à une autre fonction ce trouvant dans mysql.class.php d'exécuter tel requette. Une fois exécuté je retourne le résultat et je le récupère dans une autre variable puis l'affiche.

Je dispose ensuite de 3 autres fichiers : identClasse.inc.php qui contient les identifiants de connexion à la base de donnée, optionsClasse.php qui contient toutes les options que l'on veut voir (pas encore réaliser, mais voici un exemple : le mode debug) et parametres.inc.php qui contient dans une variable le type de BDD que l'on veut utiliser (il faut donc placer en fonction du nom).

C'est ici que cette page parametres.inc.php va marcher :
Dans mon fichier index, je fais un nouveau objet comme ça : new $bddType (host, pseudo, password, nom, port);

Mais juste avant, je dipose d'une fonction __autoload($selectClassType;) qui inclue la base en fonction de ce que contient $bddType.

Voilà j'espère avoir quand même mieux expliquer ma façon de procéder.

Sinon pour revenir à question, je veux bien voir un petit exemple quand même (pour être sur de partir sur de bonne bases).

Merci pour ton aide :)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
25 nov. 2008 à 09:45
Juste, pour rebondir sur ton précédent post (celui avant).
Au niveau poo, je te déconseillerai de faire une classe qui étende une autre, mais de faire une classe à laquelle tu lui donne l'instance pdo (par ex), et cette classe executera les requetes en conséquent.
Voici comment je procède :
J'ai une classe PdoManager, qui contient deux fonctions statiques (getInstance et Init). Il faut absolument appeler PdoManager::init en premier, afin de lui donner les paramètre de connexions (dsn, username & passwd). Tu peux aussi juste directement lui donner pdo, à toi de voir. Ma facon de faire m'impose de ne pas disposer de l'instance de pdo ailleur dans mes classes. Ensuite j'ai une autre fonction dans PdoManager (à toi de voir si tu la veux en statique ou non), load, qui va charger une classe spécifique pour les requetes (par exemple, PdoManager::load ('users'); qui me retourne une instance de PdoModel.
PdoModel est une classe abstraite qui contient juste un constructeur (__construct) et ce constructeur recoit l'instance de PDO que la classe PdoManager lui donne lors de l'appel à PdoManager::load. Il le stocke dans une variable "protected" afin que la classe qui hérite de PdoModel aie accès à pdo.
Ensuite, je fait une classe fille Users extends PdoModel, et je met toutes les fonctions dont j'ai besoin qui feront les requêtes sql à ma place.

Pour gérer le multi serveur sql, je fait une petite astuce : le répertoire ou se trouve mes modeles, je fait un sous-repertoire aillant comme nom le driver pdo. (Mysql, Oracle, etc)
Ensuite, dans ma classe load, je fait un :
require_once (PATH_VERS_MODELS.$oPdo->getAttribute (PDO::ATTR_DRIVER_NAME).$sModel.'.php');

J'espère que j'ai été assez clair ? Sinon je peux faire une source :)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
25 nov. 2008 à 07:12
Bonjour,

Un petit message pour dire que la classe database est finis, pour le moment la classe que j'ai réalisé (gestion de plusieurs bases de données) est mysql avec PDO. Je vais maintenant la convertir pour faire marcher sous oracle, postgresql, mssql, sqlite, mysqli bien entendu avec PDO ^^ (faut que je regarde les différences entre PDO et sans PDO).
Je vais aussi m'assurer que tout marche. J'ai créer aussi une page option classe pour ajouter des options par exemple : mode debug si true -> activé sinon désactivé. Il faut cependant que je travaille sur ce fichier :)

Voilà bonne journée ^^
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
23 nov. 2008 à 16:14
Bonjour,

Je suis désolé si les maj n'arrivent pas vite en ce moment, ceci est du au faite que je n'ai pas beaucoup de temps libre. Je dois m'occuper de mes devoirs (et oui les cours ^^), j'ai aussi pas mal de compétitions, stage (badminton, ju-jitsu, judo etc...), ce qui fait que je n'ai pas beaucoup de temps pour bosser sur le script.
Ceci dit, je ne fait pas pour autant rien dessus :)

Actuellement : La classe PDO que j'ai fait marche, cependant elle n'est pas très adaptée pour ensuite utiliser par exemple Postgresql. Je vais donc refaire une classe database abstract et ensuite des classes mysql, mssql, postgresql etc... qui en hériterons. Comme sa la classe par sur les mêmes bases, c'est juste la façon de procéder à la requette qui change.

Voilà bonne journée ^^
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
13 nov. 2008 à 20:49
Salut tout le monde :)

Après avoir eu un problème de connexion concernant ma livebox, je suis de retour avec quelques nouvelles à vous annoncer concernant le CMS :)

- Un nouveau design, finis et magnifique :) (sera dévoilé dans la prochaine version)
- Un système à la MVC que je vais essayer de faire le plus rapidement possible (débutant en ce qui concerne ce système ^^)
- Le moteur de template que je vais pouvoir enfin essayer d'intégrer :)
- La modification de la classe PDO Mysql actuellement présente pour la faire marcher via Postgresql, MSSQL, etc... et aussi l'ajout d'une classe Mysql sans l'utilisation de PDO pour les personnes qui ne disposerait pas de celui-ci :)

Voilà déjà une petite liste de mises à jours que je compte bien faire (je ne sais pas combien de temps cela prendra mais je vais tiendrais au courant).

Merci et bonne soirée :p
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
10 nov. 2008 à 23:30
@Vxr888 : Crois moi, lorsque tu fera la migration entre ton serveur de test (ton pc par ex) et ton serveur de prod (hebergement online), le changement de configuration php génèrera des erreurs. Tu en corrigera pas mal, mais tu risque d'en louper et si un robot passe par là, il risque de te pourrir la boite mail.

Perso il m'est arrivé de loguer les erreurs dans un fichier, et sur la page d'accueil, je testait la taille de ce fichier. Arrivé à une certaine taille, je me l'envoyais par email. C'est plus propre.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
10 nov. 2008 à 21:55
Ou alors encore plus simple ^^ la première chose que tu affiche quand tu te connecte sur une session administrateur, c'est marquer les différentes choses s'étant produites :

516945886555821 commentaires
999999999999999999999 erreurs répertoriées XD
etc...

Comme sa tu te rend sur ton panel administrateur et tu regarde les erreurs et les corrigent :)

Le mail tu regarde pas tout le temps non plus, ton site aussi c'est vrai mais dans les deux cas c'est rare que tu passe pas voir au moins 1 fois par jour :)

C'est un autre proposition marchant aussi avec sgbd.
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
10 nov. 2008 à 20:53
Je suis d'accord avec toi CODEFALSE même si j'ai envie de dire que si tu es "sûr" de ton code, les seules erreurs sont des erreurs importantes donc vaut mieux recevoir 100 alertes que pas du tout.
Après c'est clair que si c'est pour saturer la boîte mail, ce n'est pas une bonne idée ; par contre si on répertorie les erreurs dans une base de données, il faut penser à la consulter donc, peut-être prévoir un table vierge et dès qu'une entrée vient s'y insérer, un mail est envoyé (avec un test faisant que lors de l'ajout d'une nouvelle entrée, on vérifie s'il n'y en a pas déjà une et si c'est le cas on ne renvoie pas de mail ==> comme ça on a que un mail mais au moins on est averti et donc pas obligé de consulter un page répertoriant de possibles erreurs tous les jours).
Qu'en pensez-vous ?
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
9 nov. 2008 à 22:13
Les envoyer par email, c'est un peu risqué, parce que s'il y a une erreur basique, mais qui est affichée sur une boucle de 100 entrée, pour 10 visiteurs, ca va faire du bon mauvais spam :p

Mieux vaut les enregistrer, en sgbd ou fichier, peu importe
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
9 nov. 2008 à 13:36
Pour ta gestion des erreurs, le mieux selon moi c'est de te les faire envoyer par mail ou de les déposer dans une base de données si tu as un page d'admin ;)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
8 nov. 2008 à 21:08
En effet c'est vrai que ce type d'erreur il ne faut pas l'afficher ^^

Bon du coup je laisse tel quel le script :)

Prochaines modifications : Moteur de template (faut que je termine le design, mais la manque d'idée :( sniff) puis les dernières optimisations et je devrais en avoir finis avec la béta ^^ (quand ce sera fait, on vera ^^).

Voilà ! Merci pour les réponses :p
PS : je pense que je posterais directement le zip avec le moteur de recherche et le nouveau design.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
8 nov. 2008 à 20:28
Bah si t'affiche directement les erreurs, tu ne les aura jamais toi (un visiteur verra le message, pas toi !).
Par ailleur, afficher les erreurs peut-être risqué pour ton site (error in /var/www/html/confidential.php, hum :p), donc le mieux est de limiter les infos à afficher et de les enregistrer dans un fichier je pense.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
8 nov. 2008 à 18:04
Non parce que enfaite, voilà comment j'ai fais dans la classe :

SJ'ai testé via try et catch si les requettes sont bien effectuées. Si c'est le cas, la page s'affiche normalement, sinon j'affiche une erreur 500 Internal en indiquant l'erreur rencontrée.
J'ajoute aussi l'erreur dans un fichier html visible dans l'administration qui va lister toutes les erreurs et donc permettre de voir qu'est-ce qu'il y avait eu etc... (éventuellement pour améliorer les requettes).

Vous trouvez que c'est inutile (autant afficher directement les erreurs) ou non ?

Merci :)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
8 nov. 2008 à 15:10
lol :p
Ca dépend de comment tu t'y prends. Si tu t'inquiète pour l'affichage des erreurs, elles seront générés dans la sortie (normallement le navigateur) là ou elles ont eu lieue.
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
8 nov. 2008 à 14:14
J'ai pas tout compris là moi ! Tu veux écrire des trucs dans un page html avec du code php ? Pourquoi ne pas utiliser une base de données ?
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
8 nov. 2008 à 00:52
Ca va dépendre de comment tu les affiches, si tu utilise un moteur de template ou non, etc.
Si tu n'utilise rien, elle devraient s'afficher à la suite.
Si tu utilise un moteur de template, ca va dépendre de comment tu le configure :p
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
7 nov. 2008 à 23:54
Bon voilà la classe PDO est finis, tout marche, il me reste plus cas finir la classe de gestion des erreurs par fichier. Cependant, je voudrais faire un fichier html qui sera visible via l'administration, mais j'ai une question et si quelqu'un peu m'aider sur ce point, ce serais vraiment sympa :

Est-ce que avec l'écriture dans le fichier html les erreurs générées vont être ajouter les une à la suite des autres ou alors si une deuxième erreur est produite, elle va remplacer la première ?

(Il ne me reste que les tests à effectuer sur les requettes pour voir si tout marche et dans le cas contraire afficher l'erreur).

Maintenant, je vais m'attaquer au moteur de template...

Merci de répondre.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
2 nov. 2008 à 21:43
Oui c'est normale ^^ (bon c'est dur tout seul et en plus les cours, mais je lâcherais pas). Pour la classe il me reste juste des erreurs au niveau des requette PDO : PDO::FETCH_OBJ etc... une fois sa corrigé, tout devrait marcher :)
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
2 nov. 2008 à 21:09
Le plus important pour un projet d'une telle envergure : ne pas te décourager !!! ;)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
2 nov. 2008 à 17:39
Bin le nom de la classe était PDO donc quand je la lancé, j'avais : new PDO (utilisé par PDO lui même). L'erreur venait de la. Cependant, il y a d'autres erreurs (c'était trop beau pour pas en avoir :p) donc je m'occupe de ça et en même temps je vais essayer d'améliorer le script en ajoutant par exemple la gestion des erreurs :) et une fois que cette classe sera opérationnelle à 100%, je la modifierais pour faire marcher sous plusieurs version de sql (Postgresql, Sqlite, mssql etc...) et lors de l'installation du script, en fonction du type choisie, j'inclurais telle ou telle classe.
Beaucoup de prédictions vous me direz :) mais bon c'est bien d'avoir des idées. Maintenant faut les appliquer :).
Je suis aussi entrain de réaliser un autre design comme sa il servira de base pour le moteur de template (il en existe beaucoup tout prêt, je vais utiliser ceci et par la même occasion apprendre comment sa marche :D).
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
2 nov. 2008 à 15:16
@DestinyFr : Quel est le nom de ta classe ?
Généralement je nomme mes classes de ce genre :
NomdeprojetFonctionDeLaClasse
de facon à éviter toute confrontation avec une autre classe existante.
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
2 nov. 2008 à 13:10
Courage !
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
2 nov. 2008 à 09:17
Non l'erreur viens de la classe php5 que j'ai fais, cela vient pas de PDO, PDO je sais utiliser ce que j'ai mis dedans. L'erreur retournée c'est que je peux pas déclarer deux fois le même objet oO hors il n'y est déclaré qu'une fois.
Je boss dessus actuellement, je trouverais bien à une moment ou un autre :p sa doit être une petite erreur à la con :(
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
1 nov. 2008 à 19:58
Ahhh c'est ton code qui est false, c'est pas une erreur de l'objet PDO... c'est bien ça ?
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
31 oct. 2008 à 18:37
De quoi ? La POO ? Faut juste que je trouve l'erreur ^^
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
31 oct. 2008 à 17:27
Finalement ça n'a pas l'air si simple que ça en avait l'air lors de la prsentation par CODEFALSE :s
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
31 oct. 2008 à 16:44
Je ne sais pas, je n'ai jamais eu ce problème ^^

Bon pour ce qui est du CMS, je suis actuellement entrain d'essayer de faire marcher ma class PDO, mais j'ai quelques petits problèmes encore ^^ sa viendra par la suite :) faut que j'arrive à les corriger.
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
31 oct. 2008 à 14:50
Ben si, disons que si un jour pour une raison ou pour une autre host-10000 sont obligés de fermer (et je sais de quoi je parle car j'ai connu ça chez un autre hébergeur...), les utilisateurs deviendront des utilisateurs OVH... aux tarifs OVH :s
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
30 oct. 2008 à 06:57
Oui ils prennent des serveurs sur OVH c'est exacte ^^ mais bon aucun problème de ce côté :p
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
29 oct. 2008 à 20:18
host-10000 semble "dépendre" d'OVH... (Datacenter : OVH ROUBAIX)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
29 oct. 2008 à 16:53
Moi je te conseil host-10000.fr, ils proposent différentes offres, tu peux payer par allopass ou paypal et le service est très bien (jusqu'à présent, tout ce dont j'ai demandé : exemple : activation PDO ils me l'ont fait dessuite). Le support sur le forum est très rapide. Je te le conseil (domaine en .com/.fr/.org/etc... (en revanche, il demande un petit plus pour la création de celui-ci mais qu'une fois par an lorsque tu veux renouveler ton compte).

Pour le moteur de template, je ne peux pas dire que ce soit simple ^^ j'ai un peu de mal à comprendre comment sa marche pour le moment mais sa viendra (je suis aussi entrain de bien apprendre la poo version php5, j'ai trouvé un bon tuto sur ce site : http://www.apprendre-php.com/tutoriels/ ).

Je continu à vous tenir au courant de l'avancement :-)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
29 oct. 2008 à 16:41
Free, Ovh, ... :)
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
29 oct. 2008 à 15:10
@ CODEFALSE : mon hébergeur est produweb.fr et son php est la version 4.4.8
Auparavant, j'étais chez one.com et eux aussi avaient une version 4 !

Quels hébergeurs pas trop chers connais-tu en version 5 ?

Merci d'avance.
Utilisateur anonyme
29 oct. 2008 à 09:38
Destiny ton projet n'est peut-être pas encore le must du CMS en MVC en tout cas dans l'esprit partage communautaire, réactivité et investissement personnel t'es sur la bonne voie.

Continues, tu vas forcément y arriver. Je t'ai mis 8/10 par rapport au type de projet et ton attitude à rebondir sur les évolutions :) et tiens nous au courant.
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
28 oct. 2008 à 12:12
Voilà les problèmes par rapport à PDO sont corrigés.
J'ai aussi corrigé d'autres bugs.

Maintenant que tout sa est ok (je n'ai plus de bug normalement, mais il est possible que j'en est oublié), je vais essayer de m'attaquer à la séparation du code (moteur de template).
peanut38 Messages postés 30 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 28 octobre 2008
28 oct. 2008 à 10:41
Bonjour,

Je viens de me mettre au PDO donc pour l'instant je cherche simplement à comprendre comment ça fonctionne... Je te remercie déjà par avance d'avoir posté cette source, c'est vrai que ça a l'air passionnant !
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
28 oct. 2008 à 01:59
Arf en effet :p trop vite :p

Le problème vient du fait que ta fonction prepare n'a pas retourné un objet, cela veux dire que ta requête à eu un probleme. Tu as eu un false à la place de ton objet PDOStatement.
Un ptit var_dump dessus te le prouvera ;)
var_dump ($retourNews);

Regarde du côté de la requête (:
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
27 oct. 2008 à 23:10
Pour l'erreur retournée, je l'avais donnée dans le message précédent ^^ enfin la revoilà :

Fatal error: Call to a member function fetch() on a non-object (dans news.php à la ligne 64 => au niveau de la boucle qui liste les news).

Je vais voir avec phpinfo() mais hier PDO avait été activé (hors ayant eu le transfère du site sur un autre serveur, je ne sais pas sur le quel elle a été activé).

Je vais essayer d'avoir plus d'informations sur ce problème, en attends, je ne vois vraiment pas pourquoi j'ai cette erreur. J'ai pourtant bien vérifié le code.

Merci de votre aide.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
27 oct. 2008 à 22:07
@vxr888 : quel hébergeur ? Car free, il y a un .htaccess qui permet de spécifier quel version de php utiliser, ca doit être le cas pour tous les autres hébergeurs. Et si c'est pas le cas, change, car celui chez qui tu es n'en as rien à cirer de la sécurité, donc ca promet pour tes données ... (et honte à lui !)

@Destinyfr : L'erreur retournée serait aussi bien appréciée :p
western3021 Messages postés 4 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 27 octobre 2008
27 oct. 2008 à 21:32
un petit coup de phpinfo() pour vérifier, tu gagneras du temps ;-)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
27 oct. 2008 à 20:58
Voilà la source a été mise à jour pour une utilisation avec PDO, cependant je pense que celui-ci a été désactivé de nouveau sur mon hébergeur car je reçois cette erreur :

Fatal error: Call to a member function fetch() on a non-object

D'après le message, il semblerait que la fonction fetch() ne soit plus disponible (hors celle-ci ne l'ai que si PDO est activée).

Voici la ligne correspondant :

$donneesNews = $retourNews->fetch(PDO::FETCH_ASSOC)

Si quelqu'un peux tester et me dire si c'est pareil pour vous svp.

Merci :-)
vxr888 Messages postés 85 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 27 novembre 2010
27 oct. 2008 à 15:34
@ CODEFALSE : moi je veux bien utiliser PDO mais celà requiert PHP 5 et bien que tu dises que PHP 4 c'est dépassé, c'est loin d'être le cas chez beaucoup d'hébergeurs !!!
abdelus100 Messages postés 1 Date d'inscription mardi 24 janvier 2006 Statut Membre Dernière intervention 27 octobre 2008
27 oct. 2008 à 12:06
Merci bcppp c'est trés intéressant.
western3021 Messages postés 4 Date d'inscription dimanche 22 juin 2003 Statut Membre Dernière intervention 27 octobre 2008
27 oct. 2008 à 09:43
bien le bonjour,

effectivement, merci pour les piqures de rappel et le lien, Codefalse, c'est exactement le genre d'explications claires que je cherche, parce que des tutos en tous genres, c'est pas le problème, mais qui soient bien didactiques, ça l'est plus ;-)
A ce sujet, je suis à la recherche désespérée d'un tuto clair sur la POO pour php.

Merci à tous :-)

Benjamin
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
25 oct. 2008 à 06:21
Oui cependant, ce ne sera pas pour ce weekend car je ne suis pas la, et j'ai un petit problème concernant PDO, il n'est pas activé chez mon hébergeur. J'ai donc fait la demande d'activation, je pense l'avoir quand je rentrerais.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
24 oct. 2008 à 23:06
J'attends tes mises à jours alors ;)
destinyfr Messages postés 106 Date d'inscription samedi 19 mai 2007 Statut Membre Dernière intervention 13 avril 2009
24 oct. 2008 à 16:48
Salut

Déjà merci pour vos commentaires, et surtout merci à Codefalse pour les remarques qu'il m'a donné !
Je regarde actuellement les liens que tu ma donnés, et ceci sont très intéressants ^^

Pour ce qui est séparer le code, j'y est pensé moi aussi (parce que c'est vrai que je n'aime pas moi aussi avoir du html dans le php bien que je le fasse), j'avais pour idée de créer un système de template, mais la réalisation est accès longue donc celle-ci était prévu pour une autre version.

Je voulais modifier le code pour le refaire avec la puissance de la POO, mais je n'ai pas de très grandes compétences dans celle-ci encore (vu qu'elle n'était pas très avancée dans php4, je n'y avais jamais prêter vraiment attention -> grosse erreur de ma part), cependant ton tutoriel semble très intéressant et facile d'utilisation. Je vais donc y prêter attention et sortir une autre version avec je l'espère l'ajout de celui-ci :-) (c'est en faisant des erreurs que l'on apprend à ne plus en faire)

Pour répondre à Akhenathon, pour avoir créer ce cms ? Mon but principal était de faire profiter celui-ci à tout le monde, en le rendant le plus simple possible d'utilisation que ce soit au niveau code (modification de celui-ci par tout le monde) ou au niveau de la gestion (installation, rédaction d'articles etc...).
Je ne peux pas vraiment te dire qu'est-ce qu'il aura vraiment de meilleur par rapport à un autre, sachant qu'il commence juste à voir le monde :-)
Mais dans un sens, quand joomla, wordpress ou autre ont été crée, quelqu'un à bien du poser la même question que toi :-) et pourtant ils sont très connus et utilisés même si il ce ressemblent beaucoup !

Pour répondre à Warpcom, en effet je n'ai pas fournis la table pour les catégories. La voici :

DROP TABLE IF EXISTS `myg_categories`;
CREATE TABLE `myg_categories` (
`id` int(11) NOT NULL auto_increment,
`nom` varchar(255) NOT NULL,
`icone_url` varchar(255) NOT NULL,
PRIMARY KEY (id)
);

Je suis vraiment désolé pour cette oublie.

Encore une fois je vous remercie pour vos commentaires et je vais me pencher plus en détails sur les liens que ma fournis Codefalse.

Merci beaucoup !
warpcom Messages postés 3 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 25 novembre 2008
24 oct. 2008 à 13:32
salut,j'ai essayé d'utiliser ton application CMS mé il ya avait des notices c'est pas un probleme je les ai corriger mé le probléme c'est qu'il manque un table dans le fichier _tables.sql qui manque a la base "myg_connectes" ca serai sympa si tu le passe pour que je puisse tester toutes l'aaplication.

et merci d avance
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
24 oct. 2008 à 10:32
La réalisation d'un CMS ou d'un Framework n'est pas quelque chsoe de très aisé à faire !

Je salue le geste ! :)

Mais as-tu effectué des tests de base ? Comme l'as dit Akhenathon, il y a toujours des choses à redire, et rabâcher toujours la même chose, c'est chiant, mais je vais m'y coller, ca fait jamais de mal !

Essaye ton code avec error_reporting(E_ALL). Ca ne doit afficher AUCUNE erreur, NI notices ! RIEN ! NIET ! NADA :p

Ensuite, mysql_query, c'est quoi ca ? ca existe plus ! :p Bon c'est pas vrai, mais faut arreter d'utiliser ca maintenant que PDO est fournit en standard dans PHP. Bon ok, pas PHP4, mais faut se mettre à jour ! Php4, ca existe plus !
Je te conseil de jeter un oeil à ce liens : http://blog.reflectiv.net/2008/10/21/nutilisez-plus-les-fonctions-mysql_/

Ensuite, pour un projet de cet envergure, il te faut respecter une norme d'écriture, un respect de la structure.
Il faut limiter la redondance de code, le "spaghetti code" (http://en.wikipedia.org/wiki/Spaghetti_code) et surtout, SURTOUT, ne pas mélanger le code html du code php.
Chaque élément doit être séparé !
Le mieux, c'est d'avoir un environnement pour chaque partie essentielle d'une page web :
HTML pour la structure, CSS pour la mise en page, JavaScript pour les évènements et les effets, et le PHP pour la gestion des données.

Par exemple, évite d'avoir quelque chose de ce genre :

<?php echo $sMessage; ?>

Mais préferer :
Fichier event.js :
document.getElementById ('myDiv').onClick = function () {alert ('t\'as cliqué!');}

Fichier styles.css :
#myDiv {text-align: center; padding: 5px}

Fichier Html :

Fichier Php:
<?php
$oTpl = new Template ('fichier.html');
$oTpl->affect ('myDiv', $sMessage);
?>

Et là, tu offre à ton code un pérénité, une réutilisabilité, une structuration, ... avancée ! :)
Utilisateur anonyme
23 oct. 2008 à 21:41
Salut, le sujet est super intéressant et passionnant. Pas mal de remarques sur le code et la structure mais ça serais rabâcher toujours la même chose.

Une seule question, en terme de fonctionnel pourquoi avoir refait un CMS plutôt que d'utiliser un joomla ou autre, et implémenter un module si besoin de le personnifier.

As-tu apporté un souffle nouveau et si oui en quoi ?
Rejoignez-nous