[Livre] Programmation Orienté Objet avec PHP 5

Mammouth du PHP | 19672 Messages

17 janv. 2008, 12:35

Salut,
pour ma part, je soutiendrai très volontiers ce projet.

Je voudrai quand même revenir sur un détail : le lien POO <-> UML. il me semble que c'est important dans la mesure ou POO ne signifie pas pour autant créer un paquet de classe en vrac. L'importance de la modélisation me semble évidente. Alors bien entendu je conçois tout aussi bien qu'il ne serait pas raisonnable de s'appesantir sur l'UML qui pourrait faire l'objet d'un très gros bouquin à lui tout seul, mais il ne faudrait pas le négliger. Si par exemple on veut construire un framework par exemple, un minimum de modélisation prend tout son intérêt et c'est dans ce sens qu'il faut entendre mon propos. Une "URLographie" et une Bibliographie sont de toutes façon toujours indispensables. On achètera pas pour autant tous ces bouquins, mais on saura qu'ils existent et on aura tout loisir de les acquérir si on veut aller plus en profondeur sur des sujets annexes.

Et si je peux me permettre un conseil pratique : pour transmettre à des débutants, il est très important de ne pas avoir oublié les écueils sur lesquels on a soi-même buté au cours de notre apprentissage. Attention à la tentation des impasses. Certains points peuvent aujourd'hui vous sembler l'évidence même, mais pour le débutant, ce n'est pas encore le cas. C'est le point majeur que je reproche à beaucoup d'auteurs : ils insèrent un élément sans même y penser parce que pour eux ça coule de source... et le débutant s'enlise parce qu'il ne comprend pas ce que vient faire ce truc dans le décor.

Vous vous attaquez à un vaste programme, je vous souhaite bon courage. Au besoin sonnez-moi si un coup de main est nécessaire, j'essayerai de dégager du temps. :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 4674 Messages

17 janv. 2008, 18:46

Oui je connais. Très bon livre, mais il faut adhérer. Je préfère faire quelque chose de très formelle :).

Edit, j'avais pas vu le message de Cyrano (nouvelle page). Merci pour ton soutiens :) ça me fait plaisir.
Ok pour UML, je prends note.
Oui le projet est vaste. J'ai commencé à regarder différent livres (Rebol, Java, UML etc.) pour voir leur approche de la POO. J'ai améliorer mon plan aujourd'hui (en cours d'Unix ... j'espère que mon prof ne traîne pas sur le forum ;-)).
Je fais aussi des sondages autour de mon entourage sur : quelles sont vos difficultés en POO ? Sur quoi buttez-vous ? Quelles seraient vos souhaits ? J'ai pris rendez-vous (semaine à venir) avec différent profs pour qu'ils me donnent des indications sur la pédagogie à prendre pour enseigner la POO. Juste pour voir si on part dans le bon sens. Et utiliser également leur expérience dans le domaine pour voir des points ou notions sur lesquels les gens buttent régulièrement.

J'attendais des réactions des débutants de ce forum, mais ils ne se sentent pas tellement concerner par le sujet visiblement. C'est dommage, on le fait pour eux. Peut-être que les admins pourraient mettre une petite note ? Je ne sais pas, à vous de juger si c'est vraiment nécessaire :).

Enfin bref, merci pour vos premières réactions, c'est parti ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
AB
ViPHP | 5818 Messages

17 janv. 2008, 23:08

Et si je peux me permettre un conseil pratique : pour transmettre à des débutants, il est très important de ne pas avoir oublié les écueils sur lesquels on a soi-même buté au cours de notre apprentissage. Attention à la tentation des impasses. Certains points peuvent aujourd'hui vous sembler l'évidence même, mais pour le débutant, ce n'est pas encore le cas. C'est le point majeur que je reproche à beaucoup d'auteurs : ils insèrent un élément sans même y penser parce que pour eux ça coule de source... et le débutant s'enlise parce qu'il ne comprend pas ce que vient faire ce truc dans le décor.
C'est un point que je voulais aborder. Voilà qui est fait.

Cela dit il faudra bien un minimum de pré requis (avec éventuellement des liens pour les acquérir). L'important étant qu'ils soient tous hors du domaine de la POO bien entendu et relativement accessibles. C'est ce minimum qui me semble important de bien définir dès le départ.

Ensuite, le mieux pour avoir l'avis des débutants serait certainement de poster dans ce forum les premiers chapitres de présentation. Il n'y a que de cette façon que tu auras un retour significatif :wink:

N'étant pas passé par une école informatique, je peux te proposer d'être un des béta lecteur pour cette première partie. Fais signe si besoin :)

ViPHP
ViPHP | 4674 Messages

17 janv. 2008, 23:14

Merci :).

J'avais déjà pensé au pré-requis etc. Même si je ne réagis pas à tout, je prends tout en note (si je ne l'ai pas déjà fais auparavant).

Je rédige le nouveau sommaire sous DocBook. Je dois finir de bidouiller mes feuilles XSLT pour avoir un résultat nickel et facile à utiliser (genre, bibliothèque d'acronyme etc.).

Je ne pense pas montrer l'évolution du livre publiquement. J'en discutte avec Sékiltoyaï.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
AB
ViPHP | 5818 Messages

17 janv. 2008, 23:20

Non je ne voulais pas dire l'évolution du livre, mais juste le début pour donner une première idée :wink:

ViPHP
ViPHP | 4674 Messages

17 janv. 2008, 23:23

Après discussion, on ne présentera que le plan. Et certains privilégiés auront droit à certaine partie (s'ils y participent ou relecturisent ;-)).

Edit de nouveaux liens, voir le premier message.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 1024 Messages

18 janv. 2008, 10:19

il manque les tests unitaires et la méthodologie ( XP, RUP ) qui sont des bonnes pratiques faisant partie du pack POO.

Big bisous,

Pascal

ViPHP
ViPHP | 4674 Messages

18 janv. 2008, 14:46

Je les mis dans ./NOTES. Je vous encourage à lire ce fichier, ce sera un peu les petites pensées quotidiennes ;-).

Question, doit-on développer la partie sur SPL ? Est-ce que ça fait parti de vos attentes ? Sachant que nos dires seront vites erronés car la SPL évolue très vite. Je pensais en parler dans le cadre des itérateurs et structures de données (ArrayOject, LinkedList etc.). Peut-être expliquer la philosophie de la chose et expliquer comment trouver son bonheur. Je n'ai pas encore trop réfléchis à ça.
Autre question : les tests unitaires, tu les verrais où Pascal ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 291 Messages

18 janv. 2008, 15:04

Pour la SPL, je pense que ce que tu proposes irait... inviter le lecteur à s'auto-documenter sur ce point, en lui laissant quelques adresses utiles suffirait selon moi...

ViPHP
ViPHP | 1024 Messages

18 janv. 2008, 15:26

Autre question : les tests unitaires, tu les verrais où Pascal ?
DTC ... hum désolé !

disons plutôt dans la partie I., point 2. Utilité de l'approche objet, encore qu'on pourrait créer une partie sur l'objet dans une méthodologie globale de développement :
_ principes agiles ( XP, RUP )
_ spécifications
_ conception UML
_ tests unitaires
_ codage objet

et un début de texte sur les tests unitaires :

l'approche objet permet entre autres :
_ la simplification des scripts
_ une modification plus aisée du code
_ une meilleure approche des évolutions du code

les tests unitaires s'inscrivent dans cette démarche : ils garantissent la qualité des classes et évitent les régressions; il sont reproductibles.

créer une classe c'est définir un type de variable ( un objet ) et des fonctions ( les méthodes ), c'est en quelque sorte étendre le langage de programmation. comme on fait confiance à echo et mysql_query(), on doit aussi pouvoir faire confiance aux fonctionnalités apportées par les classes.

les tests unitaires structurent le code :
_ pour vérifier le résultat d'une méthode, cette méthode doit remplir une seule fonctionnalité
_ ils détectent les régressions : lorsqu'on modifie une classe, si les tests unitaires associés plantent, c'est qu'on a introduit un bug. à défaut de savoir automatiquement pourquoi, on sait rapidement où se trouve le bug

pour tester unitairement, des librairies existent ( SimpleTest, PHPUnit ...)

TODO :
_ comment faire des tests
_ comment évaluer la pertinence de ses tests unitaires
_ les tests comme documentation de l'utilisation d'une classe.

A+

Pascal
Modifié en dernier par pascaltje le 18 janv. 2008, 16:06, modifié 1 fois.

ViPHP
ViPHP | 4674 Messages

18 janv. 2008, 16:01

DTC
C'est peut-être de l'humour, mais j'ai du mal à le saisir pleinement ...

Merci pour la mise sur les rails.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 1024 Messages

18 janv. 2008, 16:08

désolé... :roll:

ViPHP
ViPHP | 5924 Messages

18 janv. 2008, 16:47

mais j'ai du mal à le saisir pleinement ...
CMB ?

(quoi c'est lourd ? :mrgreen: )

ViPHP
ViPHP | 4674 Messages

20 janv. 2008, 22:58

désolé... :roll:
:) Si c'est de l'humour, alors ok, mais j'étais pas sûr ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 1024 Messages

08 févr. 2008, 12:45

re,

je pense qu'il y a des pistes à explorer pour le passage à l'objet sur ce sujet :
http://www.jeuphp.net/board/showthread. ... 299&page=1

procédural -> fonctions ->objet

A+

Pascal