Bien concevoir un projet .........

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Bien concevoir un projet .........

par Cyrano » 19 mai 2008, 08:20

Je vous pris de revenir sur le sujet.
Ce n'est pas un enieme post à debat sur les cms vs les framework etc !!

Les questions ont été clairement enoncées je penses pour éviter les hors sujet.
Je n'ai pas le sentiment qu'on s'éloigne tant que ça du sujet de base.

En revanche il y a peut-être une étape qui a été un peu trop rapidement passée. En arriver en effet à choisir si on utilisera tel ou tel Framework, tel ou tel CMS ou si on codera tout soi-même, ça sous-entend que l'analyse préliminaire a déjà été faite et qu'on sait assez précisément quels sont les besoins pour l'application projetée : partant de là, on peut explorer si certains outils libres et disponibles peuvent ou non combler ces besoins, sont relativement aisément utilisables ou s'ils imposent un minimum de connaissances/documentations et surtout si à long terme leur utilisation ne posera pas de problèmes sur la maintenance et/ou l'évolution de l'application. :-k

par dunbar » 18 mai 2008, 21:52

Je vous pris de revenir sur le sujet.
Ce n'est pas un enieme post à debat sur les cms vs les framework etc !!

Les questions ont été clairement enoncées je penses pour éviter les hors sujet.
:wink: Merci

par SAEVEAS » 18 mai 2008, 19:58

Je vous pris de revenir sur le sujet.
Ce n'est pas un enieme post à debat sur les cms vs les framework etc !!

Les questions ont été clairement enoncées je penses pour éviter les hors sujet.

par Hywan » 18 mai 2008, 17:48

Pour ma part, je préfère concevoir l'outil que l'utiliser. Donc c'est encore un autre point de vue.

par pascaltje » 18 mai 2008, 17:26

- C'est pas moi qui l'ai fait : ça vous ne le dites pas, mais avouez que c'est ce qui vous chiffone le plus. Devoir vous rabaisser au rang d'installateur/configurateur/utilisateur au lieu de faire votre beau métier de développeur. Devoir apprendre comment fonctionne l'outil d'un autre, ne pas être le roi en son royaume tout ça... C'est dur, très dur, et je pense que c'est l'obstacle principal.
lu sur un autre forum, je parle d'utiliser symfony pour faire des sites, j'argumente, voici une réponse :
pour ma part je suis pas adept des outils prefabriques... j'ai besoin de sentir sur chaque ligne que c'est moi qui ai bossé
bon apres c'est ptete quelquechose qui va me passer
no comment ...

A+

Pascal

par naholyr » 17 mai 2008, 13:47

En même temps un CMS est généralement modulaire... Un client arrive avec une demande, tu réponds déjà à son besoin de gestion de contenu avec le CMS adapté, tu réponds ensuite à une bonne part (variable) de ses autres besoins (grands classiques : news, newsletter, gestion d'agenda, flux rss, sondages, enquêtes, forums, statistiques, versionning, gestion d'utilisateurs, traçage des actions du backend, gestion fine des droits, etc...) avec des modules existants, et tu concentres ta valeur ajoutée sur ce qui est vraiment spécifique au client.

Ainsi tu ne perds pas de temps à faire une analyse sur ses besoins en gestion de contenu alors que d'une part lui-même ne connait pas ses besoins (l'usage d'un CMS lui donne alors des habitudes, généralement bonnes), et que d'autre part 90% de ses besoins sont loin d'être spécifiques.

L'idéal étant d'avoir dans une équipe la connaissance de plusieurs CMS, et de choisir le plus adapté selon le cas (Typo3, Joomla, SPIP, Plume, ou autre). Un CMS pré-existant doit avoir les caractéristiques suivantes :
- Modulaire côté frontend et côté backend.
- Tous les modules standard sont déjà disponibles.
- Extensibilité des modules (possibilité de faire un module pour modifier le comportement d'un autre module, afin de pouvoir modifier un module existant sans avoir à trifouiller son code).
- Un framework cohérent pour l'écriture de modules.
- Une communauté active.
- Et bien sûr un coeur qui gère de façon performante l'authentification et le cache.

Oui ça fait une usine à gaz, mais ça permet de faire des sites en une semaine (de codage, je ne compte pas l'analyse qui prendra quasiment le même temps avec ou sans CMS de toute façon, elle aura d'ailleurs pour but de déterminer si on peut utiliser un CMS et lequel) avec des fonctionnalités avancées au lieu de mettre des mois à réinventer la roue et à modifier son «mini CMS maison» pour coller aux besoins du client (et on se retrouve avec 60 versions de son «mini CMS»).


Je préfère travailler avec une seule version d'une usine à gaz que je ne maintiens pas moi-même, que de passer mon temps à maintenir moi-même X branches d'un outil perso.

En général ceux qui n'aiment pas les CMS pré-fabriqués leur reprochent :
- Le code est mal fait : et alors ? ce n'est pas moi qui le maintiens, comme je l'utilise activement je vais essayer d'y contribuer pour améliorer cet état de fait, mais après tout tant qu'il fonctionne bien, qu'il remplit les critères précédents, et qu'il est aisément extensible, peu importe. Le code issu de *ma* prestation sera de qualité car c'est ce que j'aurais vendu et que c'est la partie que je vais maintenir. Le reste je m'en fous, je ne vais pas refuser à mon client de faire tourner son site sur un serveur Windows sous pretexte que le code de l'OS est trop pourri...
- C'est une usine à gaz : c'est vrai, et c'est généralement plutôt vu comme une qualité, vu que ce que beaucoup nomment "usine à gaz" est en réalité une application fortement modulaire, et que je lui préfère de loin ça à une application monolithique.
- C'est pas moi qui l'ai fait : ça vous ne le dites pas, mais avouez que c'est ce qui vous chiffone le plus. Devoir vous rabaisser au rang d'installateur/configurateur/utilisateur au lieu de faire votre beau métier de développeur. Devoir apprendre comment fonctionne l'outil d'un autre, ne pas être le roi en son royaume tout ça... C'est dur, très dur, et je pense que c'est l'obstacle principal.

Moi je préfère utiliser les outils des autres, ça m'évite une bonne part du boulot, et j'aime bien l'idée de n'avoir à me focaliser que sur les éléments vraiment importants, ceux où mon intelligence apporte une vraie valeur ajoutée par rapport au boulot du voisin, et ne pas perdre de temps avec des trucs génériques ;)

Et puis hein, on n'a pas l'air un peu incohérent quand on tanne les gens avec nos «ne réinvente pas la roue !» et qu'on se refuse à utiliser les roues des autres parce qu'on préfère inventer les notres ?

par Hywan » 17 mai 2008, 12:31

Hmm c'est très juste.
n-ème essai de formulation : le CMS ne devrait se résumer qu'à un WYSIWYG performant et une gestion de document avancée. On voit que ça dépend vite de l'architecture de l'application.

On se rend compte aussi à l'usage que chaque application est unique dans le sens où elle se destine pour une personne (ou un groupe de) pour une application/but donnée et précis. Ce qu'on appelle CMS aujourd'hui, essaye d'être complet sur tous les tableaux, problème donc, 80% de inutile etc.

Donc quand je pensais à Symphony, on conçoit une application rapidement (très rapidement même si on en croit les démos), on le fait uniquement pour le but que l'on s'est fixé, donc pas de code inutile. Symphony étant tout de même un bon framework, il est bien conçu, donc performant (dans une certaine mesure, on ne rentre pas dans le débat Sf vs ZF et compagnie …). On a donc moins de code, on cible mieux notre but, on augmente les performances (car aussi moins de code inutile), et il me semble qu'une appli basée et construite sur un framework (ou un ensemble de librairies) est plus facilement modulaire et maintenable.

J'ai bossé sur quelques CMS et je ne voudrais jamais, au grand jamais, réitérer l'opération … C'est du bidouillage en force, tout ce que j'aime …

Donc pour répondre à ouckileou, dans ma tête (c'est le bazar) ce qu'on appelait CMS était ces énormes applications sur-dimensionnées orientées usines à gaz. Si on s'en tient à la définition que j'ai donné au début de ce message, un CMS ne va pas mourir. Tu as raison, j'ai parlé trop vite sans éclaircir mes dires :).

par ouckileou » 17 mai 2008, 12:12

on voit des applications beaucoup plus professionnelles, avec moins de code, pour un meilleur résultat, et tout aussi facile à concevoir.
Lesquelles par exemple ?
Pour ma part, les CMS arrivent au bout de leur vie. Cyrano a tout a fait raison, trop de code et surtout trop de n'importe quoi. Un CMS est rarement très bien codé (d'après mon expérience, j'espère me tromper).
Je trouve cette affirmation un peu légère : si on parle de l'utilité d'un CMS, qui est de gérer du contenu, je ne crois pas que cette demande soit rapidement amenée à disparaître. Après leur conception plus ou moins bonne, c'est à mon avis un autre problème. Tu raisonnes en tant que développeur, et donc comme la personne susceptible d'installer un CMS, pourtant ce sont les utilisateurs (potentiels) qui font la demande, pas toi.

D'ailleurs tu dis bien dans la suite de ton message que tu as des bibliothèques toutes prêtes, des "mini-CMS", tu fais donc du CMS... sauf que tu n'installes pas un déjà existant. Le CMS n'est donc pas en fin de vie :)

par Hywan » 17 mai 2008, 12:05

@HyWaN
Là, comparer un framework comme Symphony directement à un CMS, c'est sûr que tu cherche la guerre :lol: Sinon j'ai connu un autre HyWaN beaucoup plus rigoureux (jusqu'à limite pénible) dans son langage :lol:
En fait je disais que Symphony était plus un CMF qu'un Framework (et donc un CMS) et que les CMS allaient tous crevés car on voit des applications beaucoup plus professionnelles, avec moins de code, pour un meilleur résultat, et tout aussi facile à concevoir.
Et j'ai pas compris quand tu dis que tu connaissais un autre Hywan '^^.

par Cyrano » 17 mai 2008, 07:30

Je vais citer un cas que je connais fort bien et que je ne peux pas citer ici pour des raisons que certains comprendront : j'ai vu le développement d'un gros site professionnel en équipe. La modélisation a été faite à la hache, l'analyse à été en grande partie court-circuitée. Il a fallu pratiquement dès le départ tomber dans le code. Résultat, une application qui devait être livrée à Noël dernier a finalement été mise en production avec 4 mois de retard.

Vouloir se lancer trop vite dans le code sous prétexte "qu'on est un professionnel", ou encore "Qu'avec l'habitude on sait où on s'en va", c'est une erreur. Il ne faut pas confondre vitesse et précipitation.

par AB » 17 mai 2008, 05:19

@Cyrano & HyWaN

Sur le principe, dire que l'analyse fonctionnelle est essentielle, cela va de soit.
Après, le prorata entre le temps passé entre l'analyse fonctionnelle et le temps de codage, ça dépend un peu beaucoup de l'expérience du codeur, non ? Un informaticien qui connait ne connait pas le langage php peut faire une excellente analyse fonctionnelle mais quand il s'agira de coder, ça lui prendra beaucoup plus de temps que dans son premier langage.
Bref ce que je veux dire c'est qu'il faut comprendre vos chiffres dans le cadre d'un développeur professionnel expérimenté sinon cela n'a pas beaucoup de sens :wink:

@HyWaN
Là, comparer un framework comme Symphony directement à un CMS, c'est sûr que tu cherche la guerre :lol: Sinon j'ai connu un autre HyWaN beaucoup plus rigoureux (jusqu'à limite pénible) dans son langage :lol:

par Hywan » 16 mai 2008, 23:50

Hey :),

Pour ma part, les CMS arrivent au bout de leur vie. Cyrano a tout a fait raison, trop de code et surtout trop de n'importe quoi. Un CMS est rarement très bien codé (d'après mon expérience, j'espère me tromper).

Je ne vais pas répéter ce qui a déjà été dit. Je vais me contenter de dire qu'une chose fait fureur en ce moment : les CMF (comprendre Content Management Framework). Un truc un peu à la Symphony quoi (non Damien, ne me tape pas !). On n'est pas dans le framework pur et dur où se tape tout l'assemblage à la main, mais on déjà dans des lignes de commandes qui prépares le terrain, on a des scripts de boutiques tout fait, des mini-CMS intégrés, des gestions de modules tellement simplifiées qu'on a rien à faire ni à écrire etc. Ça a son charme (mais ça ne m'attire pas). Symphony a beaucoup d'atout hein, il ne faut pas s'arrêter à ce que je dis. C'est une de ses nombreuses faces.

Une petite précision à ce qu'a dit Saevas : un MCT est intemporel. C'est un peu le truc super important en fait, car il décrit les actions déclenchées par des événements externes, qui engendrent une opération et un résultat. Merise n'est pas compliqué. Il a son vocabulaire, précis et pensé, et on se rend compte que quand on se laisse guider par la méthodologie Merise — très bêtement, au pas à pas — on aboutit la plupart du temps sur un système performant : la classe.

Mais si tu veux concevoir un outil performant, il te faut des outils performants. Commence donc par attrouper tous les outils dont tu vas avoir besoin. Tu fais ça en objet ou en fonctionnel, c'est comme tu veux, mais fait le bien. Pense surtout modulaire (donc objet en fait …). Si tu veux pouvoir maintenir et faire évoluer ton projet, il faut qu'il soit conçu pour. Pense à ça.

Après, il y a ta façon de travailler qui compte. Convention de nommage, documentation, et tout le toutime ;-).

Et si on compare méthodologie/codage : c'est plus 65/35 chez moi. Je passe de plus en plus de temps avec mon crayon de papier et ma feuille qu'avec mon clavier. Je n'étais pas du tout adepte il y a deux ans, mais je suis accro maintenant. Et le travail n'en est que de meilleure qualité (même si j'ai encore beaucoup, beaucoup, beaucoup de chemin à faire ;-)).

par Cyrano » 16 mai 2008, 23:15

certes l'analyse en soit est plus important que le code en lui même mais une fois mon analyse fait, je n'ais pas fait le plus gros......
Ho que si ! C'est même la raison d'être de l'analyse : on définit tous les éléments soigneusement : quand on en arrive au codage, ça revient à traduire des définitions fonctionnelles dans un langage informatique. Avec un minimum de méthode, ça prend très peu de temps et le 60/40 est largement vrai, certains vont jusqu'à 70/30. Une analyse soigneuse n'est jamais une perte de temps si c'est fait dans les règles de l'art s'entend.

par katagoto » 16 mai 2008, 18:05

Un bon dev c'est 60% d'analyse et 40% de code pas l'inverse !! :lol: :lol:
Je penses plutôt a 50/50, certes concevoir demande de l'analyse, certes l'analyse en soit est plus important que le code en lui même mais une fois mon analyse fait, je n'ais pas fait le plus gros...
Je pense que l'analyse et le code sont équivalent...

par AB » 16 mai 2008, 17:51

Ils ont deja passé l'étape de l'analyse fonctionnelle ^^
Pour ces raisons je fais des CMS sur mesure adaptés au contenu de la page...
Ah bah plus généralement ça veux dire : adaptés aux besoins du client :wink:

Ce que je voulais simplement souligner c'est que je n'oriente pas à priori vers des CMS tout faits. Mais bien entendu si quelqu'un en veut un, ou si c'est le mieux adapté, il sera implémenté.

Maintenant ce n'est pas parce qu'on a une librairie de fonctions qu'on cherche à les placer sans discernement :roll: