-
Coder un CMS
Bonjour,
J'ai à coder un CMS pour un portail de presse.
Je sais ce qu'est un CMS, j'ai même quelques notions en Joomla, mais franchement, pour le coder, je suis un peu perdue...
Je ne sais pas trop par quoi ni où commencer. J'ai fait le tour de la toile pour trouver des documents concernant l'architecture générale d'un CMS, histoire d'avoir une vue d'ensemble concernant l'application, mais en vain.
Quelqu'un saurait-il m'indiquer quelques pistes ?
Merci d'avance pour votre aide.
-
Bonjour,
Cela dépend de la façon dont tu conceptualises les spécifications qui doivent être données. En fait, as-tu un cahier des charges ? Sinon commence à t'interroger sur les besoins, car tu peux tout imaginer sur un CMS.
Tu peux aussi décomposer les fonctionnalités
Exemple :
Création d'un article
modification d'un article
suppression
...
Gestion des droits
...
Gestion des documents
Bref ! T'as pas fini ;)
Olivier
-
Bonjour,
Coder un CMS c'est plutôt ambitieux et coûteux... Il me semble que tu devrais partir de quelque chose d'existant. En Java il y a plusieurs CMS Open Source et gratuits qui seront un bon départ à ton développement. Il suffit ensuite de les enrichir avec tes fonctionnalités spécifiques. L'avantage c'est qu'il vont déjà inclure l'accès à la base de données, les permissions, l'authentification, etc...
Mathieu
-
Merci bien pour vos réponses
@nathieb: Pour le cahier des charges, c'est à moi de le faire et j'ai déjà mes petites idées sur les fonctionnalités que va inclure cette application.
Mon problème majeur est que c'est la première fois que je code une application, alors je ne sais pas trop par où commencer. Pas en terme de code mais en terme de conception.
J'aimerais surtout avoir de plus amples informations concernant l'architecture basique d'un CMS, c'est-à-dire ce que je dois avoir au juste, une BD, une IHM peut-être mais quoi d'autre ? Une sorte de schéma technique serait surement plus parlant ...
@Influenza: je suis bien consciente que ce n'est pas un sujet mince, mais en fait, le but est de tout coder de zéro.
-
contradiction
Bonjour,
Tu en dis un peu plus mais pas assez !
Les étapes je pense que tu les connais :
- besoin
- spécifications générales
- spécifications détaillés
- code
- test
- intégration
...
etc , le baratin standard.
En régle générale, si tu te sens perdu commence les spéc générales et le code en parallèle sur un prototype ( je dis bien un proto) il confirmera tes soupçons (faisabilité, technologie, montée en compétence )
Il faut savoir que sur un projet standard un techno c'est 3 mois de boulot pour être correct ( surtout es frameworks), après l'acquisition dans la conception c'est des années et encore on doute parfois.
Il faut aussi savoir se détacher de la techno.
J'aprécie une méthode pseudo agile, les spec + proto en parallèles, je code les fonctionnalités principales, le détail vient tout aprèsc'est comme finir les finitions dans le cas d'un gros oeuvre en maçonnerie.
Bref un stylo , quelques dessin UML, un pc pour coder , un peu , mais pas trop.
Commence simplement par les grandes fonctionnalités (modules) intéggré dans une authentification avec habilitation
Olivier
-
Donc si je comprends bien, essayer d'avoir une vue d'ensemble de l'application au tout début ne serait pas vraiment la meilleure façon de procéder ? Je comptais faire la conception sur papier via des dessins, avoir une idée générale des différentes composantes de l'application, ainsi que la manière dont elles seront reliées entre elles. Autrement dit, avoir une vue d'ensemble avant que je me mette à coder.
Mais là vous me dite qu'il serait mieux que je commence par exemple par créer un template (comment je désire que mes pages web soient) puis peut-être une BD adéquate à mes besoins et ainsi de suite, et je verrai les différentes pièces de l'application se former au fur et à mesure ?!
-
Bonjour,
Non tu n'as pas compris.
Tu fais une spécification générale indépendante de la partie technique, on se pose pas de questions sur l'architecture.
Puis quand tu passes au spécifications détaillées, tu peux déjà avoir une idée de l'architecture des composants à mettre en œuvre.
Même moi je sais que tu vas avoir besoin d'une base de données, mais tu aurais pu tout faire en version fichier txt ou xml, c'est à toi de choisir. Cela dépend souvent aussi de ton environnement. Exemple dans un cadre professionnel, les architectures ne sont pas toujours libres mais imposées.
Et ne me fais pas dire ce que je ne dis pas. Dans le cadre d'un développement standard type universitaire, effectivement on fait les spécifications générales et les spécifications de façon indépendantes de la réalité technique.
Le prototype t'aide simplement à te fixer les idées, devant une page blanche, comme du Scrum ou XP. Tu reviens sur ton œuvre en cours d'élaboration.
Il faut aussi prendre de la liberté sur ce qu'on t'apprends, la vie n'est pas un ensemble de chapitres bien orthographiés ou contraires ;)
Olivier