8730 sujets

Développement web côté serveur, CMS

Pages :
Hum, je suis choqué xD
On as tous débuté avec le procédural en php pour une seule raison : le php est vraiment objet depuis peu de temps(ça a longtemps été un pseudo objet).
Et surtout parce que les besoins de coder vite et proprement nous emmène naturellement à l'objet, déjà pour la maintenance du code mais ensuite parce qu'il ne faut pas réinventer la roue à chaque fois.

Après l'objet est un concept qu'on dit plus humain dans la logique que le procédural, ça dépend de quel logique on parle, je ne pense pas qu'on ait tous la même logique.
Il peut y avoir de très bon sites codé en procédural comme de très mauvais et c'est également vrai pour l'objet.

L'avantage indéniable de l'objet c'est la maintenance du code qui est très simple !

Un fichier procédural d'une application complexe peut aller jusqu’à des milliers de lignes de code, pour la maintenance bon courage !!!
Hooli a écrit :

On as tous débuté avec le procédural en php pour une seule raison : le php est vraiment objet depuis peu de temps(ça a longtemps été un pseudo objet).


Oui, depuis juillet 2004 il y a tout juste 8 ans. C'est tout récent... Smiley biggol Premier framework tout objet : Symfony est sortie en version finale en 2006.

Bon, je retourne à mon installation de Windows 98. Smiley jap
Modifié par jb_gfx (28 Jul 2012 - 17:12)
jb_gfx a écrit :
Oui, depuis juillet 2004 il y a tout juste 8 ans. C'est tout récent...

Oui c'est quand même assez récent, surtout que le temps que les hébergeurs passent sur la dernière version de php et qu'on trouve de la documentation en quantité, je pense que ça nous enmmène plutot en 2006... Bref la majorité d'entre nous a appris en procédural.

Sinon dans ma boite on utilise des classes pour ce qui revient tout le temps, mais la plupart de nos scripts sont majoritairement en procédural, avec des appels aux dites classes. Pour ma part je reconnais l'intérêt de l'OO dès lors que l'on travaille en équipe sur des gros projets, mais je continue à bien aimer le procédural.
Modifié par BlueScreenJunky (28 Jul 2012 - 21:50)
jb_gfx a écrit :
Bon, je retourne à mon installation de Windows 98. Smiley jap


Blue Screen addict Smiley langue

@Hooli: Quand on dit au l'objet s'approche la logique humaine, on parle pas d'une logique subjective mais de la logique au sens large sur terme, un exemple bateau pour illustrer:

-Animale => Class Animal
--Felin => Class Felin extends Animal
---Chat => Class Chat extends Felin
---Lion => Class Lion extends Felin
---Trigre => Class Tigre extends Felin
--Canin => Class Canin extends Animal
---Chien => Class Chien extends Canin
---Loup => Class Loup extends Canin

Celui qui modélise ça avec toutes les fonctionnalités qu'on peut avoir en objet, sans redondance de code, je l'appel papa...

Dans la logique humaine, on te dit "J'ai un nouveau Chat", ton cerveau n'a pas besoin de turbiner 10 minutes pour que tu sache qu'un chat est un felin, ou encore que c'est un animal.
BlueScreenJunky a écrit :
Sinon dans ma boite on utilise des classes pour ce qui revient tout le temps, mais la plupart de nos scripts sont majoritairement en procédural, avec des appels aux dites classes.


C'est une boite qui travail dans quoi? Smiley langue

BlueScreenJunky a écrit :
Pour ma part je reconnais l'intérêt de l'OO dès lors que l'on travaille en équipe sur des gros projets, mais je continue à bien aimer le procédural.


Quand j'ai offert un smartphone a mon père, son Nokia 3310 lui convenait très bien et il ne voyait pas l'intérêt d'en changer.
Modifié par JJK801 (28 Jul 2012 - 21:59)
JJK801 a écrit :
Celui qui modélise ça avec toutes les fonctionnalités qu'on peut avoir en objet, sans redondance de code, je l'appel papa...

Déjà celui qui modélise un chat ou un chien en php, que ce soit en objet ou non, je dis chapeau !

Sinon oui, le procédural c'est un peu le 3310 du php : peut être pas aussi sexy qu'un Galaxy S3 et ça ne permet pas de faire autant de choses, mais au moins tout le monde sait s'en servir et on sait qu'on pourra passer rapidement un appel avec.

PS : C'est marrant ce 'sondage', les réactions (y compris celles du sondeur) donnent l'impression qu'il y a une mauvaise et une bonne réponse. Ca fait un peu genre "c'est quoi ta couleur préféré ? bleu ? Ah pas de bol, le rouge c'est mieux.".
Modifié par BlueScreenJunky (28 Jul 2012 - 23:08)
BlueScreenJunky a écrit :
Déjà celui qui modélise un chat ou un chien en php, que ce soit en objet ou non, je dis chapeau !


Modéliser ne signifie pas donner la vie mais concevoir avec les fonctionnalité nécessaires ^^ donc oui c'est faisable et à la portée de n'importe quel débutant (en objet)

BlueScreenJunky a écrit :
Sinon oui, le procédural c'est un peu le 3310 du php : peut être pas aussi sexy qu'un Galaxy S3 et ça ne permet pas de faire autant de choses, mais au moins tout le monde sait s'en servir et on sait qu'on pourra passer rapidement un appel avec.


C'est vrai, si comme 95% des gens tu ne te donne pas la peine de lire la notice.

BlueScreenJunky a écrit :
PS : C'est marrant ce 'sondage', les réactions (y compris celles du sondeur) donnent l'impression qu'il y a une mauvaise et une bonne réponse. Ca fait un peu genre "c'est quoi ta couleur préféré ? bleu ? Ah pas de bol, le rouge c'est mieux.".


Je pense que la question était orienté du départ, j'imagine que la volonté de jb_gfx était de savoir pourquoi des développeur utilise le procédural au lieu de l'objet.

Pour moi la seul raison valable, c'est l'obligation ( Imposé par sa boite, serveurs PHP4 compliqués à migrer, etc... ), autrement il y a soit méconnaissance, soit flemme (et l'un ne vaut pas mieux que l'autre).
Lorsqu'on doit utiliser une méthode, on doit charger toute la classe, et si on utilise que une ou deux méthodes de la classe je ne voix + du tout l'utilité de la POO pour le web

Personne n'a d'avis sur la différence de rapidité entre la POO et le procédurale ?
Modifié par perfectionniste (30 Jul 2012 - 05:34)
perfectionniste a écrit :
Lorsqu'on doit utiliser une méthode, on doit charger toute la classe, et si on utilise que une ou deux méthodes de la classe je ne voix + du tout l'utilité de la POO pour le web


Tout dépends des méthodes dont on parle...

perfectionniste a écrit :
Personne n'a d'avis sur la différence de rapidité entre la POO et le procédurale ?


Cette question à déjà était posé maintes fois et ne présente aucun intérêt. L'objet c'est une extension du procédurale, tu créé un nouveau contexte pour encapsuler ton code mais les propriétés d'un objet sont des variables et ses méthodes des fonctions, qui donc, contiennent des procédures. La rapidité d'un objet dépends donc directement de la vitesse de traitement des procédures + son fonctionnement interne, et par conséquent c'est plus long, mais on parle de microsecondes, celui qui en arrive à regarder ça doit simplement trouver un langage plus adapté que PHP a son projet.
Par exemple si tu veux afficher une liste de fillms tu utiliserais plutot un objet films->selectionnerFilmsListe() ou un objet articles->selectionnerArticlesListe ('films') ?
Modifié par perfectionniste (30 Jul 2012 - 22:24)
On peu trés bien programmer en procédurale avec un style orienté objet,

pour séléctionner les livres tu fait

include /Objets/Livres/selectionnerLivresListe.php

selectionnerLivresListe();

ça ressemble à de la POO
Modifié par perfectionniste (31 Jul 2012 - 17:12)
perfectionniste a écrit :
ça ressemble à de la POO


+1 Avec jb_gfx

Sans compter que niveau maintenance, c'est apocalyptique.

Mais dans le même style tu peut gérer tes librairies en POO avec des namespaces ce qui donne:


$maVar = new MonProjet\MaSectionDeClasses\MaClasse();
$monAutreVar = new MonAutreProjet\MaSectionDeClasses\MaClasse();


ou


use MonProjet\MaSectionDeClasses\MaClasse as MonProjetMaClasse,
      MonAutreProjet\MaSectionDeClasses\MaClasse as MonAutreProjetMaClasse;

$maVar = new MonProjetMaClasse();
$monAutreVar = new MonAutreProjetMaClasse();


Ce qui te permet d'avoir 2 classes du même nom alors qu'elles sont différentes (pratique quand on utilise plusieurs librairies)

Je pense que ce débat (qui n'en est pas un) est futile, que ceux qui ne veulent pas se mettre a l'objet ne s'y mettent pas, ça débouchera un peu le marché de l'emploi pour ceux qui sont vraiment intéressé par leur travail Smiley smile
Bon je viens de finir de lire le tuto du site du zéro sur codeigniter, trés intéressant, j'ai juste complètement lâché au moment où arrive le principe MVC.... là je dois l'avouer j'ai trouvé ça d'un bordel innommable....

Alors je voulais savoir si POO = MVC ? en bref est-on obligé d'utiliser le système de codeigniter avec le principe MVC ?
PanPan50 a écrit :
Bon je viens de finir de lire le tuto du site du zéro sur codeigniter, trés intéressant, j'ai juste complètement lâché au moment où arrive le principe MVC.... là je dois l'avouer j'ai trouvé ça d'un bordel innommable....


Le MVC tout le contraire d'un "bordel innommable". Si tu veux le PHP pur et dur imbriqué dans le HTML c'est une mise en page en tableaux, le MVC c'est du XHTML avec des CSS (je parle de la séparation des différentes couches qui composent le code).

Mais peut être que le tuto explique mal.

PanPan50 a écrit :

Alors je voulais savoir si POO = MVC ?


Non

PanPan50 a écrit :
en bref est-on obligé d'utiliser le système de codeigniter avec le principe MVC ?


Oui
PanPan50 a écrit :
Merci pour ces réponses, un exemple de "simili codeigniter" sans le principe MVC peut-être ?


Tous les gros frameworks sont basé sur l'architecture MVC (codeigniter, CakePHP, FuelPHP, Symphony...).
Mais CodeIgniter fait déjà partie de ceux qui sont assez flexibles puisque tu peux te contenter d'utiliser des vues et des controllers, sans utiliser de modèles (en fait tu fusionnes modèle et controller).

Je ne connais pas de Framework orienté objet non MVC, mais ça existe probablement.
Enfin bon il faudrait peut-être que je me force à l'utiliser, tout le monde à l'air de dire que c'est LA façon de bien coder...
PanPan50 a écrit :
Enfin bon il faudrait peut-être que je me force à l'utiliser, tout le monde à l'air de dire que c'est LA façon de bien coder...


Je pense qu'il faut commencer par comprendre l'utilité du MVC.

Sur des petits projets, ça peut paraître inutile (même si ça ne l'est jamais), mais quand tu arrive sur des gros projets, en équipe avec une maintenance sur le long terme, c'est inévitable, sinon ça risque de finir par des homicides volontaires, torture, etc...

Le but c'est de dissocier les données (Modèle, BDD) de la couche métier (Contrôleur, Code PHP, Java, etc...) et de l'interface visuelle (Vue, HTML, CSS, etc...). de manière à ce qu'un intégrateur par exemple qui ne connait pas le PHP ait une meilleur lisibilité et ne risque pas de détériorer l'application. De la même façon, si tu change un fichier HTML, tu a pas besoin de te farcir a nouveau tout le code PHP.

Perso j'ai poussé le vice jusqu'à ne plus avoir une seule ligne de PHP dans mes fichiers HTML et c'est un bonheur à travailler.

Pour ce qui est de la relation Modèle - Contrôleur, il y a par exemple Doctrine 2 (ORM de Symfony 2) qui possède des classes de type "Entity" (classes métier) et des classes de type "Repository" (classes d'interaction avec la BDD), mais quand tu crée ton appli, tu n'est absolument pas obligé de les utiliser, tu peut mixer ton modèle et ton contrôleur au sein de la même classe.
Modifié par JJK801 (02 Aug 2012 - 17:33)
Pages :