Aller au contenu

Sujets conseillés

Posté

Bonjour à tous et à toutes !

J'ai conscience que ce message n'est pas forcément totalement à sa place ici, mais je ne vois pas où le mettre !

Je vous expose mon problème.

J'arrive au niveau des vacances scolaires et j'ai décidé de me mettre à la POO. Pour le moment, je pense avoir les compétences suffisantes en programmation linéaire pour franchir le cap.

Le problème est que j'ai l'esprit hyper formaté et je n'arrive pas forcément à voir l'utilisation d'objets dans mon code. Codant énormément en PHP à l'heure actuelle et ayant acheté un nom de domaine à mon nom, je pensais profiter de l'occasion pour créer MON site web en PHP5 (cela me permettrait d'apprendre).

Le problème est que je n'ai vraiment aucune idée de la manière de m'y prendre, quand faut-il utiliser les objets, quand faut-il faire autre chose etc... J'ai lu des tutos sur le PHP5 et je comprend les concepts, mais mon problème vient de l'utilisation de ceux-ci => je ne vois pas forcément l'adaptation à un site web !

:?:J'aurais ainsi voulu savoir si il existe des scripts Open-source genre CMS ou petits scripts codés en PHP5 "classique et propre" afin que je puisse étudier leur fonctionnement !!

Autre question que je me posais (là c'est plus hors sujet ...) :

Croyez-vous que découvrir la POO avec PHP5 est une bonne chose ou vaut-il mieux débuter par des langages de programmation de type C++ ou C# (le dernier a ma préférence ;-)) ?? J'aimerais simplement découvrir ce concept, donc j'aimerais m'y mettre de la meilleure des façons possibles.

J'aimerais vraiment vos avis, vos conseils et vos liens, en évitant que ce message soit considéré comme un gros Troll ;)

Merci d'avance !

Posté

salut,

pour répondre rapidement :)

l'intérêt de la programmation orientée objet : aucun si tu as un site de 4 pages, par contre si tu utilises des objets au sens graphique ou technique par exemple une fiche de présentation toujours faite de la meme manière ou des parties de ton site qui sont identiques.

Pour etre plus clair, mon exemple : un annuaire de blogs :

j'ai un objet blog sur lequel j'ai des methodes d'affichage et des attributs qui contiennent des infos : je sais que sur chaque page ou j'ai créé cet objet je peux appeler une methode d'affichage d'un blog ou une méthode qui compte les points ou les visiteurs.

Si un jour je décide de changer ma présentation ou ma methode de comptage ou autre, je change ma classe et hop toutes les pages seront automatiquement mises à jour.

Pour apréhender au mieux la POO en tant que concept je te conseillerai un langage plus strict. Mais si tu ne dois t'en servir qu'en php je ne vois pas l'interet de connaiter ces contraintes qui ne te seront jamais imposées ... pour le langage bien fait : moi je prefere java à C# mais je ne m'en sers j'amais sur le web.

Ludo

Posté

Personnellement, pour apprendre la programmation orienté objet il vaut mieux commencer par C++. Ensuite C# (qui est très utile dans le développement d'application web avec l'asp dot net).

Ce n'est que mon avis!

Posté

Real34 pose une question intéressante que je me suis déjà posé aussi. J'attends vos réponses avec impatience.

A Ludo88 : ta démonstration ne m'a pas pleinement convaincu d'utiliser de l'objet là ou j'aurais programmé avec des fonctions... Si j'avais à programmer un annuaire de blogs comme toi ou n'importe quelle autre application web, l'utilisation de fonctions me rendrait le même service que l'utilisation d'objets ! A savoir la factorisation des opérations récurrentes, la séparation des traitements et des affichages, etc.

Posté
A Ludo88 : ta démonstration ne m'a pas pleinement convaincu d'utiliser de l'objet là ou j'aurais programmé avec des fonctions... Si j'avais à programmer un annuaire de blogs comme toi ou n'importe quelle autre application web, l'utilisation de fonctions me rendrait le même service que l'utilisation d'objets ! A savoir la factorisation des opérations récurrentes, la séparation des traitements et des affichages, etc.

certe mais en procédural quand tu veux modifier un peu le comportement de ton projet, tu es obligé de modifier ton code... En objet, tu dérives l'objet que tu veux modifier et ca passe tout seul...

Personnellement je ne pense pas que le choix d'une technologie soit le meilleur moyen d'aborder le problème.

Si tu veux apprendre les concepts objets, il te faut à mon avis 2 choses:

- apprendre purement et simplement les concepts objets : va faire un tour du côté de la modélisation objet avec UML. il y a de très bon tutoriaux sur le net. Cette partie est independante de la technologie. Elle te permet d'avoir les bases minimales pour aborder les langages dit objets comme C++, java, ...

- un projet (comme support d'apprentissage) : c'est le projet qui va déterminer la technologie à utiliser.

Après si tu veux apprendre seulement un langage, regardes plus les frameworks comme .NET ou J2EE qui sont très demandés en ce moment (le marché est très midlleware addict en ce moment).

Posté

J'avais fait simple pour la démo mais si tu as un objet X que tu veux légérement transformer pour l'utiliser ailleurs : tu dérives ton objet.

Idem si demain tu décides de changer completement la structure de ton objet, par exemple tu stockes plus les infos de la meme maniere : tu changes ton objet et tous les endroits qui faisaient appel aux attributs de cet objet sont mis à jour.

Tu vas me dire qu'en faisant des fonctions bien pensées avant tu aurais pu le faire et je te répondrai : en effet tout mon site est codé en pseudo objet mais en php4. L'objet c'est plus une manière de modéliser que de coder, le codage suit une bonne modélisation : se sera plus facile pour moi maintenant mais ca n'était pas impossbile de modéliser objet en php4.

Le conseil de l'uml est a mon avis indispensable : pas de modelisation => pas de POO

Ludo

Posté

Java ou C++

En Java tu es obligé de programmer en objet, tu n'as pas le choix, en C++ aussi il me semble.

En Php5, rien ne t'oblige a programmer Objet.

Si c'est pour te former à la POO évite Php, tu vas prendre de mauvaise habitude ( le langage est trop permissif, en phase d'apprentissage )

Posté

Tout d'abord, merci pour vos remarques, c'est très instructif !

Je viens de trouver les objets PEAR et je vois un peu mieux l'utilisation que l'on peut faire des classes en PHP, même si les fonctions resteront encore un petit moment un réflexe pour moi :/

J'ai également lu quelques informations et un début de cours sur l'UML qui semble être important pour la compréhension de la POO, je vais continuer de ce côté là un peu !

Cependant, je souhaite coder des choses propres sur mon site-perso afin de les réutiliser si je veux faire d'autres travaux par exemple. C'est donc en se sens que je tenais à m'informer sur PHP5 ! Par exemple, je vais sûrement mettre en place un système de news, un livre d'or, un système d'articles et sûrement d'autres trucs par la suite afin d'apprendre et de mettre en application des nouvelles choses (AJAX, RSS etc...)

D'autre part, je souhaite depuis un petit moment passer au .Net et au C++, je me suis donc logiquement tourné vers le C# (côté syntaxe, quasiment pas de différences avec Java en plus !). J'ai commencé à lire un tutorial assez exhaustif (647 pages :D ) sur le C# et n'attend qu'une seule chose : pouvoir mettre en application.

C'est là que se pose le problème => Je ne trouve pas d'idée de projet pour mettre en application mes connaissances et apprendre !! Autant trouver une idée de site web ce n'est pas un problème, mais une idée de logiciel c'est plus dur !

Vu que je suis au stade d'apprentissage, je préfère me renseigner un peu avant ... je pense que je vais essayer de me trouver un projet en C# et coder en parallèle des petits modules pour mon site. Mais si vous avez des conseils supplémentaires je suis preneur !

Posté

Commences par les classiques :

le bloc notes,

la calculatrice,

le fichier que l'on ouvre, ferme, écrit dedans, etc..

la base de données qu'on fait des trucs avec :D

Et après, tu te lances dans une application un tantinet plus grosse ;)

Mais si tu veux des idées, certains ici n'en manquent pas :D

(

prog. qui extrait tous les liens d'une url, tous les mots clés d'une page, d'un site, etc.. )

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...