Architecture d'une application web

Eléphanteau du PHP | 44 Messages

24 sept. 2011, 09:38

Bonjour à tous,

Mon titre est sans doute un peu évasif, mais j'ai beaucoup de mal à retranscrire tous les tutoriels que j'ai lu concernant la poo qui ont toujours des exemples hors application web, genre bibliothèque, voiture, personnage, etc...
Et surtout comme je ne suis pas anglophone pour un sou (malheur à moi), bah les tutos en anglais ne me sont pas d'un grand secours :(

Bref, j'ai bien compris le concept de la poo, mais je n'arrive pas à retranscrire cela à une application orientée web.
Je me suis déjà essayé à développer en poo, mais le résultat n'était pas satisfaisant, je n'arrivais pas à faire correctement mes héritages, et le résultat final était plutôt bancal, fonctionnel, mais bancal point de vue programmation.

Je ne sais pas par où commencer et vers quel chemin évoluer.
Je suppose que les bases de la structure d'un site sont à peu près les mêmes en général ?

Par exemple, je souhaite développer une application pour créer un blog, que devrais-je commencer à faire ?
Auriez-vous des exemples bien détaillés de structurations d'une bonne application web basique (uml ou non) ?

Merci beaucoup de vos réponses futures.


nb: Je ne sais pas si j'ai posté dans le bon forum, j'ai hésité avec méthodologie/modélisation

Eléphant du PHP | 127 Messages

24 sept. 2011, 10:39

Salut,

et pourquoi ne pas utiliser un framework type Zend ou Cake ?
Son utilisation donnera une base commune à tous tes sites Web via le MVC, .

Rien ne sert de réinventer la roue à chaque projet, l'idée est justement de diminuer le temps de développement en réutilisant du code au maximum. C'est l'un des intérêts de la POO.

Concernant les premières choses à faire quand on commence un site Web, c'est simple :
1. identifier les besoins (acteurs de l'appli, cas d'utilisation)
2. identifier les risques (difficultés techniques, bizarreries fonctionnelles, contraintes de performances, etc.)
3. modéliser les objets et leurs interactions au sein du système (diagramme de classes, de séquences, états ?)
4. en déduire le modèle de données (MCD)
5. choisir les technos adaptées aux besoins et minimisant les risques d'échec

Une fois que tu sais dans quoi tu t'engages et comment le réaliser, tu peux te lancer sans trop de risques.

Eléphanteau du PHP | 44 Messages

26 sept. 2011, 14:30

Pourquoi ne pas utiliser un framework ?
Bah simplement que ça ne m'intéresse pas plus que ça pour l'instant, et puis mon but est d'apprendre à concevoir une appli entière en poo, ce que tu me préconises de faire est de prendre une voiture pour rouler, alors que moi, je veux la concevoir.
Concernant les premières choses à faire quand on commence un site Web, c'est simple :
....
3. modéliser les objets et leurs interactions au sein du système (diagramme de classes, de séquences, états ?)
4. en déduire le modèle de données (MCD)
5. choisir les technos adaptées aux besoins et minimisant les risques d'échec
bah oui, mais ça c'est facile à écrire en 3 lignes, mais quant à le concevoir, c'est une autre paires de manches :?

ViPHP
AB
ViPHP | 5818 Messages

26 sept. 2011, 14:58


Eléphant du PHP | 127 Messages

27 sept. 2011, 13:35

Pourquoi ne pas utiliser un framework ?
Bah simplement que ça ne m'intéresse pas plus que ça pour l'instant, et puis mon but est d'apprendre à concevoir une appli entière en poo, ce que tu me préconises de faire est de prendre une voiture pour rouler, alors que moi, je veux la concevoir.
Là tu te trompes, le framework te propose simplement des outils pour concevoir et réaliser ta voiture, en rien elle ne permet de rouler toute seule... Je suppose que tu confonds avec les CMS.

Eléphanteau du PHP | 14 Messages

05 oct. 2011, 16:31

Pour répondre, je dirai que en plus de la méthodologie, tu dois pouvoir utilisé par exemple un modèle.
Personnellement j'ai opté pour le MVC, qui a pas mal d'avantage, comme la modularité, l'évolution constante. (c'est pas un jolie coeur non plus, il a des défauts)
Je trouve cela particulièrement intéressant, car c'est ce modèle qui ma permis de mieux comprendre et utiliser la POO

Je n'ai malheureusement pas trouvé de modèle (exemple).
Ensuite, si le coeur t'en dit, tu pourras très facilement utilisé un Framework (généralement aussi en MVC)
Je te souhaite, bien du courage dans ton projet de réinvention de la roue (chemin que j'empreinte actuellement)

Eléphanteau du PHP | 44 Messages

05 oct. 2011, 17:14

J'utilise évidement le design pattern mvc, qui est quand même extrêmement adapté aux applications web :)

Pour l'infrastructure de base, ça me pose pas trop de soucis, là où ça se complique c'est quand il faut y greffer pleins d'autres modules qui peuvent éventuellement interagir les uns avec les autres, un truc mal pensé, et bing c'est la cata #-o

Enfin mon but n'est pas de réinventer la roue mais j'ai envie de créer avec mes petites mimines sans script externes une appli (presque) entièrement en objet.

Bon courage également dans ta création de la nouvelle roue (ovale :mrgreen: )

Eléphanteau du PHP | 14 Messages

05 oct. 2011, 20:40

Pour permettre l'utilisation de tes contrôleurs entre-eux, rien de tel que les class abstraites.
Tu peux l'utiliser par exemple, pour y définir des fonctions.
En quelques lignes de codes, tu peux déjà arriver à un résultat plutôt correct.
De plus rien ne t'empêche à un moment donné de rajouté des plugins, de cette façon tu peux amélioré le code de base et rajouté une fonctionnalité (par exemple un compteur de visite <- ça reste relativement basique)
Personnellement, j'utilise un plugin pour gérer mes menus (qui était mal gérer avant.)
Bon courage également dans ta création de la nouvelle roue (ovale )
Merci pour la vanne, pour le moment mon code est plutôt carré² :langue: