IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Les plus grand mythes de PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut Les plus grand mythes de PHP
    Bonjour à tous.

    C'est bien connu, les mythes et les légendes du langage PHP ont la vie dure.
    Je vous propose d'en faire un tour d'horizon pour tenter de les démystifier.

    Je commence avec:
    L'usage des guillements simples est plus performant que l'usage des guillements doubles.
    C'est absolument sans fondement.

    $_POST est plus sécurisé que $_GET
    Absolument TOUT ce qui provient de l'utilisateur est par définition insécurisé pour l'application.

    Une erreur ? Un arobase et hop, y'a plus d'erreur !
    C'est bien connu, les erreurs c'est magique !

    Si tu veux faire du PHP ? Il te faut impérativement un serveur web !
    S'il y a un mode CLI c'est justement pour ça tiens.

    PHP n'est pas un vrai langage objet.
    Pas au sens de Java non (comme les puristes l'entendent), mais depuis sa version 5 on dispose d'une vraie couche objet.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    L'usage des guillements simples est plus performant que l'usage des guillements doubles.
    oui et non

    non :
    echo "$a" est moins performant que echo $a
    echo "$a test"; est moins moins performant que echo $a, ' test';

    oui :
    par contre echo "hello" et echo 'hello' c'est pareil


    Une erreur ? Un arobase et hop, y'a plus d'erreur !
    et en plus c'est pas performant

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    PHP n'est pas performant, pas fait pour les gros site
    C'est pour cela qu'aucun gros site ne l'utilise (facebook , yahoo, ...)

    PHP n'as pas d'outil de développement
    Il existe de très bon IDE gratuit ou payant intégrant bien souvent un débugger (ZendStudio , Netbeans PHP, ...)

    PHP est propice au code mal organisé, mal programmé
    Il y'a du code dégeulasse en PHP, et c'est surtout du à la facilité d'accès du langage, mais un bon codeur produira du bon code.

    Etre développeur PHP / Web ce n'est pas être un "vrai" développeur
    (véridic et entendu)
    no comment ? ^^
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    Etre développeur PHP / Web ce n'est pas être un "vrai" développeur
    (véridic et entendu)
    no comment ? ^^
    Dit par des développeurs java/.net je suppose, développer en PHP est surement plus facile d'accès mais en comprendre toutes les finesses demande à mon avis un vrai travail de programmation.

  5. #5
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Citation Envoyé par gwharl Voir le message
    Dit par des développeurs java/.net je suppose, développer en PHP est surement plus facile d'accès mais en comprendre toutes les finesses demande à mon avis un vrai travail de programmation.
    Pas seulement. Dans l'entreprise où je travaille C, y'a qu'ça d'vrai !

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Pas seulement. Dans l'entreprise où je travaille C, y'a qu'ça d'vrai !
    Les développeurs C sont des extrèmistes , si y'a un Garbage collector , c'est pas du développement ^^ (humour je précise)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 80
    Par défaut
    Citation Envoyé par grunk Voir le message
    Il y'a du code dégeulasse en PHP, et c'est surtout du à la facilité d'accès du langage, mais un bon codeur produira du bon code.
    Je suis assez d'accord. PHP se traine de bonnes casseroles (parfois à raison) depuis PHP/FI et est souvent qualifié de "toy language" avec lequel on ne fait que du "quick and dirty". A mon sens (qui rejoint le votre), c'est sa relative simplicité qui est à l'origine de ça (typage faible, scripting, etc.). Les développeurs de l'époque - principalement issus du client/serveur et de l'embarqué - (dont je fais partie) ont réservé un accueil un peu plus sympathique à Java (ex Oak), qui lui, était compilé et proposait un typage fort ne bousculant pas (trop) les habitudes.

    L'avènement des frameworks (y compris lorsque nous étions encore en non-objet) a permis la structuration du code php et des design-pattern comme le MVC et MVC2 ont amené la dimension "professionnelle" qui manquait à PHP.

    Il reste tout de même qu'une autre légende urbaine veut que PHP soit cantonné aux sites perso/vitrine/whatever, mais ne convient pas pour des applications professionnelles type ERP ou métier. Là aussi c'est éminemment faux, mais ce mythe a la dent dure à tel point que les entreprises vont y préférer des solutions à base de J2EE WAS avec des EJB partout, avec parfois pour conséquence un coût d'administration hallucinant pour stabiliser une JVM qui explose en vol faute de mémoire ou que sais-je encore.

  8. #8
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,
    Citation Envoyé par Benjamin Delespierre Voir le message
    Absolument TOUT ce qui provient de l'utilisateur est par définition insécurisé pour l'application.
    je suis d'accord avec ca par contre:

    Citation Envoyé par Benjamin Delespierre Voir le message
    $_POST est plus sécurisé que $_GET
    Je ne suis pas entièrement d'accord avec le fait que $_POST n'est pas plus sécurisé que $_GET. Le fait que $_GET passe par l'url permet de récupérer plus facilement les informations (je pense) que $_POST (ou du moins la difficulté pour le récupéré via un $_POST n'est pas à la porté de tous). Vous serez d'accord avec moi sur le fait qu'il est inconcevable de mettre en $_GET des informations de type mot de passe (surtout s'il y est crypté) ou login . Le "plus" n'est peut être pas très énorme mais il est quand même présent.

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 80
    Par défaut
    Citation Envoyé par Retrokiller069 Voir le message
    Je ne suis pas entièrement d'accord avec le fait que $_POST n'est pas plus sécurisé que $_GET. Le fait que $_GET passe par l'url permet de récupérer plus facilement les informations (je pense) que $_POST (ou du moins la difficulté pour le récupéré via un $_POST n'est pas à la porté de tous). Vous serez d'accord avec moi sur le fait qu'il est inconcevable de mettre en $_GET des informations de type mot de passe (surtout s'il y est crypté) ou login . Le "plus" n'est peut être pas très énorme mais il est quand même présent.
    Je pense que la remarque de Benjamin se posait du côté serveur et sur les valeurs des données reçu par ce dernier.
    je vous rejoins néanmoins, sur le point de l'envoi de données "sensibles" (login, password, etc.) en post plutôt qu'en get, mais de ce point de vue là, la sécurité passe aussi par l'emploi de l'https qui sécurise le transport.

  10. #10
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Citation Envoyé par Agnello Fabrice Voir le message
    Il reste tout de même qu'une autre légende urbaine veut que PHP soit cantonné aux sites perso/vitrine/whatever, mais ne convient pas pour des applications professionnelles type ERP ou métier.
    Je pense qu'elle est venu à cause des évolutions rapides des navigateurs. Cela n'a aucun impacte sur le PHP, c'est vrai, mais plus sur l'interface, ce qui du coup à favoriser les autres langages. Je sais que ce fut le problème dans une entreprise d'ERP où j'avais effectué mon stage et que par souci de facilité, ils ont préféré passer sous FLEX pour ne plus avoir ce problème. Vous allez me dire "et alors ils auraient pu continuer à utiliser PHP", mais il est vrai aussi que dans ce genre de langage il privilégie d'autres types d’accès au serveur.

    Je pense aussi que cela vient du fait que souvent PHP=WEB...

    Citation Envoyé par Agnello Fabrice Voir le message
    Je pense que la remarque de Benjamin se posait du côté serveur
    Autant pour moi

  11. #11
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    @Retrokiller069
    Je ne suis pas entièrement d'accord avec le fait que $_POST n'est pas plus sécurisé que $_GET. Le fait que $_GET passe par l'url permet de récupérer plus facilement les informations (je pense) que $_POST (ou du moins la difficulté pour le récupéré via un $_POST n'est pas à la porté de tous). Vous serez d'accord avec moi sur le fait qu'il est inconcevable de mettre en $_GET des informations de type mot de passe (surtout s'il y est crypté) ou login . Le "plus" n'est peut être pas très énorme mais il est quand même présent.
    Installe donc la webdevelopper toolbar et firebug pour Firefox et tu verra avec quelle facilité n'importe qui peut transformer les formulaires, le type des champs et les données POST avant envoi. Je maintiens ce que j'ai dit, l'idée que POST soit plus difficile à modifier que GET n'elève rien au fait que la sécurité de ces deux méthodes est strictement la même: faible.
    Si vous concevez une application en supposant que le fait de mettre les données en POST les sécurise ne serait-ce qu'un peu, vous faites une énorme erreur.

    @Agnelo Fabrice
    Il reste tout de même qu'une autre légende urbaine veut que PHP soit cantonné aux sites perso/vitrine/whatever, mais ne convient pas pour des applications professionnelles type ERP ou métier. Là aussi c'est éminemment faux, mais ce mythe a la dent dure à tel point que les entreprises vont y préférer des solutions à base de J2EE WAS avec des EJB partout, avec parfois pour conséquence un coût d'administration hallucinant pour stabiliser une JVM qui explose en vol faute de mémoire ou que sais-je encore.
    En effet, mais j'ai constaté également l'effet inverse qui à tendance - et c'est une bonne chose - a se démocratiser: la conversion ou refonte d'application Java en PHP. Ce qui peut s'expliquer selon moi par une réduction significative des coûts de développement / maintenance / exploitation beaucoup plus faibles qu'avec Java. Je pense que l'intégration de l'OOP en PHP n'y est pas non plus étrangère, ni la similitude entre le modèle objet de Java et celui de PHP.
    Rappellons que le salaire moyen d'un développeur PHP est très largement en dessous de celui d'un développeur Java

    @Retrokiller069
    [QUOTE]Je pense aussi que cela vient du fait que souvent PHP=WEB.../QUOTE]
    C'est vrai mais de plus en plus d'entreprises choisissent PHP pour des intranets ou des GUI - à commencer par la mienne.

  12. #12
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Installe donc la webdevelopper toolbar et firebug pour Firefox et tu verra avec quelle facilité n'importe qui peut transformer les formulaires, le type des champs et les données POST avant envoi. Je maintiens ce que j'ai dit, l'idée que POST soit plus difficile à modifier que GET n'elève rien au fait que la sécurité de ces deux méthodes est strictement la même: faible.
    Si vous concevez une application en supposant que le fait de mettre les données en POST les sécurise ne serait-ce qu'un peu, vous faites une énorme erreur.
    n'importe qui ne c'est pas utilisé webdevelopper toolbar et firebug. Je ne dis pas que ce n'est pas simple de récupérer des informations lorsque c'est un $_POST, il n'y a pas une grosse difficulté. Mais tu ne peux pas nier que c'est plus simple en methode Get que en méthode post? Leur sécurité sont faible mais je pense que la méthode Get est légèrement plus faible.

  13. #13
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 80
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Rappellons que le salaire moyen d'un développeur PHP est très largement en dessous de celui d'un développeur Java
    C'est, je crois, un des points majeurs qui peut faire basculer vers PHP. En terme de temps de développement (et uniquement ce poste là), avec des frameworks de chaque côté (Symfony/Doctrine en PHP et Struts2/Hibernate en J2EE par exemple), les temps sont AMHA équivalents.
    Sauf que tout va se jouer sur le chiffre en bas à droite, qui prendra en compte les coûts de license, de compétences (administration, développement, encadrement, etc.) et de maintenance. Et là, PHP tire son épingle du jeu.

    Citation Envoyé par Benjamin Delespierre Voir le message
    C'est vrai mais de plus en plus d'entreprises choisissent PHP pour des intranets ou des GUI - à commencer par la mienne.
    Chez nous, pas encore en ce qui concerne les intranet, mais pour les applications métier que nous développons en interne, c'est PHP (et du java pour d'autres parties, comme certains webservice et processus d'extraction/réplication).

  14. #14
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 80
    Par défaut
    Citation Envoyé par Retrokiller069 Voir le message
    Je pense qu'elle est venu à cause des évolutions rapides des navigateurs. Cela n'a aucun impacte sur le PHP, c'est vrai, mais plus sur l'interface, ce qui du coup à favoriser les autres langages.
    Oui, des contraintes externes peuvent écarter PHP. Ce peut être le cas notamment si on veut rester cohérent avec l'ensemble d'un SI qui serait par exemple basé sur du Microsoft (.Net facilitera la mise en œuvre de toutes les couches de communication avec son écosystème environnant).

    Citation Envoyé par Retrokiller069 Voir le message
    Je sais que ce fut le problème dans une entreprise d'ERP où j'avais effectué mon stage et que par souci de facilité, ils ont préféré passer sous FLEX pour ne plus avoir ce problème. Vous allez me dire "et alors ils auraient pu continuer à utiliser PHP", mais il est vrai aussi que dans ce genre de langage il privilégie d'autres types d’accès au serveur.
    Dans ce cas précis, je trouve que PHP (mais je me fourvois peut-être, voire surement car mon expérience sur ce point précis date un peu maintenant) est un peu à la traine si on le compare aux deux autres technos mainstream (.Net et J2EE) sur l'exposition de WebServices.
    Là où .Net et J2EE vont générer du WSDL tout seuls comme des grands à exposer aux clients divers, il faut se fader l'écriture du WSDL en PHP avec toutes les contraintes que cela implique.

    Pour le front-end dictant le choix de la techno sous-jacente, là encore il peut y avoir un soucis de cohérence dans l'écosystème (ce qui est bon, ne serai-ce que par soucis de capitaliser sur le nombre de compétences internes ), mais on faisait du multi-canal bien avant que ces technologies de présentations riches n'émergent vraiment, mais si on expose des services web (wsdl, rest/json, ou autre) peu importe, on pourra plugger n'importe quel front-end sans même avoir à toucher le serveur.

    Citation Envoyé par Retrokiller069 Voir le message
    Je pense aussi que cela vient du fait que souvent PHP=WEB...
    C'est effectivement une bien belle casserole que nous avons là

    @Benjamin => désolé, je crois que je me suis un peu écarté du sujet initial.

  15. #15
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par Agnello Fabrice Voir le message
    Là où .Net et J2EE vont générer du WSDL tout seuls comme des grands à exposer aux clients divers, il faut se fader l'écriture du WSDL en PHP avec toutes les contraintes que cela implique.
    C'est sans doute pour ça que l'on va privilégier un WS en REST si on le fait en PHP. Peut être que si SOAP est nécessaire c'est que PHP n'est plus l'outil idéal pour le webservice.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 842
    Par défaut
    Citation Envoyé par Agnello Fabrice Voir le message
    Dans ce cas précis, je trouve que PHP (mais je me fourvois peut-être, voire surement car mon expérience sur ce point précis date un peu maintenant) est un peu à la traine si on le compare aux deux autres technos mainstream (.Net et J2EE) sur l'exposition de WebServices.
    Là où .Net et J2EE vont générer du WSDL tout seuls comme des grands à exposer aux clients divers, il faut se fader l'écriture du WSDL en PHP avec toutes les contraintes que cela implique.
    Grâce aux frameworks, ce n'est plus le cas, le WSDL s'écrit tout seul aussi (en tout cas en Zend Framework je peux le certifier, je ne sais pas pour les autres)
    http://framework.zend.com/manual/fr/...discovery.html

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

Discussions similaires

  1. requête pôur sélectionner les 5 valeurs les plus grandes ?
    Par kikidrome dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/11/2007, 16h29
  2. Réponses: 6
    Dernier message: 04/11/2007, 22h15
  3. Réponses: 11
    Dernier message: 22/03/2007, 16h45
  4. Requete récupérer les 3 numéros les plus grands
    Par nerick dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/01/2006, 13h51
  5. afficher les plus grand montants
    Par bertrand_declerck dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/08/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo