Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2887 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Conseils analyse et conception d'un CMS

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Conseils analyse et conception d'un CMS

n°2160536
tompouss
Petit chat
Posté le 18-10-2012 à 00:39:39  profilanswer
 

Bonjour,
 
je suis en pleine analyse de mon futur CMS, développé dans le cadre de mon TFE (j'ai presque 1 an pour le faire).
 
pour info il sera fait avec CakePHP2
 
mais j'avoue être perdu avec UML (qui n'est pas une mince affaire quand on débute)
j'ai donc commencé avec un ami (qui a plus d'expérience que moi)
 
première question:
 
j'hésite à faire des uses cases (il me dit que ca n'a pas vraiment d'interêt dans mon cas)
 
Il m'a parlé de diagrammes de séquences... est-ce obligatoire? Ca m'a l'air tellement abstrait (et chiant)  :whistle:  
 
 
ensuite il m'a parlé d'aggrégation, de composition et d'association
 
j'ai tjs pas compris la différence: de nouveau c'est très abstrait pour moi
 
Enfin, j'ai du mal à définir les fonctionnalités de mon CMS:  
le plus compliqué à mon avis sera la gestion des thèmes et des menus
sont-ce des fonctionnalités difficile à mettre en place pour un débutant ?
 
Niveau technique DB, il me conseille d'utiliser Doctrine  
Ca m'a l'air sympa mais c'est encore un concept abstrait et compliqué à comprendre alors que je suis débutant
Vous en pensez quoi?
 
Merci pour vos réponses et n'hésitez pas à me donner plein de conseils, je  souhaiterais commencer sur de bonnes bases (et j'avoue ca me stresse à fond ;-)


Message édité par tompouss le 18-10-2012 à 01:04:14

---------------
collectionneur de pâtes thermiques
mood
Publicité
Posté le 18-10-2012 à 00:39:39  profilanswer
 

n°2160621
rufo
Pas me confondre avec Lycos!
Posté le 18-10-2012 à 12:05:01  profilanswer
 

Je cherchais à voir ton niveau d'étude en info, d'après ton profil, du prend des cours du soir pour passer ton bac en informatique, c'est bien ça.
 
Parce que manifestement, ton niveau de connaissance me paraît bien léger pour t'attaquer à la conception d'un CMS, surtout quand on voit ce que sait faire un CMS aujourd'hui (ex : Joomla, Drupal, Spip...). Tu ne sembles pas connaître UML (ou une autre méthode de modélisation comme OMT, Merise...), ce qui va être très problématique pour modéliser l'architecture de ton CMS (classes des objets et la base de données). Une BD mal modélisée, c'est un outil qui marchera pas, tu peux en être sûr.
 
La prise en mains de framework (vue que t'es parti sur PHP, y'a zend, Symfony, CakePHP...), c'est bien, mais ça demande de l'investissement et en général, avoir déjà coté des applis sans avant pour être capable de bien les utiliser et en voir l'intérêt (entre autre, la mise en oeuvre du MVC).
 
Concernant Doctrine, pareil, faut déjà savoir modéliser une BD. Sinon, tu vas vite te retrouver bloquer par Doctrine qui ne te permettra pas de requêter comme tu veux, du fait d'une mauvaise modélisation. Quand tu n'utilises pas ce genre d'ORM, tu peux t'en sortir parfois en mixant du SQL + du code PHP pour "rattraper le coup".
 
Mais déjà, première question : quel genre de CMS veux-tu faire? Un CMS comme :
- SPIP, Joomla, Drupal (pour faire des sites type revue ou institutionnel, ou vitrine)...
- un blog (dotclear, Wordpress)
- un wiki (mediawiki, dokuwiki)
- un e-commerce (magento, prestashop...)
 
Parce que les fonctionnalités ne sont pas du tout les mêmes (surtout pour du e-commerce), et la nature des données à gérer différent beaucoup également, donc le MCD de ta BD sera très différent.
 
Concrètement, de quel bagage informatique disposes-tu (qu'as-tu appris qui va te servir)? POO, méthodes de modélisation, bases de données...?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2160688
tompouss
Petit chat
Posté le 18-10-2012 à 18:58:29  profilanswer
 

je suis sensé faire ce TFE finger in the noose (ou presque)
 vu ma formation est orientée analyse / programmation
 
le problème c'est que je ne pratique pas bcp (et surtout jamais sur des projets conséquents) et que je ne suis pas développeur au boulot
 
j'ai eu des cours d'analyse Merise mais c'est tout
autant dire que je dois réapprendre à faire des analyses
je suis donc entrain d'étudier UML et autant dire que c'est pas ma tasse de thé (c'est très abstrait)
 
Niveau programmation, j'ai du apprendre l'OO tout seul en gros (jai eu des cours d'OO à l'école mais limite anecdotiques) et je commence à bien comprendre les principes de bases (encapsulation, héritage, polymorphisme)
ainsi que les techniques plus avancées (classes abstraites, interfaces, etc.)
 
en DB je connais un peu PDO (déjà utilisé) mais sans plus
 
Donc disons que je ne suis pas un débutant total (je capte les principes de l'OO) mais  je manque donc à priori  juste cruellement de pratique (même si je fais du C# que j'ai déjà utilisé CakePHP en stage ...pendant 3 mois)
 
 
Pour les fonctionnalités de mon CMS,  
je vais commencer par le basique:
 
frontend: news, articles, commentaires, et authentification
backend: authenfication, gestion news, articles, menu et thèmes je pense
 
si déjà j'arrive à faire ca se sera pas mal (même si c'est pas très compliqué à priori)


Message édité par tompouss le 18-10-2012 à 19:01:26
n°2160702
rufo
Pas me confondre avec Lycos!
Posté le 18-10-2012 à 21:11:33  profilanswer
 

Donc tu pars sur un CMS type SPIP/Joomla.
 
Pour info, en informatique, ce qui compte avant tout, c'est la capacité à modéliser un pb puis à trouver une solution satisfaisante. Pas connaître UML/Merise... et avoir de très faibles notions en POO, c'est mal barré :/
 
Par ailleurs, connaître PDO, c'est pas faire de la BD. Moi, je parlais bien de modéliser une BD (construire un MCD en respectant la forme 3NF de Codd). Bien entendu, après, savoir la requêter, c'est important aussi.
 
Par rapport aux questions que tu posais dans ton 1er post, je pense qu'elles sont un peu prématurées et t'as plus urgent à gérer que de savoir quel framework utiliser. Va te falloir acquérir les compétences théoriques sur tout ce qui touche à la modélisation, l'algorithmie, les design pattern... bref, la conception. Pisser du code, tout le monde (ou presque) peut le faire (certes, plus ou moins bien). Mais savoir modéliser une appli, là, y'a moins de monde. Mais c'est pourtant le travail le plus intéressant d'un point de vue intellectuelle, je pense personnellement. Une appli qui est bien conçue sur le papier, bien spécifiée, ça se code tranquille.
 
En contexte pro, on a coutume de dire que faire les spécs et la conception, c'est 30% à 40% du boulot de fait. ;) Le codage représente 20% d'un projet en général...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2161436
tompouss
Petit chat
Posté le 25-10-2012 à 21:59:24  profilanswer
 

Ok merci pour ces précisions rufo
 
Ceci dit j'ai bien conscience de ne pas avoir le niveau pour être développeur (et encore moins analyste) et je ne compte pas le devenir même si mes études vont en ce sens
 
Ceci dit j'ai vraiment besoin d'aide pour mon analyse UML
Je cherche surtout à comprendre la différence entre diagramme de séquence et et use case (c'est très flou pour moi, même si j'ai déjà lu des bouquins la dessus)
 


---------------
collectionneur de pâtes thermiques
n°2161446
cvb
Posté le 26-10-2012 à 06:38:31  profilanswer
 

tompouss a écrit :

Ok merci pour ces précisions rufo
 
Ceci dit j'ai bien conscience de ne pas avoir le niveau pour être développeur (et encore moins analyste) et je ne compte pas le devenir même si mes études vont en ce sens
 
Ceci dit j'ai vraiment besoin d'aide pour mon analyse UML
Je cherche surtout à comprendre la différence entre diagramme de séquence et et use case (c'est très flou pour moi, même si j'ai déjà lu des bouquins la dessus)
 


 
Pourquoi tu fais ça alors ?  :heink:  
Ca m'échappe toujours ce genre de chose... :ange:  
 
 
Pour l'UML ce n'est pas les sîtes qui manquent...
 
- http://uml.free.fr/
- https://www.google.fr/#hl=fr&safe=o [...] 80&bih=703
 
Je ne vais pas redire ce que dis Rufo.  
Si tu veux pas galérer, commence par des choses simples...

n°2161500
rufo
Pas me confondre avec Lycos!
Posté le 26-10-2012 à 12:11:36  profilanswer
 

tompouss a écrit :

Ok merci pour ces précisions rufo
 
Ceci dit j'ai bien conscience de ne pas avoir le niveau pour être développeur (et encore moins analyste) et je ne compte pas le devenir même si mes études vont en ce sens
 
Ceci dit j'ai vraiment besoin d'aide pour mon analyse UML
Je cherche surtout à comprendre la différence entre diagramme de séquence et et use case (c'est très flou pour moi, même si j'ai déjà lu des bouquins la dessus)
 


Y'a un truc qui m'échappe. Faire un CMS, comme je te l'ai dit, c'est pas facile du tout, surtout si on veut en faire un au niveau de ce qui se fait actuellement. Si j'ai bien compris, tu fais un cursus en informatique. T'as donc eu des cours dans la ou les années précédentes pour acquérir les connaissances nécessaires à la réalisation de ton projet de fin d'étude.
 
D'où ma question : si tu veux pas bosser dans l'informatique plus tard, que fais-tu dans ce cursus et surtout, si t'arrives pas à avoir une bonne note à ton projet, qu'est-ce que ça peut faire :??: C'est pas pour juger, c'est juste pour comprendre dans quelle logique tu es. Parce qu'en gros, je tiens pas particulièrement à aider qq'un qui, pendant 1 ou plusieurs années, est resté dans le fond de la classe à glander en disant que de toute manière, il ne comprenait rien...et se réveille seulement aujourd'hui en se rendant compte qu'en fait, il aurait peut-être dû bosser avant certaines matières... :/
 
En tout cas, c'est pas sur un forum que tu vas pouvoir récupérer 1 ou plusieurs années de cours. Nous, on peut te donner des liens sur de cours (UML ou autre), mais on pourra pas te les faire appendre au mieux, t'expliquer un point ou 2 que tu aurais du mal à comprendre. Pareil pour le reste, on pourra te donner des conseils ou ds propositions mais uniquement à partir d'un travail que tu auras fait avant et que tu posteras ici.


Message édité par rufo le 26-10-2012 à 12:13:36

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2161529
tompouss
Petit chat
Posté le 26-10-2012 à 14:47:13  profilanswer
 

Heu je travaille déjà dans l'informatique, mais dans le support technique, gestion d'infra reseau etc...
 
j'ai choisi cette voie car programmer 8 heures par jour ne m'intéresse pas(c'est aussi un probleme de concentration)
Avec le recul, je me dis que j'aurais du prendre une orientation systeme et réseau mais bon ce qui est fait est fait
 
Attention, je ne dis pas que la programmation ne m'intéresse pas (la effectivement il y aurait un probleme), mais je préfère l'aspect technique.
 
Ne voyez pas de fainéantise de ma part, mais juste un mauvais choix d'orientation


Message édité par tompouss le 26-10-2012 à 16:02:39
n°2161540
rufo
Pas me confondre avec Lycos!
Posté le 26-10-2012 à 15:14:09  profilanswer
 

J'y vois plus clair. Cela dit, cf mon précédent post : on pourra pas te faire apprendre les trucs que t'as pas compris. Va sur les sites proposés ou trouves en d'autres et reviens avec des questions plus précise voire, pourquoi pas, avec un premier MCD ou des schémas en UML. On sera mieux en mesure de t'aider.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2161711
pop-pan
yay!
Posté le 28-10-2012 à 13:11:43  profilanswer
 

avec le recul, change tout de suite de voie.
 
encore plus si c'est une formation payante.
 
quitte a perdre 1 année, perd la maintenant plutot que de te retrouver bloqué par la suite (ou alors demande a changer de spécialisation si tu vient de quitter le tronc commun)
 
sinon juste pour info, en SR on code aussi, on a besoin d'un bon bagage technique et on a besoin de savoir se concentrer (c'est meme un pre requis dans tous les domaines ayant trait a l'informatique, surtout la gestion de projets)
 
en SR tu va aussi t'en tapper des diagrammes de sequence et des modelisations de graphes donc autant faire rapidement la part des choses.


---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
mood
Publicité
Posté le 28-10-2012 à 13:11:43  profilanswer
 

n°2161713
CyberDenix
Posté le 28-10-2012 à 13:14:36  profilanswer
 

Hello,
 
Dans UML, pour être honnête, j'utilise le diagramme de classes pour la BD (90%) et le diagramme de cas d'utilisation quand je veux modéliser les interactions au service (5%) et diagramme d'activité quant je veux faire de l'algorithmie façon UML (5%). Le reste c'est quasiment hors propos, sauf si tu as du temps à perdre en modélisation.
 
Les use case et activity diagrams servent essentiellement à trouver des redondances et des prérequis dans tes processus (genre le user doit être connecté avec tels droits avant d'effectuer telle ou telle chose). Ça peut vaguement être utile pour factoriser, si tu n'a pas les idées claires. Quand on comprend pas, faut faire un dessin.
 
Pour l'ORM, tu peux facilement en bricoler un avec la classe Reflection (voir la doc). En gros tu instancies une nouvelle classe Reflection en lui donnant une string qui représente le nom d'un objet O (que tu peux récupérer avec get_class($this) quand tu es dans O), et ensuite, tu peux découvrir ton objet en itérant sur ses propriétés. Avec ces données, rien de plus facile que de générer un CREATE TABLE.


Message édité par CyberDenix le 28-10-2012 à 13:27:43

---------------
Directeur Technique (CTO)
n°2162573
tompouss
Petit chat
Posté le 05-11-2012 à 15:58:50  profilanswer
 

Hello
 
d'abord merci pour tous vos conseils
 
j'ai avancé dans mon projet, j'ai fait le MCD de mon CMS.
En tout cas ca y ressemble, même si c'est pas fait dans le règles de l'art (ca ressemble trop à un MLD)
 
http://img853.imageshack.us/img853/4679/mcdkj.jpg
 
 
Merci de me dire ce que vous en pensez
 
 
 
Par contre j'ai fait ca avec une démo de Power designer qui est en version démo 15 jours (et qui coute la peau des fesses)  :whistle:  
 
Si quelqu'un connait un logiciel gratuit ou avec une période d'essai plus longue  
et qui permet de faire du merise fastoche je prends (j'ai essayé DIA mais pas de diagramme Merise)
j'ai testé windesign mais pas convaincu


Message édité par tompouss le 05-11-2012 à 16:14:15

---------------
collectionneur de pâtes thermiques
n°2162644
rufo
Pas me confondre avec Lycos!
Posté le 06-11-2012 à 09:35:42  profilanswer
 

Pour faire mes MCD, j'utilise Visio. Ca me suffit...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2181031
tompouss
Petit chat
Posté le 17-03-2013 à 23:16:51  profilanswer
 

Salut
Je reviens avec mon CMS après quelques mois de recherches
 
J'ai refait mon MCD, il est correct selon le prof
 
http://tof.canardpc.com/preview/cfd5de76-5c18-4560-81e5-8dbc95ad91c1.jpg
 
Des choses à revoir d'après vous ?
 
merci


Message édité par tompouss le 17-03-2013 à 23:17:05

---------------
collectionneur de pâtes thermiques
n°2181046
rufo
Pas me confondre avec Lycos!
Posté le 18-03-2013 à 09:42:26  profilanswer
 

Qq remarques :
Tu pourrais fusionner les tables stylesheets, banners et media et utiliser la table multimedia types pour différencier les enregistrements (type "css", "banner", "video", "audio"...).
 
Dans la table "article", champ published, utiliser plutôt un type datetime plutôt qu'un booléen. NULL -> pas publié, date et heure -> tu sais quand il a été publié ce qui permettra d'implémenter des fonctions liées au moment où l'article a été publié (par ex, pouvoir faire une publication différée).
 
Table "users", les champs nickename et password sont trop longs (255 caractères !).
 
Table "categories" : faire une relation qui boucle dessus de manière à pouvoir implémenter une arborescence de catégories. Pour la classification, ça sera bien plus pratique. ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2181047
rufo
Pas me confondre avec Lycos!
Posté le 18-03-2013 à 09:42:57  profilanswer
 

Par contre, j'ai pas compris la table "balises" :??: Elle est liée à rien en plus...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2181159
tompouss
Petit chat
Posté le 19-03-2013 à 00:17:29  profilanswer
 

balises, c'est pour pouvoir modifier facilement le titre du site (H1)
et <footer>
 
au lieu d'editer le HTML
C'est plus propre et plus secure je trouve
 
Mais je me trompe p-e


---------------
collectionneur de pâtes thermiques
n°2181177
rufo
Pas me confondre avec Lycos!
Posté le 19-03-2013 à 08:51:09  profilanswer
 

peut-être alors nommer la table avec un truc du genre "templates" ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2181294
scull
MySCULL cay bon mangez en!
Posté le 19-03-2013 à 19:21:17  profilanswer
 

J'ai suivis en diagonal ton topic et d'aprés moi, il y a beaucoup d'approximations...
Rapidement, tu utilises 3 tables pour gérer des "templates" et cela ne semble pas trés puissant...  
Pour ta gestion des catégories, cela semble bon, mais le simple fait de rajouter un champs "categorie parent id" à ta table "Catégorie" rendra ton système bcp plus puissant.
En parlant du contenu, ne trouves tu pas que tes tables article et news sont trés similaires ? Une news n'aurai pas droit à un résumé ? D'ailleurs j'aurai plutot imaginer les médias rattachés à des contenu plutôt qu'à une catégorie, mais rien de bien choquant ici.
Pour tes utilisateurs, un petit boolean pour savoir si l'utilisateur à valider son mail (pour éviter les robots spameurs, aujourd'hui c'est obligatoire sous risque de crouler sous le spam).
 
D'ailleurs je pense que tu va rencontrer des soucis avec ta gestion des droits (ta table "role" ). Idem pour ta table "module" : tu stockes des booleans :s
 
Bref, quelques petits ajustements à prévoir. Avant de te lancer dans le dev, définis bien la structure de tes fichiers: comment facilement ajouter un template, comment les assets d'un template n'écraseront pas ceux d'un autre template ? comment ajouter un module facilement ? Comment prévoir qu'un module modifie (en partie) le fonctionnement d'un module existant ou natif ?
 
Commence à installer un wordpress et un joomla pour bien t'imprégner de leur facon de faire. Et bon dev, c'est un super projet ;)

n°2181488
tompouss
Petit chat
Posté le 20-03-2013 à 23:39:30  profilanswer
 

Merci pour vos réponses :)
pour les templates, il faudrait que je réfléchisse à comment mieux les implémenter: à la base le but était juste de pouvoir changer de bannière, de H1 et le texte du footer à la volée  
et pas vraiment de faire une gestion de template plus complète (ca ne m'intéresse pas vraiment, et le temps me manque)
 
pour le contenu effectivement les table articles et news sont très similaires. Mais le fait que ce soit 2 tables distinctes est justifié par le fait que la table news est considérée comme un module désactivable
Une propriété que Articles n'a pas
j'ai donc cherché à accentuer cette différence en rajoutant des champs dans articles
 
Les medias sont effectivmeent reliés à articles et news et pas à catégories, erreur de manip de ma part...
 
Pour le spam, je pensais mettre des capcha avant enregistrement de commentaires pour les éviter justement
 
Tu pourrais préciser les problemes que je pourrais avoir avec la gestion des droits ?


Message édité par tompouss le 21-03-2013 à 00:01:14

---------------
collectionneur de pâtes thermiques
n°2181509
rufo
Pas me confondre avec Lycos!
Posté le 21-03-2013 à 10:01:34  profilanswer
 

Tu peux faire une table Article liée à une table type article dans laquelle tu trouveras des valeurs du genre "article" ou "news". Tu pourras ainsi conserver la possibilité d'avoir un comportement différent suivant le type d'article...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2181614
tompouss
Petit chat
Posté le 21-03-2013 à 16:52:33  profilanswer
 

J'avais déjà testé le modèle avec une Table Post + type poste qui définissait article ou news
 
mais comme j'avais eu l'aval du prof pour les 2 tables distinctes (Articles et news) je suis revenu la dessus.
Au boulot on m'a conseillé de faire 2 tables distinctes aussi
quels seraient les avantages de faire une table commune ?


Message édité par tompouss le 21-03-2013 à 16:53:44
n°2181621
rufo
Pas me confondre avec Lycos!
Posté le 21-03-2013 à 17:19:22  profilanswer
 

Une table commune + une table définissant le type d'article, c'est plus souple puisque pour prendre en compte un nouveau type d'article ou pour définir des règles de gestion différentes pour un type, y'a qu'à ajouter un type d'article dans al table "type article". Pas de code à ajouter ;)
 
Si tu fais une table par type d'article, pour en prendre un nouveau en compte, faut créer une nouvelle table et le code pour la prendre en compte. => moins souple.
 
Edit : si y'en a qui la ramène au sujet qu'une table, avec beaucoup d'articles, ça va faire baisser les perfs, tu leurs parles du partitionnement de MySQL (1 table logique mais x tables physiques, par ex, tu peux partitionner sur le champ TypeArticleID de la table "Article" justement => 1 table physique par type d'article).


Message édité par rufo le 21-03-2013 à 17:21:27

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2181623
tompouss
Petit chat
Posté le 21-03-2013 à 17:38:33  profilanswer
 

Ok mais dans le cas où les tables seraient fusionnées
comment je fais pour marquer leur différences?
 
en plus à priori, il n'y aura pas de nouveau type d'article


---------------
collectionneur de pâtes thermiques
n°2181713
rufo
Pas me confondre avec Lycos!
Posté le 22-03-2013 à 10:12:22  profilanswer
 

Je viens de te le dire, tu fais une table "type article" qui va contenir les types d'articles donc "article, "news"... et dans la table "Article, t'auras une clé étrangère pointant sur la table "type article".


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2181816
tompouss
Petit chat
Posté le 22-03-2013 à 14:44:04  profilanswer
 

Je m'explique mal: si je suis ta solution,  les champs doivent être identiques pour tous les types articles non ?
 
Ou alors je comprends mal le principe


Message édité par tompouss le 22-03-2013 à 14:45:06
n°2182178
rufo
Pas me confondre avec Lycos!
Posté le 25-03-2013 à 11:47:52  profilanswer
 

Oui, les champs seront les mêmes. Cependant, par logiciel, tu peux masquer/afficher certains champs suivant le type d'article.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2185490
tompouss
Petit chat
Posté le 12-04-2013 à 01:36:46  profilanswer
 

Serais-ce une mauvaise idée d'utiliser un type enum pour le type de poste
et donc l'intégrer à la table posts ?
 
ca m'a l'air pas mal dans mon cas et ca me simplifierait la vie pour les requets sql (jointures en moins à faire)


Message édité par tompouss le 12-04-2013 à 01:40:05
n°2185596
rufo
Pas me confondre avec Lycos!
Posté le 12-04-2013 à 13:22:55  profilanswer
 

Oui, tu peux.
Perso, je stocke plutôt un unsigned TINYINT (0->255) dont le libellé correspondant à l'entier est dans une variable de conf de mon appli. Comme ça, pas de pour le multi-langue puisqu'en base, j'ai qu'un entier, son interprétation est ailleurs. Alors qu'avec un enum, tu auras un pb en cas de multi-langue ;)...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2186944
toufikbenl​haj
bjr
Posté le 22-04-2013 à 13:17:48  profilanswer
 

svp tompouss je suis technicien en informatique. j'ais un pfe sous thème la conception d'un cms si vous pouvez m'aider en voi moi ton rapport sur ta conception d'un cms et mercis d'avance. mon email :     toufikbenlhaj113@gmail.com

n°2187324
rufo
Pas me confondre avec Lycos!
Posté le 24-04-2013 à 10:12:48  profilanswer
 

Tu devrais pas laisser ton mail en clair sur un forum, tu vas te faire spammer :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2187463
tompouss
Petit chat
Posté le 24-04-2013 à 20:14:40  profilanswer
 

nouvelle contrainte: je voudrais gérer des pages statiques
en utilisant la table Posts
 
le problème c'est que dans ce cas je dois absolument lier la page à une catégorie ce que je trouve un peu absurde (ca n'a aucun intéret)
Pas moyen de mettre la clé étrangère category_id de ma table Posts à NULL évidemment puisque ca viole le principe de clé étrangère
 
Du coup je vais devoir gérer les pages statiques sur une nouvelle table dédiée je pense
 
d'autres solutions?
 
 
Pour info, voici mon MLD (fais avec Workbench)
 
http://tof.canardpc.com/preview2/95e22cfa-e603-4be3-b963-3aeead3b66cb.jpg


Message édité par tompouss le 24-04-2013 à 20:34:33

---------------
collectionneur de pâtes thermiques
n°2187503
rufo
Pas me confondre avec Lycos!
Posté le 25-04-2013 à 10:08:19  profilanswer
 

Une clé étrangère peut valoir NULL dans le cas d'une relation 0,1.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2187573
tompouss
Petit chat
Posté le 25-04-2013 à 16:24:26  profilanswer
 

Ok donc je dois créer une nouvelle table pour les pages statiques
 
 
 
[Update]
Ya moyen de faire autrement :
 
 
http://www.developpez.net/forums/d [...] le-resolu/
 
je vais voir pour modifier la cardinalité dans phpmy admin


Message édité par tompouss le 25-04-2013 à 16:28:40
n°2190033
tompouss
Petit chat
Posté le 14-05-2013 à 01:25:46  profilanswer
 

Bonsoir,
 
J'avance et j'ai de nouveau des questions  :D  
 
Mon nouveau MLD
 
http://tof.canardpc.com/preview/f56b6787-ea0d-4375-ab3b-c8079a961a34.jpg
 
Je me demandais comment utiliser
1. les index => mon prof me dit d'en mettre un sur toutes les clés étrangères mais je ne vois pas trop l'intéret pour des clés qui pointent vers des tables qui contiendront peu d'enregistrement (typiquement GROUPS).  
Ou alors j'ai peut etre mal compris le principe des index.
 
2.les contraintes d'unicités (interdire les entrées dupliquées):
 
j'ai activé le unique index pour le nom des groupes, le nom des users et les noms des posts.(La ca me semble évident)
je me demandais si je devais en mettre aussi sur des champs comme media_type, category_name ?
Pour la gestion des doublons, apparemment il y a 2 méthodes: soit faire des tests avec PHP (mais j'imagine qu'il faut faire des tests avec requetes SQL), soit utiliser la close CHECK de MYSQL.
J'imagine que le plus rapide en terme de vitesse d'execution est de le faire via MYSQL, et que c'est aussi plus propre.
Dans un autre forum, ils parlaient aussi de l'utilisation de Triggers
http://www.developpez.net/forums/d [...] es-resolu/
Ca pourrait-etre utile dans mon cas?
 
merci pour vos conseils


Message édité par tompouss le 14-05-2013 à 01:27:42

---------------
collectionneur de pâtes thermiques
n°2190057
rufo
Pas me confondre avec Lycos!
Posté le 14-05-2013 à 09:38:37  profilanswer
 

Les index accélèrent les recherches. Quand tu vas faire une requête impliquant 2 tables, une grosse et une petite, tu seras bien content d'avoir un index sur la clé étrangère dans la grosse table pour que la requête mette pas 3 plombes trouver les correspondances entres les 2 tables.
 
Pour les unicités, un index de type UNIQUE est pratique pour des choses "simples". Mais quand l'unicité d'une enregistrement dépend de plusieurs champs, faire la vérif avec PHP a du sens surtout quand ça implique des chaînes de caractères où une simple comparaison binaire ne suffit pas (ex : pas tenir compte d'espaces en trop, d'accès, de la casse...).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2200364
tompouss
Petit chat
Posté le 20-08-2013 à 11:55:30  profilanswer
 

Salut !
 
Mon CMS est en ligne :)
 
 
Du coup j'aurais besoin de vous pour tester la sécurité
 
adresse du site en mp
 
J'ai fait des uses cases mais c'est plus pour la forme qu'autre chose
 
http://tof.canardpc.com/preview/aac26444-d39c-4fb4-a212-b1e8a5dca084.jpg

Message cité 1 fois
Message édité par tompouss le 20-08-2013 à 11:57:37

---------------
collectionneur de pâtes thermiques
n°2200382
Euuuhhh
Posté le 20-08-2013 à 14:50:53  profilanswer
 

tompouss a écrit :

Salut !
 
Mon CMS est en ligne :)
 
 
Du coup j'aurais besoin de vous pour tester la sécurité
 
adresse du site en mp
 
J'ai fait des uses cases mais c'est plus pour la forme qu'autre chose
 
http://tof.canardpc.com/preview/aa [...] dca084.jpg


Jusqu'à quel point on peut la tester ?  :o

n°2200384
tompouss
Petit chat
Posté le 20-08-2013 à 15:00:19  profilanswer
 

Attaques non destructives.
 
Pas d'attaques DoS
 
Injection SQL, Javascript etc..
 
Des tests basiques et classiques quoi


Message édité par tompouss le 20-08-2013 à 15:05:29

---------------
collectionneur de pâtes thermiques
n°2201127
rufo
Pas me confondre avec Lycos!
Posté le 29-08-2013 à 13:46:19  profilanswer
 

Il me semble qu'il existe une distrib Linux qui permet de tester les failles de sécurité d'appli web...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Conseils analyse et conception d'un CMS

 

Sujets relatifs
Point Relais sans CMSCms ecommerce et articles avec différents stocks
CMS pour free.frConseils sur systèmes d'historique des modifications
CMS UPSILON aideQuel CMS sur free pages perso ?
conseilsune idée du CMS utilisé par ce site?
Mon site web en AJAX, aide & conseils.[slider jquery dans CMS]
Plus de sujets relatifs à : Conseils analyse et conception d'un CMS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR