#1 02-05-2007 01:39:06

Siddartha
Administrateur
Lieu: Paris et #66valley ☼
Date d'inscription: 20-06-2005
Messages: 2988
Site web

Méthode de développement

Une petite question me turlupine depuis quelques temps amis développeurs big_smile

Avez vous des méthodos de dev spécifiques ?

Ce que je veux dire, c'est quand vous vous attaquez à un projet, vous le réfléchissez de quelle manière ?

BackOffice, je suppose en premier donc toute la partie coding only, mais même là, vous commencez par quoi ? Les objets, classes, fonctions globales, la page index de votre appli, une fonctionnalité précise ?

De manière générale, n'ayant recu aucune formation de développeur, existe il des méthodos de travail concernant le dev permettant de travailler de manière rapide et efficace ?
Je ne parle pas de système de versionning de fichier quand on bosse à plusieurs, ca je connais, mais plutôt vraiment de l'aspect purement technique de reflexion lors des premieres lignes de codes et celles qui suivent.

Hors ligne

 

#2 02-05-2007 08:34:20

Malaiac
Survivors
Lieu: Naoned / Frehel
Date d'inscription: 15-06-2006
Messages: 1323
Site web

Re: Méthode de développement

mwa, je travaille en programmation spontanée.

big_smile

(/mode relancer le troll qui s'étend sur 21 pages de developpez.net)


Pour l'instant, je n'ai abordé que des projets qui étaient au dessus de mon niveau (je veux dire, mis à part des hacks ou des refontes de CMS existants) : donc la méthodo, c'est plutot : "tiens, comment on pourrait faire ca ?"

Sur la v3 de zewol, je travaille plus propre : deja j'aborde sérieusement la POO, je commence à me construire quelques classes, et puis j'ai modélisé la base avant de la remplir (parait que c mieux big_smile).
Mais j'essaie, dans la mesure ou je developpe seul, de pas trop théoriser, plutot de faire des schemas sur les flux, de détecter les points ou ca va bloquer, etc.


One Content to rule them all, One Engine to find them,
One Link to bring them all, And in the darkness bind them.

Hors ligne

 

#3 02-05-2007 09:21:32

MagicYoyo
Tagglers
Lieu: Montpellier
Date d'inscription: 04-01-2006
Messages: 2212
Site web

Re: Méthode de développement

Quand je bossais en agence, le séquencage était non-linéaire, mais ressemblait plutôt à :
1. conception (publics, objectifs, priorités, contenu, fonctionnalités,choix de navigation...)
2. charte graphique front office (puis validatrion client et codage HTML)
3. Ecriture/rassemblement des contenus
4. Dev. des fonctionnalités, avec livraisons par tranches : autant que possible 1 fonctionnalité = 1 cycle court de maquettage, dev, tests unitaires et d'intégration, livraison, corrections.


"La forme, c'est le fond qui remonte à la surface." Victor Hugo

Mon blog sur le webmarketing | Mon job

Hors ligne

 

#4 02-05-2007 10:36:28

fbparis
Survivors
Lieu: Paris
Date d'inscription: 14-07-2006
Messages: 1896
Site web

Re: Méthode de développement

En ce qui me concerne j'ai appris par moi meme donc ca part un peu dans tous les sens smile

On peut dire que ca commence toujours par le stylo et la feuille, je mets tout par ecrit :

1 : Description du projet, pour un site par exemple : les pages, les menus, quel resultat pour quelle action
2 : Je decide ensuite en fonction de ça ce qu'il faut comme backoffice, et donc nouvelle feuille avec la liste des pages en admin et les menus
3 : Je reflechis a ce que je n'ai pas integré au projet mais qui pourrait l'etre a l'avenir eventuellement : typiquement, le multilingue, des plugins, la possibilité de changer la charte graphique, la possibilité de changer d'herbergement pour un site, de changer de base de donnees etc afin d'adapter au mieux les parties plus techniques suivante pour que le projet soit au maximum portable et evolutif.
4 : A ce niveau je fais en general une premiere reflexion sur les problemes de securité que je vais pouvoir rencontrer ET sur la meilleure facon de faire pour que les scripts soient plus rapides ou moins gourmand en espace (avec ou sans bdd, quel langage utilise, quel type de programmation).
5 : Je lache le stylo et je passe au clavier : Creation des tables pour la base de données et creation de l'arborescence des fichiers.
6 : Je code, il n'y a en general pas d'ordre entre commencer par l'admin ou par le front, c'est selon l'envie du moment smile Pour l'un et l'autre, le graphisme n'etant pas mon fort je le zappe (pensant qu'on pourra arranger cela avec une feuille css par la suite, mais en general j'ai quand meme une idee visuelle de ce que je veux)
7 : dans de rare cas, ca va plus loin, c'est a dire que je finis smile Alors il faut debuguer, et au final trouver une bonne ame pour me faire un design ou qqs logos smile

Finaliser est sans doute le plus dur, surtout il ne faut pas partir de rien sans avoir rien mis sur le papier (on est pas oblige non plus de faires des specs facon ssii, en general on est trop pressé) ; ne pas negliger les possibilités d'etendre son projet facilement est important aussi (conception des bdd et de l'arbo surtout) car il n'est pas rare que de nouvelles idées viennent au fur et a mesure qu'on developpe et si le truc est mal pensé à la base, c'est le cas typique où il n'aboutira jamais...

Le temps passé en amont est donc du temps gagné pour la suite, pour ça ya pas photo ; il peut même y avoir un avantage a laisser murir un projet longtemps avant d'attaquer vraiment la partie coding, car si le truc est bien ficelé ça ira plus vite le plus ralentissant et le plus chiant étant vraiment le fait d'avoir de nouvelles idées alors que le dev est déjà bien lancé.

Hors ligne

 

#5 02-05-2007 11:11:58

Malaiac
Survivors
Lieu: Naoned / Frehel
Date d'inscription: 15-06-2006
Messages: 1323
Site web

Re: Méthode de développement

J'ajoute que mon angoisse n°1 en ce moment - mais ca tient à la nature de mes projets, c'est la scalabilité. C'est donc un des points que j'intègre le plus en amont dans ma reflexion, pour eviter de me retrouver avec des bases qui explosent en deux mois ou des espaces disques saturés


One Content to rule them all, One Engine to find them,
One Link to bring them all, And in the darkness bind them.

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 313

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#6 02-05-2007 14:01:04

Siddartha
Administrateur
Lieu: Paris et #66valley ☼
Date d'inscription: 20-06-2005
Messages: 2988
Site web

Re: Méthode de développement

Mais j'essaie, dans la mesure ou je developpe seul, de pas trop théoriser, plutot de faire des schemas sur les flux, de détecter les points ou ca va bloquer, etc.

[...]et le plus chiant étant vraiment le fait d'avoir de nouvelles idées alors que le dev est déjà bien lancé.

Je suis un peu comme ca aussi dans la mesure ou de toute manière, l'appli évolue en fonction de mon avancement, j'appele un truc et jme dis merde, ca serait bien si je l'appelais aussi comme ca, et hop une nouvelle fonctionnalité, dur dur d'arriver à définir le périmètre définitif de l'application sans tout remettre en cause.

Et pourtant, dès le départ, je m'étais dis, tu te limites à la base des fonctionnalités .. big_smile
Sans parler des facteurs bloquant qui nécessite de revoir l'angle d'attaque du problème :p

Bref, merci pour vos retours, je vais essayer de m'organiser pour avancer malgré ca smile

T'as des docs pratique sur ces notions de scalabilité que tu évoques ou il faut sortir les gros théorêmes mathématiques ? :p

Hors ligne

 

#7 02-05-2007 14:41:40

Malaiac
Survivors
Lieu: Naoned / Frehel
Date d'inscription: 15-06-2006
Messages: 1323
Site web

Re: Méthode de développement

sur la scalabilité, je traite des gros volumes, et je me suis fait avoir sur la version 1 (par exemple, j'ai plusieurs tables à plus de 500 Mo, sur lesquelles je dois faire des SELECT complexes, je te fais pas de dessins). Du coup, pour la scalabilité MySQL donc, j'atomise à mort, je relationnise etc. J'ai pas encore de souci scalabilité trafic (quoique mon plateau de frequentation actuel va surement exploser d'ici l'été, ou je passe sur un "vrai" dédié). Et j'ai pas encore résolu d'autres problèmes de traitement lourd de textes (lourd, genre 250 mo de texte à parser, ordonner, tagger, etc).

donc ni docs, ni théorèmes, sur PHP/MySQL j'en suis toujours au stage LEGO smile

Derni�re modification par Malaiac (02-05-2007 14:42:59)


One Content to rule them all, One Engine to find them,
One Link to bring them all, And in the darkness bind them.

Hors ligne

 

#8 02-05-2007 15:32:33

ZN
Tagglers+
Lieu: Entre ici et là ...
Date d'inscription: 26-10-2005
Messages: 547

Re: Méthode de développement

Théorie:

le cycle de dev / methodologie dépend du projet sur lequel on bosse, et de la taille du projet et des equipes.

Le cycle standard est le cycle en V: http://fr.wikipedia.org/wiki/Cycle_en_V

S'il y a du prototypage "intensif" (ou itératif) on parle de cycle en spirale: http://fr.wikipedia.org/wiki/Cycle_de_d … en_spirale (ça donne une idée mais c'est pas trop explicite)


Pratique:
C'est souvent du 'freestyle programming'
Tout commence par un bon CDCH fourni par le client (ca peut etre un service de ton entreprise).
Tu fais des specs (tu rentres plus dans le detail que ton client, pour etre sûr d'avoir bien compris)
Tu t'entends sur une charte graphique. Au top, le client l'a déjà fait faire chez un graphiste, ou a des codes couleurs tout prêts.
Ensuite conception (perso je fais beaucoup de graphes, MCD merise pour les BDD et graphes de sequencement UML) a terme j'aimerai savoir concevoir completement mes applis web en UML. A ce qu'il parait c'est fesable, mais c'est assez chaud.
Codage
Tests, tests, tests ... unitaires (module par module) integration (tout s'emboite bien) et non regression (je modifie un truc, ca plante pas de l'autre côté)
Livraison et recette

Coté gestion de projet:

tu définis les taches et les profils, plus les durées de chaque tache (en jour / homme) + combien ca coute par jour. Tu fais un diagramme de GANTT pour visualiser la parallélisation des taches, et tu arrives a voir dans combien de temps ton dev sera pret.

bon je fais vite & court mais on peut aller dans le detail

qq'un a déjà testé les méthode d'extreme programming? (c'est à la mode: http://fr.wikipedia.org/wiki/Extreme_programming)

Hors ligne

 

#9 02-05-2007 15:53:29

Anonymus
Crying Freeman
Lieu: lat:45.387842, long:4.78314
Date d'inscription: 04-07-2005
Messages: 1164
Site web

Re: Méthode de développement

Regle d'Or : Ne jamais montrer au client un dev. qui n'est pas fini. T'as pas fini qu'il te fait déjà tout recommencer.

Sinon, commencer par la base de données : Si t'arrives à faire la base, alors le reste coule de source smile

Enfin : Café, chocolat, et clavier, clavier, clavier wink

Hors ligne

 

#10 02-05-2007 16:29:53

MagicYoyo
Tagglers
Lieu: Montpellier
Date d'inscription: 04-01-2006
Messages: 2212
Site web

Re: Méthode de développement

En ce qui concerne la création de sites web, je vous recommande chaudement la lecture du chapitre "goal-oriented design" -conception orientée objectif- de Webdesign from scratch.
Ma méthode de travail est franchement adaptée de celle-ci.
Je pourrais vous montrer un projet réalisé sur ces bases à l'occasion d'une prochaine rencontre (avec CDC et brief de créa... etc.).


"La forme, c'est le fond qui remonte à la surface." Victor Hugo

Mon blog sur le webmarketing | Mon job

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 313

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#11 07-05-2007 11:08:23

salemioche
Survivors
Lieu: blue sky
Date d'inscription: 06-07-2005
Messages: 4128
Site web

Re: Méthode de développement

Anonymus a �crit:

Sinon, commencer par la base de données : Si t'arrives à faire la base, alors le reste coule de source smile

Exact :-) , la premiere chose a faire est de modeliser les données, on peut ensuite le penser suffisament atomique pour que de nouvelles fonctionnalités puissent venir se greffer dessus sans probleme.

Si on regarde les cycles en V/ méthode merise and co, on voit une etapes fonctionnelles importantes, pour le net, definir ses écrans finement revient ensuite à obtenir un decoupage des pages et des fonctionnalités assez simplement.

Ensuite suffit de se faire sa/ses petite(s) lib(s) pour que ce soit un minimum organiser et voila.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson