Page 1 sur 2

mettre son code sur papier.

Posté : 06 oct. 2005, 20:46
par Erazer
Bonjour,

je voudrai juste faire une petite demande qui pourrait, je pense, être intéressante pour les débutants ou encore les amateurs.

on voit énormément de site qui propose de tutoriel pour apprendre le php.

Mais on voit plus rarement (voir pas du tout) des sites php qui explique

comment penser son code. je veux dire par là 'le dessiner sur papier'

voir quelle librairie interagit avec quoi et pourquoi elle doit le faire.

il y a bien UML mais assez rebutant au première abord.

voilà, vos avis sont très bien venu :)

Posté : 06 oct. 2005, 21:08
par Cyrano
Je crois que pour apprendre les base, il serait bon effectivement de se faire des croquis. Il y a des tutos sur l'algorithme sur devloppez.com, mais à mon avis ils ne sont pas assez fréquentés. J'avais posté un truc à un moment donné sur le sujet illustré par ceci:
Image
Faire sur papier ce genre de croquis pourrait en aider beaucoup à visualiser le déroulement de leur application.

Posté : 06 oct. 2005, 21:16
par albat
Tu soulèves un problème culturel très répandu.
Pour beaucoup de néophytes : développeurs débutants ou non informaticiens,
le développement n'est qu'une question de technologie, de langage.

Pour eux, apprendre le langage (PHP, en l'occurence) suffit.
On trouve donc beaucoup de tutos sur PHP, voire sur MySQL,
mais aucun (ou très très peu) sur la modélisation : Merise, UML, OMT, etc...

Professionnellement, j'ai aussi remarqué que la méthodologie,
pourtant point clé du développement, n'était jamais enseignée
aux développeurs et n'était accessible qu'aux chefs de projet.
Et encore, ça, c'est dans le meilleur des cas !

La méthodologie regroupe un ensemble de choses importantes
telles que : analyse (fonctionnelle, détaillée,...), modélisation, optimisation,...

Lorsque j'ai commencé à programmer (back to the 80's),
on m'avait appris à construire mes programmes avec un papier et un crayon,
à tracer de beaux organigrammes qui étaient la charpente, la structure de mes programmes.

C'est toujours nécessaire.
Mais à de rares exceptions près, ce n'est pas enseigné.
On privilégie l'aspect purement technologique du développement,
simplement parce qu'il est celui qui donne un rendu.

Un MPD en Merise ou un diagramme des flux en UML n'évoquent rien à un client,
tandis qu'une interface dessinée avec Photoshop ou un formulaire automatique en PHP
lui donnent la sensation d'un travail plus concret, plus réel.
Ne connaissant rien aux moteurs, aux chassis,... il achètera une voiture pour sa carrosserie.

Ce phénomène est renforcé par le fait qu'il n'y a guère de publicité pour les méthodologies
alors que les salons sur les technologies (dont PHP) sont nombreux.

"L'outil est plus célèbre que le métier."
Confucius et Albat', lors de leur dernière biture... :lol:

Posté : 06 oct. 2005, 22:09
par Moosh
Bien que c'est ce que j'aurais voulu faire comme tuto sur phpFrance. faute de temps et surtout peur d'être incomplet, imprécis je n'ai jamais rien fait.

enfin ca t'arrange pas cet aveu de fainéantise.

sur www.commentcamarche.net il y a des trucs chouettes.

Posté : 06 oct. 2005, 22:41
par Erazer
Merci de vos réponses, ça interesse quelques personnes quand même :)

je ne cherchais pas spécialement d'aveux, mais des réponses :)

car comme je l'ai dit, je trouve une cela une étape très importante pour être un bon programmeur.

ça a déjà l'utilité d'avoir une vue clair (pour le programmeur) et surtout si on doit revenir sur le site X jours, mois, année? après, on a toujours un croquis du site.

je ne maîtrise pas cela, c'est ce qu'il me manque :)


pour répondre à Cyrano:

j'ai testé ce principe au début, mais on est assez limité je trouve. le plus complet que j'ai pu trouvé, c'est l'UML à première vue. mais c'est très lourd à apprendre par contre :)


Pour Albat:

je suis aussi d'accord que le client se base que sur le visuel. Mais ici je pensais plus au développeur, car c'est beau d'apprendre le php. mais faire ce language sans structure n'apporte que des problèmes pour la suite. déjà pour la communication entre les librairies, j'en suis à ce point. Je ne sais pas comment agencé mon site web pour avoir une bonne homogénéïté du tout. Et je trouve bête de se lancer tête baissée dans des lignes php sans savoir ce qu'on veut vraiment au final.

Posté : 06 oct. 2005, 22:51
par ash
complètement d'accord, la conception/modélisation est une étape très importe de tout projet digne de ce nom

apprendre uml ? pourquoi pas. mais c'est long et rébarbatif

alors en attendant, pourquoi ne pas faire des schémas "maison" ? sans conventions autres que celles qu'on estime nécessaire, et qu'on améliore au fur et a mesure qu'on apprend UML. je pense que même si l'apprentissage d'un langage de modélisation est très importante, elle ne doit pas etre bloquante pour le reste des activités

voila voila

Posté : 06 oct. 2005, 22:53
par Xenon_54
Bonjour,

Je propose qu'on puisse insérer la modélisation UML lors de la création de tutoriel objet. Et éventuellement créer un tutoriel qui explique la signication de chacun des symboles utilisés dans un schéma UML.

Posté : 07 oct. 2005, 00:21
par jeff
salut

voila quelque chose d'interressant
mois je serait pour un salon Modelisation UML et SGBR

et un autre pour la programmation objet (peut etre plus specifique a php 5)

quant a un tuto complet sur uml cela me permet ilusoir car
mais c'est très lourd à apprendre par contre Smile
(avis d'un amateur)
par contre un tuto qui donne une approchre d'uml ou du moins sont espris pourrai etre pratique

Posté : 07 oct. 2005, 01:20
par Xenon_54
UML aurait m'éviter de devoir refaire ma classe Data Access Object. Celle dont je te parlais vaguement sur mon forum (jeff) Je sais que PHP5.1 inclura cet objet mais bon, je suis intéressé à la développer moi-même dans un but d'apprentissage.

Posté : 07 oct. 2005, 02:32
par Liquid
apprendre uml ? pourquoi pas. mais c'est long et rébarbatif

alors en attendant, pourquoi ne pas faire des schémas "maison" ? sans conventions autres que celles qu'on estime nécessaire, et qu'on améliore au fur et a mesure qu'on apprend UML. je pense que même si l'apprentissage d'un langage de modélisation est très importante, elle ne doit pas etre bloquante pour le reste des activités
"Long" et "rébarbatif", je ne suis vraiment pas d'accord. Pour "long" ça dépend jusqu'où on pousse le degré de maîtrise mais un minimum de vocabulaire et de grammaire U.M.L. suffit pour beaucoup de projets. Pour "rébarbatif" c'est subjectif, on peut très bien aimer et s'éclater avec U.M.L.

Pour le deuxième paragraphe, c'est plein de contradictions, je ne vois pas trop ce que tu penses et où tu veux en venir :?: :!:
Le but d'U.M.L. c'est d'"Unifier", pour que tout le monde se comprenne. Et un vocabulaire et une syntaxe communs c'est indispensable à partir du moment où on travaille au moins à deux.

Posté : 07 oct. 2005, 08:29
par ash
alors, déjà il faut bien comprendre que là on est pas spécialement dans une optique "apprendre UML", mais dans une optique "conceptualiser une application". Bien sur qu'à terme, respecter UML est indispensable. Cela dit je connais beaucoup de gens qui, ayant commencé a regarder UML, en sont sortis avec des "fouyaya" et hop on continue a coder comme des gorets.

Tout ce que je dis, c'est que pour éviter ça, je ne vois pas le problème de commencer petit en faisant des schémas sans conventions particulières tout en se plongeant progressivement dans UML pour améliorer constamment les sus-cités schémas. L'avantage que j'y vois, c'est qu'on voit tout de suite les avantages de faire des ptits dessins et qu'on est pas découragé par la plétore de pictogrames à retenir.

j'espère avoir été plus clair :)

Re: mettre son code sur papier.

Posté : 07 oct. 2005, 10:05
par mere-teresa
on voit énormément de site qui propose de tutoriel pour apprendre le php.
Mais on voit plus rarement (voir pas du tout) des sites php qui explique
comment penser son code. je veux dire par là 'le dessiner sur papier'
Oui, et si tu veux écrire un tuto pour PHPFrance, tu peux : tu seras alors célèbre et adulé de tous.
Je me porte volontaire pour la relecture et les corrections orthographiques :)


voir quelle librairie interagit avec quoi et pourquoi elle doit le faire.
il y a bien UML mais assez rebutant au première abord.
voilà, vos avis sont très bien venu :)
Niveau 2 du tuto, là alors...
Tu parles des librairies implémentées dans PHP, déjà ou paS ?


Sinon, l'uml c'est bien pour communiquer avec d'autres programmeurs, mais il faut encore avoir une idée de ce qu'on veut faire (avec ses propres schémas).

Posté : 07 oct. 2005, 10:26
par Cyrano
pour répondre à Cyrano:

j'ai testé ce principe au début, mais on est assez limité je trouve. le plus complet que j'ai pu trouvé, c'est l'UML à première vue. mais c'est très lourd à apprendre par contre :)
Tu prêches un convaincu. J'ai suivi une formation l'an dernier et on a abordé l'UML: mais le cours était tellement succinct que je n'ai pas appris grand chose et ça me fait cruellement défaut. L'auto-apprentissage dans ce domaine est difficile. Je crois que c'est là le coté "long et rébarbatif" mentionné par quelques intervenants. Il y a en UML sauf erreur de ma part 9 sortes de diagrammes et on en utilise en général 3 ou 4 (?) Mais la difficulté, c'est de savoir comment commencer, dans quel ordre, jusqu'à quel degré doit-on atomiser un morceau du projet, tout ça est pour moi totalement abstrait. Pourtant, des outils pour modéliser en UML pour PHP5 commencent à apparaître. Encore faudra-t-il savoir les utiliser. Dans les gratuits, on peut citer uml2php5 qui s'intègre avec DIA Mais la doc se fait attendre. Même payante je serais intéressé à l'obtenir (enfin si le prix reste raisonnable)

Posté : 07 oct. 2005, 10:39
par mere-teresa
Il y a un plugin UML avec Eclipse, il semblerait :)
Sinon
jusqu'à quel degré doit-on atomiser un morceau du projet
nous nous étions aussi posé la question suite à nos cours d'UML, en classe. L'enseignant nous avait répondu que l'UML servait à communiquer entre les différents participants au projet, et que le 'zoom' ou l'échelle des différents diagrammes était à voir en fonction du degré voulu de description pour mettre les gens d'accord.
Ensuite, si tu te sers de l'UML pour décrire et laisser trace de ton projet, à to de voir.

Posté : 07 oct. 2005, 13:51
par Erazer
oups, je n'avais pas vu tes questions mere-teresa :)


bien, je lance le débat car justement, il me manque ces connaissances pour bien programmer. je ne pense pas être la bonne personne pour écrire un tutoriel.


quand je parlais des librairies, je ne visais pas une librairie en particulier. Mais les différents fonctions, class ... utilisée dans ton script.

avoir une carte précise de ton application. ou plus, je ne sais pas vraiment jusqu'ou il est possible d'aller.