Etre un bon dev ce n'est pas être un dev spécifique sur un langage en particulier ... Etre un bon dev c'est être capable de choisir le bon outil en fonction de la situation. VALIDER
En théorie... dans la réalité le mec prend la technologie qu'il connait.... sans plus.... Dans la réalité le mec apprend une technologie mainstream parce que la plupart des entreprises utilisent ça.... JAVA, PHP, .NET pas plus
Choisir le couple Angular/Node.js avec tout les problèmes que cela pose du fait de l'asynchrone c'est une belle connerie. 90% des sites que je vois actuellement qui sont Angular/Node.js, c'est du nawak puissance 1000. Le choix PHP reste encore très logique sur beaucoup de choses, mais la tendance est vers les frameworks JS. Tout est donc une histoire de tendance aujourd'hui, le confrère s'en sert donc faut s'en servir ; on en est là aujourd'hui et c'est une grosse erreur (avis partagé par mon formateur en tout cas).
Christophedlr NodeJs en prod dans une entreprise tu le verra jamais Mais Angular+Java Spring ouï. PHP dans des applications d'entreprise tu ne le verra jamais non plus. A moins de tomber dans des architectures très ancienne. Les architectures d'entreprise sont divisés en n-tiers. Impossible avec php
de toutes façons y'a le bon dev et le mauvais dev, on les reconnait direct ! le mauvais dev , il ouvre un logiciel il écris des commandes ça c'est le mauvais dev.. et le bon dev lui il ouvre un logiciel il tape des commandes mais c'est un bon dev. je pense qu'il a été utile que je clarifie ceci .
@crazyPugOfficial pourtant c'est clair ! le mauvais dev , il arrive , il allume son ordi , il lance un logiciel , et il tape des commandes alors là c'est sur c'est un mauvais dev ! par contre le bon dev , lui tu vois , tranquil il arrive , il allume l'ordi , juste apres il lance son logiciel et il tape des commandes , c'est trop flagrant la difference tu vois direct la nuance ! j'espere que t'es un peu plus formé a faire la différence grâce a moi . @plus.
J'aime vraiment bien tes vidéos .. Merci. J'ai commencé le dev. il y a 40 ans ... et sa a toujours été la 'guerre' des langages ... ce n'est pas nouveau. Mais PHP 7 et Laravel par exemple .. ça commence vraiment à être sympa à lire (et faire). En conclusion je suis bien d'accord avec toi .. ne jamais être trop dans ses habitudes et explorer ce qui peut être mieux adapté au nouveaux projets.
Je viens d'arrêter la vidéo à 10:51 pour aller jeter un oeil à l'article "PHP, a fractal of bad design", car j'en avais marre des poncifs éculés sur "C'est fait pour les noobs parce que c'est facile" (désolé, j'ai pas envie de programmer de l'assembleur pour ouvrir un fichier et écrire dedans) : et même tarif, beaucoup de pleurnicheries dès le début, mais on comprend quand même qu'il y a une sorte de fondement (métalogique) qui se dessine, et surtout j'ai trouvé un passage ENFIN concret, qui effectivement montre une faiblesse (entre autres) de PHP. Le passage commence à "Let me expand on that last part a bit." : "In, say, Python, the equivalent .index methods will raise an exception if the item isn’t found. If you don’t check for that case, your program will blow up. In PHP, these functions return false. If you use FALSE as an index, or do much of anything with it except compare with ===, PHP will silently convert it to 0 for you. Your program will not blow up; it will, instead, do the wrong thing with no warning, unless you remember to include the right boilerplate around every place you use strpos and certain other functions." Là, on comprend ce que l'auteur essayait de dire depuis le début à propos des comportements tordus de PHP, et notamment son analogie sur les tournevis, marteaux et pinces inadaptées, qui produisent une charpente sens dessus dessous et mènent à ce que à peu près tout peut buguer sans même le savoir.
Bon, j'ai mis pause à 3:30, commenté puis me suis dis « non, regarde » ; j'ai effacé et remis play. Puis, j'ai mis pause à 5:00, commenté puis me suis dis « non, regarde » ; j'ai effacé et remis play. Puis, j'ai mis pause à 7:13, commenté puis me suis dis « non, regarde » ; j'ai effacé et remis play. Puis, j'ai mis pause à 13:38 Le problème, c'est que je commence à cumuler un certain nombre de remarques ; il manque, il me semble, un certains nombres de précisions. Le rapport avec les débutants me semble ne pas avoir de sens ; si un débutant ne prend pas le temps de lire la documentation et n'apprend les spécificités du langage qu'il emploie. Alors il peut utiliser le langage qu'il veut cela ne changera rien. *Le typage faible* Là c'est absolument faux :s Le typage n'est pas *faible* mais *Dynamique* ; d'où le triple égale, comme tu le rappelles, qui permet la vérification du type. Alors faible ou dynamique le type ? ; cela change tout ! Et puis c'est quoi un type faible ? Va falloir s’assoir pour me la tenir cette définition. *Pas de déclaration de variables* La déclaration de variable existe et tu en fais exactement usage sur la première mais à mauvais escient : le typage étant dynamique, tu as ici l'équivalent Visual Basic avec Variant (à éviter soit dit en pensant). *UTF-8* En java, c'est pareil, les fichiers properties par défaut en UTF-8 c'est Java 9 (docs.oracle.com/javase/9/intl/internationalization-enhancements-jdk-9.htm) donc non c'est n'est pas le seul calvaire de PHP ;) Ensuite, malgré la terminologie employé par la documentation *strlen - Calcule la taille d'une chaîne* ne signifie absolument pas la taille en nombre de caractères mais la *taille* ; ok, mais laquelle ? *Note: strlen() retourne le nombres d'octets plutôt que le nombre de caractères dans une chaîne.* Pour conclure sur cette diapo, l'important c'est la documentation et l'expérience. Pour sûr, un junior mal accompagné c'est un junior dans le mur. Puis, j'ai mis pause à 21:50 Franchement, parler de communauté, avec ce chauvinisme ! Tu as pas honte :p On parle pas de Zend Framework 3 et de Zend Expressive ? C'est quand même fort ;) Puis, vient ta conclusion *Mais au final ?* qui m'a retourné le cerveau !!! Comment avoir une conclusion si explosive en étant si peu loquace sur certaines notions ? J'adorerai avoir une discussion avec toi, pour aller plus loin ; souvent dans tes vidéos j'entrevois une lueur d'espoir de voir certains vulgarisateurs aller plus loin dans l'explication de certains concepts. N.B : Je précise, je travaille actuellement avec du Java ^^ Et j'en vois des horreurs qui me donnent envie d'aller me cacher dans un coin, loin, loin far away ; genre, appel de méthode quelconque *Object entity = class.getFoo((Bar) null);* P.S : Le commentaire à l'air brouillon, c'est normal ! Il l'est :( Mais je te promets un meilleur retour d'ici quelques jours même si je ne sais pas encore sous quelle forme ; enfin, je sais que ce sera pas un support vidéo, c'est sûr :p
Merci pour tes retours qui sont effectivement pertinents. Si tu veux discuter PHP (ou autre) je suis souvent dispo sur le tchat : grafikart.fr/tchat C'est toujours difficile de trouver la bonne balance entre trop de précision et pas assez. - Pour le typage faible je fais référence à la conversion implicite qui a lieu, mais effectivement la définition de ce terme est assez peu claire - Pour la déclaration des variables tu as parfaitement raison et je pense que je me suis mal exprimé. Le problème que je voulais soulever est qu'il est parfois difficile de savoir si une variable a été précédemment définie (une déclaration explicite permet d'éviter d'écraser une variable sans le vouloir) - Pour strlen, ce que je voulais dire c'est que (sans lire la documentation) le résultat attendu est différent du résultat obtenu (ce qui est facteur de surprise et d'erreur) - l'UTF8, comme je le précise, est toujours mal géré par les langages qui ont été conçu avant l'apparition de l'unicode (comme le problème de typage, ce n'est pas propre à PHP) - Zend pourquoi j'ai oublié Zend... :( (pour me faire pardonner j'ai déjà fait une vidéo dédiée à Zend Expressive pour essayer de le faire mieux connaitre) Au final j'ai essayé de pas mal condenser ce que je voulais dire mais je pense revenir plus en profondeur sur certaines notion dans un cadre plus "académique" dans une formation dédiée à PHP.
Bonne analyse dans l'ensemble, j'ai relevé d'autres imprécisions (notamment un amalgame systématique du langage et du runtime, des contradictions sur les perfs mais bref ;)). Mais je voulais rebondir sur l'histoire de strlen. Historiquement cette fonction est utilisée (et l'usage est important pour définir l'usage d'une fonction) pour compter le nombre de caractères. Quand les multibytes sont arrivés, ça a foutu la merde dans la tête des gens et on a donc rajouté mb_ pour restaurer le comportement d'origine, tout en conservant strlen et en lui affectant un autre rôle que celui communément utilisé (alors qu'il aurait fallu faire l'inverse, garder strlen en prenant en compte les mb et créer une méthode strbytelen par ex ?). Et c'est tout le problème de PHP aujourd'hui : le fait d'éviter à tout prix les breaking changes donne des bizarreries dans le style. D'autres langages en sont victimes (coucou JS !), mais c'est assez prégnant sur PHP.
C'est super intéressant en vrai cette vidéo ! J'me suis arrêté à PHP 5 et j'ai arrêté de coder il y a bien longtemps, mais l'histoire est vraiment intéressante.
L'étape la PLUS importante dans un cycle de projet est la livraison, les clients ne vous demanderons jamais quel language vous avez utilisé, PHP est simple, efficace et facile à déployer, mise à part les tonnes des frameworks/CMS ... qui tournent en PHP La réponse pour moi est facile: j'utilise le language qui me perment de livrer et faire de l'argent dans les plus brefs délais.
Cela dépend le type de client, je travaille beaucoup avec des agences qui continuent et reprennent le code derrière (forçant ainsi la techno / framework)
Grafikart.fr c'est aussi qu'ils veulent pas perdre de temps a analyser le projet, de plus en php niveau fw il y a des grosses tendance, hors nodejs ça pop toutes les minutes
tout est question des besoins. on utilisera pas PHP pour une application qui nécessite des transactions distribuées: assurer l'exécution de plusieurs requêtes SQL sur plusieurs BD différentes qui elles même sont situées sur des serveurs différents.Mais PHP reste un très bon langage pour faire du Web même s'il ne couvre pas tous les besoins
Ce n’est pas une question de popularité. Le PHP ne périclite pas parce qu’il a été jadis très utilisé, il périclite parce qu’il ne répond pas aux problématiques de demain, qui sont aussi celles d’aujourd’hui. Et puis dire qu’il faut être « rebelle » pour ne pas faire de PHP est un peu ridicule : le PHP serait-il LE langage de raison ? Personnellement, je ne pense pas, je dirais même que c’est le contraire. Un développeur se doit, avant tout, de savoir choisir ses technos et d’être capable de sortir de sa zone de confort. Quand il se rend compte que le PHP ne répond pas à ses besoin, alors, il se doit d’aller trouver d’autres technos plus efficaces et plus intéressantes !
@@baptistedevessier Il y a aussi des virus facilement injectable, mais bon, les personnes doués de mauvaises fois sont ceux qui savent pas réellement sécuriser, car c'est pas le "htmlspecialchars"qui va suffir :/
Pour info, la majorité des problèmes de consistence dans les fonctions vient en fait ... du C ! Il a été décidé de conserver les nom de fonction du C à un moment. (il y a peut être quelques problèmes humains tout de même). Et PHP n'est pas vraiment un language synchrone... Et de nouvelles fonctionnalités continuent d'arriver pour le rendre de plus en plus asynchrone. Le fait que tout soit sur le même thread ne veut pas dire que c'est synchrone (JS est bien monothread aussi). Asynchrone veut dire non bloquant. Et PHP n'est pas forcément bloquant grâce à des fonctionnalités avancées (streams). Et, si, ReactPHP fait bien de l'asynchrone en PHP, et oui, ça utilise des choses de PHP qui sont déjà disponibles !
J’ai mal pour l’éléphanteau à la fin... Sinon très bonne vidéo avec un ou deux bémols. Avant Composer il y avait PEAR et PECL, il me semble qu’ils sont toujours vivants. ;-) Et puis on peut vraiment tout faire avec PHP, il est puissant parce qu’on peut encore coder en PHP 7 comme on le faisait en version 3 et ça le rend très malléable. Il possède des fonctions très bas niveau de gestion des processus qui le rendent aussi très intéressant pour du code CLI. Enfin, dire que PHP est devenu un vrai langage parce qu’il a fini par adopter la POO ça n’est pas tout à fait juste. La POO n’est pas un gage d’honorabilité. Pour ma part PHP est devenu un vrai langage quand il a démontré qu’il pouvait occuper 80% des serveurs web face à Java et .Net.
Les personnes qui pensent que leur langage est meilleure parce que plus complexe pensent probablement également être les meilleurs codeurs parce qu'ils ont plus de facilité à comprendre leur code que leurs collègues, alors qu'en fait ils écrivent juste du code illisible.
13:00 "C'est toujours quelque chose qui fait jamais". C'est beau !!! Hahaha ! Plus sérieusement, encore une super vidéo, merci pour tout ce que tu nous apprends. ;)
Très bonne vidéo. Un bon travail de recherche qui me permet d'avoir quelques éléments de réponse au sujet des remarques véhémentes de certains de mes collègues à l'encontre de PHP ! :)
La video commence à dater mais l'analyse me semble toujours d'actualité et des plus pertinente. Tres belle presentation et très concrète ça fait du bien de l'entendre !!!
Le problème avec les langages informatiques c'est que personne n'est d'accord sur la manière de déterminer ses qualités. Un bon langage est-il un langage prodiguant de bons outils ? Est-ce un langage permettant d'écrire des programmes avec le moins d'overhead possible ? Un bon langage est-il un langage qui est assez intuitif dans son approche ? PHP certes c'est "plutôt" lent comparé à certains de ses concurrents mais en termes de fonctionnalités (intrinsèques au langage, eg. Trait) c'est plutôt intéressant. Le problème est toujours le même de toute façon, il n'y pas vraiment de "bon langage", c'est toujours un outil adapté à une(des) situation(s), il faut juste savoir faire de bonnes décisions.
C'est moi ou y a un truc qui cloche dans la définition que PHP (et non la tienne directement) a de "synchrone" ? PHP EST asynchrone, il exécute les tâches les unes après les autres. Par contre, même zend disent que PHP EST synchrone. En JavaScript si tu veux déclarer une fonction en step by step, tu fais "async". Y a un truc qui m'échappe ou ... ? Quelqu'un pour éclairer ma lanterne?
pour faire une fonction step by step en javascript, tu n'utilise pas "async". Async est la pour dire a javascript que le code a l'intérieur de la fonction peut potentiellement être asynchrone, en utilisant "await" tu dis à javascript que tu va effectuer une opération asynchrone (lire un fichier, requete HTTP, etc) et que tu veux capturer cette valeur (ou tout simplement attendre) avant de continuer l'exécution. Javascript va donc "sortir" de la fonction pour exécuter autre chose puis revenir plus tard.
@@grafikart Merci pour ta réponse ! Pour continuer sur m'a lancé à vrai dire je n'ai pour objectif "que" de rentrer dans le monde de l'informatique qui me passionne mais je suis un vrai débutant ^^" Donc je n'ai pas de projets concrets pour le moment si ce n'est celui de m'instruire et de débuter. Je commence une formation en 6 mois qui propose soit le Php soit le Node.js pour le backend. Alors pour une débutant faudrait-il aller vers une technologie stable comme PHP mais donc apprendre un langage différent en front (le JS) ou m'orienter vers du full JS avec Node en back ? Je te remercie pour tes précieux conseils 😊.
Vers 20min, tu parle de file d'attente, tu peux partager un article dessus car je n'ai rien trouvé ? Par exemple pour une file d'attente pour envoyer des mails ou autre chose...
Le mode strict est, à mon sens, le meilleur move de PHP. Le typage dynamique, c'est mignon, mais ça rend le code beaucoup plus chiant à tester et réserve pas mal de mauvaises surprises. En ce qui concerne la simplicité d'un langage, ayant fait du Go mon principal langage de programmation backend, je peux dire une chose: une simplicité "bien pensée" est un énorme atout pour un langage.
La dernière fois que j'ai fais du PHP, ce que je trouvais le plus désagréable, c'est qu'en cas de bug, c'est compliqué de comprendre d'où vient l'erreur : pas de débuguer, pas de backtrace correcte, si il y a des requêtes qui viennent du javascript (type AJAX) et qu'il y a un souci, bonjour les embrouilles (surtout si on reprend un code de quelqu'un d'autre). Est-ce qu'il y a des évolutions par rapport à ça, des facilités pour débuguer ?
Avec des exceptions tu peux avoir de super backtraces. T'as un debugger, il s'appelle Xdebug. Si t'as du AJAX à débugguer, le problème est exactement le même qu'avec tout autre langage : tu passes par Postman, ou alors tu utilises xdebug, etc.
Excellente diction et tout est très bon, c'est rare des vidéos de programmation, françaises, aussi bien faites. A quand les même sur Python / Django ? ^_^
Ce n'est pas prévu malheureusement, je ne pratique pas du tout python pour le moment (je n'exclue pas de m'y mettre pour le machine learning si j'ai le temps un jour ;) )
J'ai utilisé PHP dans le passé et ce que j'ai retenu c'est que c'est un langage qui est un peu plus verbal que python ou ruby, cad qu'on écrit plus de code pour faire la même chose, de plus quand mon code ne marchait pas comme prévu ça me prenait plus de temps pour savoir ou était le problème, je n'utilise plus PHP depuis 2011 et je ne sais pas si la plupart des problèmes ont été résolu, pour le "PHP c'est mort" j'ai surtout entendu ça sur ruby
En fait l'avantage d'un langage verbeux c'est qu'il n'y a pas de "convention magique derrière". C'est très rare en PHP d'avoir un bug qui est réellement lié au langage en lui-même : le plus souvent, ce sont les frameworks ou libs que tu utilises qui vont te poser problème.
PHP → ASP → JSP Même logique. Une partie HTML, Une partie langage avec des balises particulières. Honnêtement je pense que c'est la logique la plus.... (au hasard) logique pour ce genre de développement. Le premier truc qu'on apprend avant de faire des page JSP c'est d'écrire des servlet. Amusez-vous a écrire des sites complets, de gros projets en servlet. Possible évidemment mais pourquoi fumer de la tête inutilement quand on peut avoir un code à la fois lisible et fonctionnel. Non c'est certain je te rejoins sur ça. D'ailleurs d'une manière générale je conchie l'élitisme et typiquement cet élitisme là dont malheureusement l'IT et la technologie en générale est chargée. J'ai développé en PHP 5 y'a un moment. :) Aujourd'hui je suis Javaiste et j'emmerde les cons qui pensent que C c'est mieux ! :P Java aussi à cassé des trucs et ils ont récemment décidés de ne supporter que les 3 dernières versions et une LTS. Avec Java 9 on a introduit le concept de modularité que je comprend parfaitement sur le principe mais en pratique je misère encore avec mais l'idée est bonne. J'ai lu des gens sur des communautés de dev dire que PHP c'est dépassé (et pareil pour Java d'ailleurs) mais par chez moi Java et PHP sont les langages rois (avec C#). C'est un peu hors sujet mais j'ai parlé avec des dev qui prétendent ne pas travailler avec un SRS (ou cahier des charges). Soit ils font que des Hello World, soit ils galèrent. Vu la taille et la complexité des projets en entreprise c'est pas vraiment possible. Décidément c'est pas parce qu'on est un obscur dev sur le net qu'on est fiable pour autant. Après chacun son avis mais faut toujours trier le bon grain de l'ivraie. Bonne conclusion. Les trous de balle qui pensent que leur truc est mieux allez vous faire... :) P.S. : Oh ben tiens. Après une bonne nuit de sommeil je consulte une bonne référence pour les script linux et je tombe sur cette citation. No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. --Herbert Mayer
Excellente vidéo, on entend souvent cette remarque et il fait bon avoir des détails sur les arguments pour et contre. Un fervent défenseur du multi-langage.
Même si le titre fait peur, la vidéo est pédagogique et claire. Pour ma part la bascule de PHP5 à PHP7 est un peu douloureuse, notamment pour passer les fonctions MySql en PDO, nécessitant de réécrire certaines parties de mon site, entièrement fait à l'ancienne, avec NotePad++. Mais je me vois mal changer de langage, même si je me mets de plus en plus au javascript pour dynamiser un peu l'appli. Merci pour tes tutos très bien faits et qui donnent un aperçu de ce qui existe...
Salut Grafikart... Merci pour cette belle vidéo parce que comme toujours, tu as pris soin de bien indiquer les avantages et inconvénients de PHP... Et ça, c'est super. Merci...
Utilise Windsurf avec la nouvelle intelligence artificielle Claude Sonnet 3.5 mais il faudra quand-même savoir coder pour remonter la pente des bugs que l'IA ne sait pas résoudre.
j'ai une question , es-que RoR peut remplacer php , enfin plutôt es-que que RoR peut faire les meme tache que du php car pour mon site il faut que je fasse du backend et je ne sais pas quoi prendre (mon objectif pour mon site et t'automatiser une tache ) du coup si quelqu'un peut me dire lequel et le mieux pour cette tache merci d'avance
Grafikart.fr avez vous une piste pour que je puisse avec l’aide d’une api récupérer des données et ensuite avec c’est données les inclures automatiquement dans mon code html ?
en fait au contraire je trouve qu'être un bon développeur en php qui est ouvert et vous laisse un peu le choix d'écrire avec plus de liberté est plus difficile qu'écrire un joli code par ce que le compilateur l'exige et te guide en tout avoir le choix est plus difficile je trouve a part ca je suis d'accord :)
Perso j'utilise beaucoup Angular couplé à PHP. PHP se contente de faire des requêtes MySQL et de renvoyer le résultat au format JSON. Ca fait très bien le boulot, c'est très rapide, et je suis à peu près certain que mes applis tourneront sur n'importe quel hébergement mutualisé sans galère et sans obligation de louer un serveur dédié, ce qui est aussi un aspect important dans le choix d'un langage. Mais c'est vrai que le manque de cohérence est un point que je trouve négatif. Un autre point négatif, je trouve, est la flèche pour accéder aux attributs et méthodes des objets. Pourquoi ?!? Ca fait deux caractères à taper, et chiants à taper sur n clavier azerty, ça fait perdre un temps fou. C'est pas bien le point ?
Djé tu parles d’hébergement mutualisé et comme quoi le fait qu’une app puisse y tourner est un facteur très important. Cependant, sur un serveur mutualisé tu ne peux faire tourner majoritairement QUE du PHP. Il existe pour les autres langages, d’autres solutions, et elles ne sont pas forcément plus onéreuses qu’un mutu ...
Pour avoir testé python php javascript node js, PhP est très utile dans de nombreux cas et surtout pour le ecommerce et dans le traitement de calcul financiers correct. Parceque python et js font des erreurs sur les decimals, en faisant 0.3 -0.2 par exemple vous aurez 0.9999999999, ca veut dire que vous aurez toujours des erreurs et que les valeurs retournés seront fausses sauf en passant par une librairie genre decimal js mais la ca devient l'usine. Je dis ca parceque jai bossé sur une marketplace avec des calculs en js sur le front et cetait la misère à cause de ce bug
J'aime beaucoup cette vidéo qui fait parfaitement écho à celle-ci : ruclips.net/video/xLYwZ34WSzk/видео.html Il y a 2 choses que je trouve dommage : dans un premier temps, certains "problèmes" que tu exposes n'en sont que d'un avis personnel, et que lorsqu'on apprend à coder, en réalité ces problèmes ne le sont plus après un petit temps (certains autres spectateurs ont déjà fait des commentaires à ce sujet ;) ). Une autre chose, c'est que lorsque tu fais l'historique de PHP, et que tu parles du "creux" entre PHP 5.0 et 7.0, en réalité il n'y a absolument aucun creux : • 5.1 en 2005 avec ses variables de compilation et ses optims • 5.2 avec des perfs améliorées en 2006, aussi et de nouvelles extensions • La révolution 5.3 en 2009 avec le concept de namespace et de closures (à l'origine de tous les frameworks et toutes les libs d'aujourd'hui), et l'arrivée de php-fpm en 2010 • Ensuite 5.4 avec le serveur natif en CLI et les traits • 5.5 avec la constante statique "::class", l'opcache natif, des perfs optimisées et aussi au niveau de l'opcache • 5.6 avec les fonctions variadiques. En fait, y'a eu aucun creux (allez, un peu, entre 2006 et 2009, mais c'est là que PHP 6 a été annulé en 2010 justement). Techniquement, la seule chose manquante dans PHP pour devenir leader total du marché, c'est l'asynchrone. Tout le reste est déjà soit dans le langage, soit dans les frameworks populaires. Contrairement à NodeJS ou y'a quasiment rien dans le langage (le souhait d'ECMAScript de ne pas intégrer "trop" de standards) , et tout dans les 9825367654 dépendances de chacune des dépendances de nos projets...
6 лет назад
Alex Rock pour l asynchrone ça bouge actuellement : ruclips.net/video/_aQ72M8ARtY/видео.html
Salut ! Est-ce que tu peux faire un tuto sur symfony 4 + websocket (gos/web-socket-bundle) + angular 5. Un petit chat en temps réel mais du genre api rest!
Merci pour ces informations très utiles , ce que je souhaite vraiment c'est que vous fassiez une vidéo la ou vous nous citer expliquer tel language de prorammation pour telle situation , Merci beauoup Monsieur .
A noter que j'en chie depuis 12 ans pour me lancer tranquillement dans la programmation, et que comme un gros flemmard j'ai particulièrement bien aimé PHP, non pas pour sa "facilité", mais pour sa clarté. Eh oui. A contrario, Javascript est d'une laideur épouvantable, avec ses déclarations d'ouverture de librairies ou d'objets "on-sait-pas-quoi" qui n'ont aucune gueule, et tout ça juste pour lancer un début d'instruction. Pour ça, PHP est beaucoup plus proche de langages "clairs" et directs comme MS-DOS (je suis un fana des .bat, à défaut d'avoir eu le temps de rentrer dans VBscript ou C++), et les instructions facilement identifiables. Par contre, je suis de l'avis de l'auteur de l'article "PHP, a fractal of bad design" : PYTHON est un super langage !! Et ça j'ai pu le voir même sans avoir commencé à l'aprendre ! Car rien qu'en regardant des scripts, on voit bien que le chaînage des instructions est génialement organisé. Par contre il faut avoir une vision totale du jeu de classes qu'on développe ^^, sinon c'est une partie de labyrinthe en reprenant le code d'un autre. Mon opinion, c'est que l'auteur de l'article est comme moi : un peu autiste, et il aime ce qui est fractalement bien conçu et symétrique ! :D
Avec un grand nombre d'inconvénients, mais quand on s'y est bien habitué, on lui parle comme à un ami ! Et puis, vous connaissez une alternative crédible vous ?
De toute façon, hormis C/C++/Rust (pour ce qui est des languages non purement fonctionnels), c'est bien évidemment de la m. Le plus difficile est d'admettre que la grosse majorité des logiciels fabriqués aujourd'hui sont de la m., mais c'est bien un fait.
je ne sais pas en quoi ils codent leurs sites Internet aujourd'hui mais j'ai pour habitude que ça claque de partout. en PHP3 c'était rustique mais on avait pas de problèmes de ce genre. la chienlit a commencée quand ils ont commencé à vouloir mettre de l'objet là ou il n'y en avait pas l'utilité. et le coup de grâce c'est quand ils se sont amenés avec leurs CMS et leurs Framework. on était revenu au stade des machines à gaz avec des architectures propriétaires. pour une semaine de devs il fallait six mois de maintenances. et je ne vous parle pas des interfaces responsive design en 320x240 qui ne fonctionnent que sur la version du navigateur de celui qui l'a développée. après vous me direz quand on travail en Scrum et en Sprint dans un open space faut pas s'attendre à du bon résultat.
Regarde api-platform.com Création d une api au norme avec PHP/Symfony en 5 minutes avec un admin CRUD en React autogeneré avec la documentation de l’API
Les gens ont beaucoup trop de préjugés et préfèrent coder comme tout le monde sur un CMS avec Bootstrap. Je trouve le PHP magique et fantastique car il n'est que de la logique.
C'est un langage parfois "'brouillon" mais ca s'améliore un peu je trouve ;-) et puis c'est le résultat qui compte. Les visiteurs se moquent que votre site soit en PHP ou Python ou autre... Par contre pour du travail en équipe un framework Php (ou autre) est nécessaire dans la plupart des cas. En cas de problème avec un langage on peut aussi greffer des modules sous forme de Webservices par ex qui seront développés avec un autre langage web. Un bon dev doit être spécialisé mais aussi connaitre voir maîtriser plusieurs langages et outils pour faire face à toutes les problématiques. C'est un paradoxe ;-)
PHP a des qualités et défauts comme tous les langages (cf. wiki.theory.org/index.php/YourLanguageSucks), cependant ses qualités sont sous-estimées (selon moi, de perf justement, étant fait en C) et ce qui lui fait mal vs node est sa non-gestion de l'asynchrone, PHP étant directement qualifié de "legacy", la décote du langage est assez brutale et ce qui lui pends au nez est de devenir un langage comme Perl. Ses points d'amélioration, je pense, sont de faire une vraie lib asynchrone (comme asyncio pour Python) et plus d'harmonisation dans ses guidelines, qui reste encore un vrai chantier malgré toutes les bonnes initiatives.
Excellant historique. Merci grafikart. Stp je veux creer un site MLM pour un client, dans le site il aura une matrice MLM qui évoluera en fonction du travail de l'internaute. Mais je ne sais pas comment je vais procéder. Aide s'il vous plaît. Merci
Longue vie au PHP.Perso j'avais commencé avec VB pour le client/serveur et ASP pour le web mais en fait on peut faire les 2 avec Php que ce soit sous windows linux ou autres .Bref plus polyvalent et retrocompatible .i
Merci pour cette video 4 ans après le php est toujours la et loin de disparaitre. Un point que tu aborde indirectement mais que personne ne parle est sur le faite d'utiliser la bonne techno pour un projet, le dev. pense trop a sa techno et son expérience dessus. Je vais un peu me contredire mais en même donner raison a cette argument, dans une logique d'entreprise , il y a le facture temps/argent et ressource interne(développeur avec des compétence sur certaine technologie). En gros un projet est fait plus pour etre en nodejs mais tu 4 développeurs php qui en maitrise pas du tout le JS, que faire les former et faire je projet en nodejs a détriment de leur faible expérience, faire réaliser la presta par des freelance, ou sinon le faire en php même si c'est un peu moins bien car il ont beaucoup d'experience en php et la réalisation sera plus rapide et de qualité. Je pencherai pour la dernier si j'ai besoin rapidement et que je voie ce projet sur court terme, et je prendrai un mixte entre former l'équipe et prendre un freelance pour les encadrer sur le projet si je voie ce projet sur moyen avoir long terme pour être sur qu'on a utiliser la bonne techno. Cette notion est rarement pris en comtpe dans les entreprise jamais personne n'en parle mais pourtant le coup d'un développement web est devenu chère.
Moi c'est le seul langage que je comprend et que je maitrise. Je ne comprend rien aux autres langages. J'essaie de me mettre a python en ce moment car j'en ai besoin, mais c'est un enfer pour moi... En tant qu'autodidacte complet, le PHP est bien car on trouve beaucoup d'infos sur le net, pour chaque probleme rencontré, on peut toujours trouver des gens qui ont eu ce problème. Je vois avec python c'est pas du tout pareil ! Bonne vidéo. ça m'a appris des trucs en plus ^^
Python c'est un langage très particulier aussi. Car tu peux avoir des erreurs d'indentation, pour faire certaines chose t'es obligé d'utiliser end pour la fin d'une ligne et y'a pleins de petits trucs qui sont perturbant. Donc c'est normal que tu en bave avec python il est special. Pour moi python c'est bien pour un premier langage mais si tu connais déjà un langage ça va être super perturbant. Moi perso je préfère le c# :) (Et non je ne code pas en c#)
J’ai d’abord commencé par php en 2000, j’ai depuis touché un peu à tous les langages et c’est toujours php que j’aime le plus. Avec un framework comme Laravel c’est un régal!
Sur le point "Surprenant" => "Inconsistant" est utilisé ici par erreur comme un anglicisme. Inconsistent en anglais signifie "incohérent". C'est le manque de cohérence de PHP qui est reprochée, par le fait qu'il ne soit pas "consistant". :)
avec symfony 4 , ses admin bundle associés etc , on peut faire des app de fous , voir meme d'entreprise , si on maitrise bien , on a l'impression que c'est magique :)
Ce qui me dérange dans mon cas avec PHP, c'est le rafraîchissement de la page à la moindre requête.J'ai trouver un petit bout de code Jquery pour géré l'envoie en arrière plan mais le fait que PHP ne l'intègre pas directement je trouves ça un peu bête. Très bonne vidéo !
SKE TV Gaming C’est un comportement totalement normal, ce n’est pas au backend de gérer ça mais au front. Ce que tu recherches s’appelle une SPA et tu peux récupérer des données en transformant ton serveur en API RESTful sur laquelle tu vas taper depuis ton front. Ce n’est donc pas « dommage » que PHP n’implémente pas cette fonctionnalité
Comme beaucoup de gens, PHP est mon premier amour. Mais par curiosité, passion et opportunité j'ai fini par aller voir ailleurs (Ruby/RoR, en passant par NodeJS, Python, Golang) et aujourd'hui... c'est toujours très dur de revenir sur du PHP ! Mais pour ne pas tirer sur l'ambulance, je trouve quand même que Laravel rehausse vraiment le language et lui donne la touche de "modernité" qui lui manquait, chose que ne fait pas Symfony imho.
J’ai pas d’avis hyper tranché sur cette question. J’ai différentes affinités selon la nature du projet (perso ou pro). Je suis freelance et pour ne pas te mentir je n’ai JAMAIS utilisé du node dans un projet pro car j’en ai jamais eu le réel besoin (sauf pour du build frontend évidement). Ce qui compte quand tu es freelance (et tu es bien placé pour le savoir) c’est de faire de l’argent le plus rapidement possible, et dans les projets sur lesquels je travail, RoR répond bien mieux à mes besoins que node. Pour moi Ruby est proche de la perfection, aussi riche que PHP dans son ecosysteme de lib, moins verbeux et objectivement plus elegant. Certains lui reprocheront sa lenteur, mais je pense qu’une grosse partie des gens qui lui reprochent ça lisent trop d’articles de blog et n’ont jamais été confronté à ce problème de lenteur. Bref pour le pro je préfère de loin Ruby/RoR, bien qu’il m’arrive d’utiliser PHP en raison de l’environment du client, ou de sa volonté explicite d’utilisé PHP. Pour les projets perso, qui représentent presque 50% de mon code, je fait énormément de nodejs, c’est avec ce language que je m’amuse le plus.Tout simplement parce qu’on peu faire facilement autre chose que des site web avec, comme de la communication avec de l’IoT, ou des truc plus hardware/system, des truc "geek" quoi pour vulgariser. Puis j’aime travailler sur du worlflow donc je passe parfois plusieurs jours à me faire des boilerplate nodejs fullstack en abusant de webpack. Les autres languages que j’ai appris comme Python / Golang / .NET n’ont pas vraiment trouvés leurs places dans mon quotidien. Donc pour résumer: Pour le pro: Ruby/RoR Pour le perso: NodeJS Je te retourne la question d'ailleurs, ça m’interesse car j’ai l’impression d’avoir un profil similaire au tien quelques fois.
Graphikart.fr Comme tu le dis, ceux qui avancent des arguments comme quoi "PHP c'est de la merde" se basent sur des faits qui n'en sont plus depuis maintenant belles lurettes. Pourtant tu participes toi-même à transmettre cette fausse croyance rien que par le titre de cette vidéo auquel beaucoup se contenteront de s'arrêter sans en visionner le contenu... De plus, peu importe comment ou sur quoi PHP a évolué, PHP est bel et bien un langage quoi qu'on puisse en dire.
Clément Cazaud le but de ça vidéo c'est justement de faire comprendre pourquoi quoi on trouve sur les forums des articles sur ça mais qui sont généralement impartial et à but d enfoncer
Bonjour Martin, je sais bien, je ne critique pas vraiment le contenu de la vidéo mais son titre qui lui est bel et bien impartial ou du moins pourrait facilement paraître l'être si on interprète pas en ce sens les petits guillemets... :)
@@clementcazaud9342 Beaucoup des critiques de l’article « PHP, a fractal of bad design » sont encore valables aujourd’hui. PHP a toujours un typage pourri, une tolérance exacerbée au code de merde et aux mauvaises pratiques, une cohérence interne très relative, une bibliothèque normale chaotique et un système de routage par défaut dangereux (qui est d’ailleurs le cœur des problèmes de sécurité de beaucoup de sites).
@@florianm22 Qu'entends-tu plus précisément par typage pourri? On peut tout typer avec les dernières versions de PHP à la manière des langages plus stricts comme Java. On peut aussi ne rien typer du tout, c'est tout l'intérêt du typage dynamique, c'est une feature... L'un de ses intérêts comparé à d'autres langage, c'est qu'il est multi usage, multi paradigme. Si dans ton équipe comme dans la mienne tu souhaites l'utiliser avec un typage strict, alors à nous de veiller à cette application, c'est pas bien compliqué pour une team bien organisée et professionnelle... C'est le même principe à appliquer avec d'autres langages multi usage/paradigme pour lesquels je n'ai jamais rien entendu de tel... "Une tolérance exacerbé au code de merde et aux mauvaises pratiques"... Encore une fois, sa tolérance est voulue par design... En revanche, il vaudrait peut-être mieux se demander qui écrit "ce code de merde", non? Le problème me paraît plutôt être là car il écrira alors du code de merde avec n'importe quel langage... Par cohérence interne qu'entends-tu plus précisément? Ferais-tu référence plus précisément à la convention de nommage incohérente des language constructs? Son développement s'est effectué de manière organique comme de nombreux projets open source... On vit avec, comme on vit avec Linux... C'est certes pas très élégant mais pas un réel problème... PHP n'a pas de système de routing, je vois pas de quoi tu parles, c'est un langage avant tout. Je suppose que tu fais référence aux variables globales genre $_SERVER qui peuvent contenir des données nécessaires au routing? Pour cela il existe des librairies dont le composant Symfony Router, HTTPFoundation avec PSR7, etc... Et une fois encore, le problème est dans son utilisation, et non dans ce qu'il permet de faire ou pas... C'est comme un couteau, à ne pas mettre entre les mains d'enfants non formés ou cadrés. Il aura en revanche son intérêt pour de nombreux professionnels. Bref, merci pour ton commentaire démontrant à la perfection le réel problème. Certaines personnes trouvent un intérêt à répéter les bêtises qu'ils entendent ici et là sans même connaître ce dont ils parlent...
@@clementcazaud8040 Que ce soit clair, je ne suis pas particulièrement en guerre contre PHP. Au contraire, je pense que les critiques qu’on lui fait sont nécessaires à son évolution. Mais non, je ne répète pas ce que « j’entends ici et là sans connaitre ce dont je parle » mais bien des problèmes que j’ai constaté car je l’utilise quotidiennement. Maintenant, je vais détailler quelque peu mon précédent commentaire qui était assez flou. Oui, depuis les dernières versions, on peut typer bien mieux qu’avant. Toutefois, PHP fait des conversions de types de manière absolument invraisemblable et qui le rendent particulièrement difficile à utiliser de manière fiable (à moins d’activer manuellement et dans chaque fichier le mode strict…). Peu d’autres langages ont ce défaut, JavaScript fait de même mais bien moins que PHP (mais n’a pas de typage non plus). Maintenant, puisque vous tenez à la comparaison avec Java, ce dernier est un langage dans lequel il est beaucoup plus dur d’écrire de la merde parce qu’il est beaucoup mieux conçu et structuré. Le programmeur est tout de suite encadré, contrairement à PHP. Pour la logique interne, je parlais de problèmes de sa syntaxe comme la sensibilité variable à la casse, l’associativité à gauche de l’opérateur ternaire, la valeur indéfinissable de NULL, la magie de l’opérateur == qui fait n’importe quoi et n’est même pas transitif, la présence d’alias de type avec lesquels on ne peut pas typer, le support variable d’Unicode, etc. Pour le routage, je parle du système par défaut qui dit « un fichier » = « une route/URL ». C’est dangereux, et je n’aime pas prétendre que les gens qui ne savent bien s’en servir ne devraient pas car on sait que c’est faux : les débutants utilisent tous PHP et créent donc à leur insu des sites peu sécurisés. En NodeJS au contraire, le routage est fermé par défaut. /Security by design/, c’est pas juste un joli slogan.
Pour ceux qui n'ont pas lu cet article : emploi.developpez.com/actu/199863/Emploi-developpeur-2017-les-langages-les-plus-demandes-et-les-mieux-payes-Java-JavaScript-et-PHP-plus-demandes-mais-Perl-Go-et-Scala-mieux-payes/ Voilà la "réalité du travail" (de developpez.com) en France. Pensez à regarder des stats propres à la France, et pas internationnales comme sur stackoverflow, et parfois même propres à votre région.
J'adore tes gifs :-) Sinon je suis assez d'accord avec ton analyse. Mais tu ne te mouilles pas assez ! (je plaisante je sais bien que c'est le but de rester un peu language-agnostic)
Pour moi le principal problème de PHP c'est qu'il est "trop accessible" J'ai personnellement commencé le développement web avec PHP et j'ai trouvé ça plaisant car on peut avoir des rendus hyper rapide, faire un peu n'importe quoi et avoir un code qui tourne.. Ce qui fait qu'on passe à côté de pas mal de choses, de concepts et de principes.. J'ai découvert cette année le ruby dans mon alternance, et j'ai vraiment du mal à retourner sur du PHP.. Pour plusieurs raisons assez simple on a un debug assez compliqué, les false qui ne sont pas dump par exemple, l'environnement PHP est assez mauvais aussi, quand on voit que WP domine le monde PHP c'est assez triste.. Chose bête en Ruby, le "?" en fin de nom de méthode qui indique que le retour est un bool je trouve ça magique. PHP se dit être un langage objet ? Alors pourquoi ces types de variables ne sont pas des objets..? Enfin bref ce n'est que mon avis et je ne reste pas bloqué sur un langage et je cherche toujours celui le plus adapté 😉 Après JS avant ES6 c'était pas fou non plus.. Maintenant ça va ahah 😊
Oublie Ruby :] Le marché est ailleurs. Tourne toi plutôt vers PHP, Java, Python, sincèrement. En quoi l'environnement PHP est-il mauvais ? On fait aussi bien que sur du Spring avec un Laravel ou un Symfony. Il y a de bonnes alternatives du côté de Cake, Zend ou encore Phalcon. Si tu parles de l'environnement de développement docker est ton ami, peu importe la techno. WP n'est pas un mauvais produit, loin de là. Si c'est autant répandu c'est que beaucoup de sites sont des sites vitrines et WP permet de marger facilement sur ce type de prestations. Le temps c'est de l'argent :) Php gère très bien le typage scalaire depuis PHP7 hein ;) JS était très bien avant ES6. C'est le besoin qui a évolué et qui fait de Javascript un langage Hype. On traite de plus en plus d'information côté client, on développe beaucoup d'applications sur des archi n-tiers (pattern api gateway par exemple). Avant Angular et Cie il y avait déjà des frameworks qui faisaient très bien le job (backbone.js, ember.js etc). Bref le couple PHP/JS est très bien et il n'est pas prêt de crever. Il couvre largement la plupart des besoins, peu importe la taille du projet...
""Tourne toi plutôt vers"" est une mauvaise réponse ;) Les devs font ce qu'ils veulent, tant qu'ils peuvent livrer des projets fonctionnels en "pas trop" de temps :) Par rapport à Ruby et au "?" en fin de méthode, PHP7 intègre les return-type qui peuvent aller carrément au-delà d'un booléen (type objet, scalaire, tableau...) Pourquoi les types de variables ne sont pas des objets ? => Parce que "BC" : si un "int" devient un objet, il faut dans ce cas monter en version majeure (PHP8 par exemple) et la plupart des projets basés sur des types primitifs (et non des types objets) devront complètement changer leurs vérifications. C'est une rupture de rétrocompatibilité qui briserait trop de projets pour trop peu de gains à l'heure actuelle.
La question qui permet de comprendre pourquoi, malgré son évolution, c'est encore merdique: qu'est ce que ça apporte de programmer en php plutôt qu'un autre langage ? Rien, aucun avantage. Par contre, il suffit de lire les commentaires pour comprendre que c'est le langage de script orienté Web pour débutants et pour ados par excellence. C'est le fast food de la programmation.
Mon plus gros reproche à PHP c'est qu'il ne va pas chercher les classes dans les namespaces parents ni ne permet de use tout un namespace. Il faut lister toutes les classes individuellement !
Euh : use My\Namespace\Part; $object = new Part\MyClass(); On peut importer un namespace partiel ;) Après, ce n'est peut-être pas ce que tu attends j'imagine.
J'aimerais ne pas avoir à mettre use Exception à chaque fois. Et aussi quand j'ai les classes API\AbstractFoo et API\Bar\Foo, ne pas avoir à mettre use API\AbstractFoo dans API\Bar\Foo.
@Vuk Kulvar : franchement, en utilisant un bon IDE (même Vim le fait), un simple raccourci clavier (ou même rien, des fois) permet d'importer la classe automatiquement. Tu fais comment quand tu codes en C ou en Javascript et que tu veux importer des modules, sérieusement ? Pour moi l'argument du "Bouhouhou je dois faire un `use` à chaque fois, ouinn" c'est vraiment un argument nul...
Ne le mets pas et tape à la main dans le code le namespace complet ^^, sans les use php ne peut pas faire les bons alias. Surtout qu'avec un ide comme phpstorm ou un bon plugin dans les éditeurs, les uses se font tous seul
Je trouve cela dommage de titrer PHP "c'est de la merde" alors que la vidéo présente plus d'avantages que d'inconvénients. En effet, beaucoup de personnes regardent juste le titre des vidéos et se font des idées toutes faites sur un sujet. J'aurais mis: PHP "c'est de la merde", vraiment ? Je pense que cela donnerait plus envie de voir la vidéo qui explique vraiment bien les avantages et les inconvénients du langage.
Je fais partie de ceux qui ont un avis négatif sur PHP. Dire que c'est parce que je pense qu'il faut pas être intelligent pour l'utiliser me semble mega réducteur... Je trouve que c'est un mauvais langage de programmation car il permet, voir encourage de très mauvaises pratiques de programmations(en tout cas, n'encourage pas fortement le reste). Le fait que les variables ne sont pas fortement typées complique à mon sens le commencement des jeunes développeurs, et les encourage a faire des variables fourre-tout, sans vraiment réfléchir à ce qu'ils veulent. Je trouve aussi que d'avoir un langage non compilé rend l'apprentissage plus compliqué. J'ai fait plusieurs projets, avec des relativements gros frameworks(symfony), et c'est à chaque fois la croix et la bannière pour trouver quelle méthode tu peux utiliser. M'enfin, ça en tout cas c'était l'état à PHP 5.6
J4N je ne vois pas en quoi un typage faible pourrait compliquer l’apprentissage d’un langage de programmation !? Avoir peu de types, a fortiori compréhensibles (nombres, strings,...) comme il peut y avoir en JS, facilite fortement l’apprentissage d’un tel langage car le néophyte n’a pas à se préoccuper de si sa variable va contenir des entiers, des nombres flottants ni de leur taille en mémoire : il se préoccupe de l’intéressant, c’est-à-dire, de ce à quoi sa variable va servir. Par ailleurs, en quoi avoir à compiler son programme serait-il bénéfique ? J’avoue ne pas comprendre car c’est d’ailleurs un frein : le temps passé à compiler ne sera pas dédié à l’apprentissage de la prog !
Donc tu recommended quoi ? Python aussi est un langage compilé... Je ne vois pas en quoi le fait que les variables ne soient pas typées en fait un mauvais langage, peux tu développer ? Aussi le fait que tu ne trouve pas ce que tu cherche dans la doc de symfony est un argument valable ? Synfony n’est pas php ...
J4N J’avoue ne pas comprendre grand chose. Net Core serait mieux que PHP ? Je me demande pourquoi les géants du Web n’utilisent aucun de ces deux langages 🤔 Et puis, lancer son application pour voir si elle fonctionne, jusque là, je trouve que c’est la procédure normale à suivre lors de la phase de développement
Radio Cosmos je vois bien que tu ne comprends pas grand chose... Teste les deux. Si ta seule action c'est de lancer ton application pour voir si elle fonctionne, c'est de la lancer, t'es tests se résume à avoir de la chance que le testeur tombe sur ton problème. On bosse dans une solution qui a récemment dépassé les 3 millions de lignes de code. Ça serait impossible en php. Au moins si on change un type, un nom de variable,... Et on le sait à la compilation, avant même d'avoir lancé nos tests unitaires. Le fait que Php permet de ne pas être fortement typé encourage(dans mon expérience avec les dev que j ai I encadré) à ne pas monstre réfléchir niveau architecture et à faire plutôt des script que du code architecturé. Je peux que te conseiller de lire "clean code". Il y a beaucoup de bonnes pratiques qui sont pas facilitée en php. Après tu en fais ce que tu veux
Personnellement, etre bon developpeur c'est celui qui boit son cafe xD , de savoir les concepts genre savoir c'est quoi une classe ou un objet et etc. Puis, connaitre structures comme mvc. Vous pourrez apres faire n'importe quel languages de programmation, il vous suffit juste de s'adapter a la syntaxe.
Il ne s’agit pas que de s’adapter à la syntaxe, il s’agit de s’adapter au langage. Le MVC n’est pas forcément un pattern transposable dans d’autres écosystèmes. En somme, pour pouvoir maîtriser un langage, et bien, il faut l’apprendre et découvrir comment il convient de l’utiliser
Très bonne vidéo. Cependant il me semble que tu as oublié de mentionner que PHP pouvait (et devrait être) statiquement typé depuis PHP 7. php.net/manual/fr/migration70.new-features.php.
Etre un bon dev ce n'est pas être un dev spécifique sur un langage en particulier ... Etre un bon dev c'est être capable de choisir le bon outil en fonction de la situation. VALIDER
C'est ca l'essentiel en programmation
... et choisir php avec le choix que l'on a aujourd'hui est vraiment stupide.
En théorie... dans la réalité le mec prend la technologie qu'il connait.... sans plus.... Dans la réalité le mec apprend une technologie mainstream parce que la plupart des entreprises utilisent ça.... JAVA, PHP, .NET pas plus
Choisir le couple Angular/Node.js avec tout les problèmes que cela pose du fait de l'asynchrone c'est une belle connerie. 90% des sites que je vois actuellement qui sont Angular/Node.js, c'est du nawak puissance 1000. Le choix PHP reste encore très logique sur beaucoup de choses, mais la tendance est vers les frameworks JS. Tout est donc une histoire de tendance aujourd'hui, le confrère s'en sert donc faut s'en servir ; on en est là aujourd'hui et c'est une grosse erreur (avis partagé par mon formateur en tout cas).
Christophedlr
NodeJs en prod dans une entreprise tu le verra jamais
Mais Angular+Java Spring ouï.
PHP dans des applications d'entreprise tu ne le verra jamais non plus. A moins de tomber dans des architectures très ancienne.
Les architectures d'entreprise sont divisés en n-tiers. Impossible avec php
Il y a 2 types de langages : les langages de merde et ceux que personne n'utilise
;)
Il y a 2 types de langages, les langages de merde et ceux qui appartiennent à l'ensemble vide.
Genre le dev jamais satisfait qui ne finit pas ses programmes parce qu’il y a un nouveau langage en version 0.0.1 qui vient de sortir ;)
Il y a 2 types de langages : les langages de merde et ceux que j'utilise
so true
de toutes façons y'a le bon dev et le mauvais dev, on les reconnait direct ! le mauvais dev , il ouvre un logiciel il écris des commandes ça c'est le mauvais dev.. et le bon dev lui il ouvre un logiciel il tape des commandes mais c'est un bon dev. je pense qu'il a été utile que je clarifie ceci .
Bravo
pas faux ^^
Tes au courant que tu justifies pas grand chose dans ton commentaire, j'espère ?
@crazyPugOfficial pourtant c'est clair ! le mauvais dev , il arrive , il allume son ordi , il lance un logiciel , et il tape des commandes alors là c'est sur c'est un mauvais dev !
par contre le bon dev , lui tu vois , tranquil il arrive , il allume l'ordi , juste apres il lance son logiciel et il tape des commandes , c'est trop flagrant la difference tu vois direct la nuance ! j'espere que t'es un peu plus formé a faire la différence grâce a moi . @plus.
@crazyPugOfficial pour ta culture : ruclips.net/video/4kJ4ojtHJ4M/видео.html
J'aime vraiment bien tes vidéos .. Merci.
J'ai commencé le dev. il y a 40 ans ... et sa a toujours été la 'guerre' des langages ... ce n'est pas nouveau.
Mais PHP 7 et Laravel par exemple .. ça commence vraiment à être sympa à lire (et faire).
En conclusion je suis bien d'accord avec toi .. ne jamais être trop dans ses habitudes et explorer ce qui peut être mieux adapté au nouveaux projets.
40 ans O_O
Tu dois en connaître des langages :O
*an old internet wizard enters the chat*
Laravel est trop lourd.
Je préfère Dumbo php. 😄
Je viens d'arrêter la vidéo à 10:51 pour aller jeter un oeil à l'article "PHP, a fractal of bad design", car j'en avais marre des poncifs éculés sur "C'est fait pour les noobs parce que c'est facile" (désolé, j'ai pas envie de programmer de l'assembleur pour ouvrir un fichier et écrire dedans) : et même tarif, beaucoup de pleurnicheries dès le début, mais on comprend quand même qu'il y a une sorte de fondement (métalogique) qui se dessine, et surtout j'ai trouvé un passage ENFIN concret, qui effectivement montre une faiblesse (entre autres) de PHP. Le passage commence à "Let me expand on that last part a bit." :
"In, say, Python, the equivalent .index methods will raise an exception if the item isn’t found. If you don’t check for that case, your program will blow up.
In PHP, these functions return false. If you use FALSE as an index, or do much of anything with it except compare with ===, PHP will silently convert it to 0 for you. Your program will not blow up; it will, instead, do the wrong thing with no warning, unless you remember to include the right boilerplate around every place you use strpos and certain other functions."
Là, on comprend ce que l'auteur essayait de dire depuis le début à propos des comportements tordus de PHP, et notamment son analogie sur les tournevis, marteaux et pinces inadaptées, qui produisent une charpente sens dessus dessous et mènent à ce que à peu près tout peut buguer sans même le savoir.
Bon, j'ai mis pause à 3:30, commenté puis me suis dis « non, regarde » ; j'ai effacé et remis play.
Puis, j'ai mis pause à 5:00, commenté puis me suis dis « non, regarde » ; j'ai effacé et remis play.
Puis, j'ai mis pause à 7:13, commenté puis me suis dis « non, regarde » ; j'ai effacé et remis play.
Puis, j'ai mis pause à 13:38
Le problème, c'est que je commence à cumuler un certain nombre de remarques ; il manque, il me semble, un certains nombres de précisions.
Le rapport avec les débutants me semble ne pas avoir de sens ; si un débutant ne prend pas le temps de lire la documentation et n'apprend les spécificités du langage qu'il emploie. Alors il peut utiliser le langage qu'il veut cela ne changera rien.
*Le typage faible*
Là c'est absolument faux :s Le typage n'est pas *faible* mais *Dynamique* ; d'où le triple égale, comme tu le rappelles, qui permet la vérification du type.
Alors faible ou dynamique le type ? ; cela change tout ! Et puis c'est quoi un type faible ? Va falloir s’assoir pour me la tenir cette définition.
*Pas de déclaration de variables*
La déclaration de variable existe et tu en fais exactement usage sur la première mais à mauvais escient : le typage étant dynamique, tu as ici l'équivalent Visual Basic avec Variant (à éviter soit dit en pensant).
*UTF-8*
En java, c'est pareil, les fichiers properties par défaut en UTF-8 c'est Java 9 (docs.oracle.com/javase/9/intl/internationalization-enhancements-jdk-9.htm) donc non c'est n'est pas le seul calvaire de PHP ;)
Ensuite, malgré la terminologie employé par la documentation *strlen - Calcule la taille d'une chaîne* ne signifie absolument pas la taille en nombre de caractères mais la *taille* ; ok, mais laquelle ? *Note: strlen() retourne le nombres d'octets plutôt que le nombre de caractères dans une chaîne.*
Pour conclure sur cette diapo, l'important c'est la documentation et l'expérience. Pour sûr, un junior mal accompagné c'est un junior dans le mur.
Puis, j'ai mis pause à 21:50
Franchement, parler de communauté, avec ce chauvinisme ! Tu as pas honte :p
On parle pas de Zend Framework 3 et de Zend Expressive ? C'est quand même fort ;)
Puis, vient ta conclusion *Mais au final ?* qui m'a retourné le cerveau !!! Comment avoir une conclusion si explosive en étant si peu loquace sur certaines notions ?
J'adorerai avoir une discussion avec toi, pour aller plus loin ; souvent dans tes vidéos j'entrevois une lueur d'espoir de voir certains vulgarisateurs aller plus loin dans l'explication de certains concepts.
N.B : Je précise, je travaille actuellement avec du Java ^^ Et j'en vois des horreurs qui me donnent envie d'aller me cacher dans un coin, loin, loin far away ; genre, appel de méthode quelconque *Object entity = class.getFoo((Bar) null);*
P.S : Le commentaire à l'air brouillon, c'est normal ! Il l'est :( Mais je te promets un meilleur retour d'ici quelques jours même si je ne sais pas encore sous quelle forme ; enfin, je sais que ce sera pas un support vidéo, c'est sûr :p
Merci pour tes retours qui sont effectivement pertinents. Si tu veux discuter PHP (ou autre) je suis souvent dispo sur le tchat : grafikart.fr/tchat
C'est toujours difficile de trouver la bonne balance entre trop de précision et pas assez.
- Pour le typage faible je fais référence à la conversion implicite qui a lieu, mais effectivement la définition de ce terme est assez peu claire
- Pour la déclaration des variables tu as parfaitement raison et je pense que je me suis mal exprimé. Le problème que je voulais soulever est qu'il est parfois difficile de savoir si une variable a été précédemment définie (une déclaration explicite permet d'éviter d'écraser une variable sans le vouloir)
- Pour strlen, ce que je voulais dire c'est que (sans lire la documentation) le résultat attendu est différent du résultat obtenu (ce qui est facteur de surprise et d'erreur)
- l'UTF8, comme je le précise, est toujours mal géré par les langages qui ont été conçu avant l'apparition de l'unicode (comme le problème de typage, ce n'est pas propre à PHP)
- Zend pourquoi j'ai oublié Zend... :( (pour me faire pardonner j'ai déjà fait une vidéo dédiée à Zend Expressive pour essayer de le faire mieux connaitre)
Au final j'ai essayé de pas mal condenser ce que je voulais dire mais je pense revenir plus en profondeur sur certaines notion dans un cadre plus "académique" dans une formation dédiée à PHP.
Bonne analyse dans l'ensemble, j'ai relevé d'autres imprécisions (notamment un amalgame systématique du langage et du runtime, des contradictions sur les perfs mais bref ;)). Mais je voulais rebondir sur l'histoire de strlen. Historiquement cette fonction est utilisée (et l'usage est important pour définir l'usage d'une fonction) pour compter le nombre de caractères. Quand les multibytes sont arrivés, ça a foutu la merde dans la tête des gens et on a donc rajouté mb_ pour restaurer le comportement d'origine, tout en conservant strlen et en lui affectant un autre rôle que celui communément utilisé (alors qu'il aurait fallu faire l'inverse, garder strlen en prenant en compte les mb et créer une méthode strbytelen par ex ?). Et c'est tout le problème de PHP aujourd'hui : le fait d'éviter à tout prix les breaking changes donne des bizarreries dans le style. D'autres langages en sont victimes (coucou JS !), mais c'est assez prégnant sur PHP.
C'est super intéressant en vrai cette vidéo !
J'me suis arrêté à PHP 5 et j'ai arrêté de coder il y a bien longtemps, mais l'histoire est vraiment intéressante.
Dommage t'as loupé le BOO
Superbe vidéo! On est d'accord PHP est loin d'être mort. :p
L'étape la PLUS importante dans un cycle de projet est la livraison, les clients ne vous demanderons jamais quel language vous avez utilisé, PHP est simple, efficace et facile à déployer, mise à part les tonnes des frameworks/CMS ... qui tournent en PHP
La réponse pour moi est facile: j'utilise le language qui me perment de livrer et faire de l'argent dans les plus brefs délais.
Cela dépend le type de client, je travaille beaucoup avec des agences qui continuent et reprennent le code derrière (forçant ainsi la techno / framework)
Grafikart.fr c'est aussi qu'ils veulent pas perdre de temps a analyser le projet, de plus en php niveau fw il y a des grosses tendance, hors nodejs ça pop toutes les minutes
tout est question des besoins. on utilisera pas PHP pour une application qui nécessite des transactions distribuées: assurer l'exécution de plusieurs requêtes SQL sur plusieurs BD différentes qui elles même sont situées sur des serveurs différents.Mais PHP reste un très bon langage pour faire du Web même s'il ne couvre pas tous les besoins
Oui bien sur, parfois la technologie est imposée, mais si on travaille avec le client finale, généralement le choix est le notre :)
Grafikart houla.. J'espère ne jamais avoir à faire à tes clients mdr, jamais vu ça.
"80% des sites utilisent PHP".
Voilà, c'est peut-être tout simplement son succès qui fait que tant de développeurs ont une vision si négative de PHP.
Comme toujours, une grande majorité de dev sont des "rebelles" et n'aiment pas tout ce qui devient trop répandu, la fame et tout et tout
Ce n’est pas une question de popularité. Le PHP ne périclite pas parce qu’il a été jadis très utilisé, il périclite parce qu’il ne répond pas aux problématiques de demain, qui sont aussi celles d’aujourd’hui.
Et puis dire qu’il faut être « rebelle » pour ne pas faire de PHP est un peu ridicule : le PHP serait-il LE langage de raison ? Personnellement, je ne pense pas, je dirais même que c’est le contraire. Un développeur se doit, avant tout, de savoir choisir ses technos et d’être capable de sortir de sa zone de confort. Quand il se rend compte que le PHP ne répond pas à ses besoin, alors, il se doit d’aller trouver d’autres technos plus efficaces et plus intéressantes !
@@baptistedevessier Il y a aussi des virus facilement injectable, mais bon, les personnes doués de mauvaises fois sont ceux qui savent pas réellement sécuriser, car c'est pas le "htmlspecialchars"qui va suffir :/
Pour info, la majorité des problèmes de consistence dans les fonctions vient en fait ... du C ! Il a été décidé de conserver les nom de fonction du C à un moment. (il y a peut être quelques problèmes humains tout de même).
Et PHP n'est pas vraiment un language synchrone... Et de nouvelles fonctionnalités continuent d'arriver pour le rendre de plus en plus asynchrone. Le fait que tout soit sur le même thread ne veut pas dire que c'est synchrone (JS est bien monothread aussi).
Asynchrone veut dire non bloquant. Et PHP n'est pas forcément bloquant grâce à des fonctionnalités avancées (streams). Et, si, ReactPHP fait bien de l'asynchrone en PHP, et oui, ça utilise des choses de PHP qui sont déjà disponibles !
J’ai mal pour l’éléphanteau à la fin... Sinon très bonne vidéo avec un ou deux bémols. Avant Composer il y avait PEAR et PECL, il me semble qu’ils sont toujours vivants. ;-) Et puis on peut vraiment tout faire avec PHP, il est puissant parce qu’on peut encore coder en PHP 7 comme on le faisait en version 3 et ça le rend très malléable. Il possède des fonctions très bas niveau de gestion des processus qui le rendent aussi très intéressant pour du code CLI. Enfin, dire que PHP est devenu un vrai langage parce qu’il a fini par adopter la POO ça n’est pas tout à fait juste. La POO n’est pas un gage d’honorabilité. Pour ma part PHP est devenu un vrai langage quand il a démontré qu’il pouvait occuper 80% des serveurs web face à Java et .Net.
Yep, d'ailleurs parfois il faut encore installer xdebug via PECL parce que c'est plus "simple", en fonction de l'environnement :)
David Blanchard merci pour ta réaction !
@user-pw2ho6xe9h oui
Les personnes qui pensent que leur langage est meilleure parce que plus complexe pensent probablement également être les meilleurs codeurs parce qu'ils ont plus de facilité à comprendre leur code que leurs collègues, alors qu'en fait ils écrivent juste du code illisible.
13:00 "C'est toujours quelque chose qui fait jamais". C'est beau !!! Hahaha ! Plus sérieusement, encore une super vidéo, merci pour tout ce que tu nous apprends. ;)
C'est trop bien ta chaîne, je viens de la découvrir, et c'est trop bien.
Très bonne vidéo. A quand une mise à jour des tutos sur AngularJS ? :D Parce qu'il a pas mal évoluer depuis tes derniers tutos !
Alexis Lemarchand je valide ! ;)
Angular "c'est de la merde"
RLanc Maf je ferai attention dans ce cas :D
RLanc Maf tout à fait Thierry
Très bonne vidéo. Un bon travail de recherche qui me permet d'avoir quelques éléments de réponse au sujet des remarques véhémentes de certains de mes collègues à l'encontre de PHP ! :)
La video commence à dater mais l'analyse me semble toujours d'actualité et des plus pertinente. Tres belle presentation et très concrète ça fait du bien de l'entendre !!!
L'éléphant à la fin il m'a tellement déconcentré 😂
Le problème avec les langages informatiques c'est que personne n'est d'accord sur la manière de déterminer ses qualités.
Un bon langage est-il un langage prodiguant de bons outils ? Est-ce un langage permettant d'écrire des programmes avec le moins d'overhead possible ?
Un bon langage est-il un langage qui est assez intuitif dans son approche ?
PHP certes c'est "plutôt" lent comparé à certains de ses concurrents mais en termes de fonctionnalités (intrinsèques au langage, eg. Trait) c'est plutôt intéressant.
Le problème est toujours le même de toute façon, il n'y pas vraiment de "bon langage", c'est toujours un outil adapté à une(des) situation(s), il faut juste savoir faire de bonnes décisions.
Merci pour la qualité de tes exposés ! Synthétiques comme il faut, essentiels sans enfumage !
Encore une fois, Merci.
C'est moi ou y a un truc qui cloche dans la définition que PHP (et non la tienne directement) a de "synchrone" ? PHP EST asynchrone, il exécute les tâches les unes après les autres. Par contre, même zend disent que PHP EST synchrone. En JavaScript si tu veux déclarer une fonction en step by step, tu fais "async". Y a un truc qui m'échappe ou ... ? Quelqu'un pour éclairer ma lanterne?
pour faire une fonction step by step en javascript, tu n'utilise pas "async". Async est la pour dire a javascript que le code a l'intérieur de la fonction peut potentiellement être asynchrone, en utilisant "await" tu dis à javascript que tu va effectuer une opération asynchrone (lire un fichier, requete HTTP, etc) et que tu veux capturer cette valeur (ou tout simplement attendre) avant de continuer l'exécution. Javascript va donc "sortir" de la fonction pour exécuter autre chose puis revenir plus tard.
pour moi le default c'est effectivement l'ordre des paramétres (et leurs logiques) qui varient beaucoup d'une fonctions a l'autre
Pour un débutant il vaut mieux se diriger vers PHP ou une autre technologie comme Node.js en fullstack ? Je vous remercie pour vos réponses.
Cela dépend ton objectif. PHP a l'avantage d'avoir des framework bien stable et beaucoup de resources sur internet pour apprendre.
@@grafikart Merci pour ta réponse ! Pour continuer sur m'a lancé à vrai dire je n'ai pour objectif "que" de rentrer dans le monde de l'informatique qui me passionne mais je suis un vrai débutant ^^" Donc je n'ai pas de projets concrets pour le moment si ce n'est celui de m'instruire et de débuter. Je commence une formation en 6 mois qui propose soit le Php soit le Node.js pour le backend. Alors pour une débutant faudrait-il aller vers une technologie stable comme PHP mais donc apprendre un langage différent en front (le JS) ou m'orienter vers du full JS avec Node en back ? Je te remercie pour tes précieux conseils 😊.
1) Excellente vidéo, comme d'habitude, pouce en l'air. 2) Attention toutefois à la prononciation de "caractère multibyte" != "caractère multibit".
Vers 20min, tu parle de file d'attente, tu peux partager un article dessus car je n'ai rien trouvé ?
Par exemple pour une file d'attente pour envoyer des mails ou autre chose...
Le mode strict est, à mon sens, le meilleur move de PHP. Le typage dynamique, c'est mignon, mais ça rend le code beaucoup plus chiant à tester et réserve pas mal de mauvaises surprises.
En ce qui concerne la simplicité d'un langage, ayant fait du Go mon principal langage de programmation backend, je peux dire une chose: une simplicité "bien pensée" est un énorme atout pour un langage.
La dernière fois que j'ai fais du PHP, ce que je trouvais le plus désagréable, c'est qu'en cas de bug, c'est compliqué de comprendre d'où vient l'erreur : pas de débuguer, pas de backtrace correcte, si il y a des requêtes qui viennent du javascript (type AJAX) et qu'il y a un souci, bonjour les embrouilles (surtout si on reprend un code de quelqu'un d'autre). Est-ce qu'il y a des évolutions par rapport à ça, des facilités pour débuguer ?
Avec des exceptions tu peux avoir de super backtraces. T'as un debugger, il s'appelle Xdebug. Si t'as du AJAX à débugguer, le problème est exactement le même qu'avec tout autre langage : tu passes par Postman, ou alors tu utilises xdebug, etc.
Cool, merci pour les infos :)
Si tu utilises Symfony il va même te dire comment résoudre ton erreurs ...
Excellente diction et tout est très bon, c'est rare des vidéos de programmation, françaises, aussi bien faites. A quand les même sur Python / Django ? ^_^
Ce n'est pas prévu malheureusement, je ne pratique pas du tout python pour le moment (je n'exclue pas de m'y mettre pour le machine learning si j'ai le temps un jour ;) )
J'ai utilisé PHP dans le passé et ce que j'ai retenu c'est que c'est un langage qui est un peu plus verbal que python ou ruby, cad qu'on écrit plus de code pour faire la même chose, de plus quand mon code ne marchait pas comme prévu ça me prenait plus de temps pour savoir ou était le problème, je n'utilise plus PHP depuis 2011 et je ne sais pas si la plupart des problèmes ont été résolu, pour le "PHP c'est mort" j'ai surtout entendu ça sur ruby
Si tu veux un langage verbeux utilise Java :D
En fait l'avantage d'un langage verbeux c'est qu'il n'y a pas de "convention magique derrière". C'est très rare en PHP d'avoir un bug qui est réellement lié au langage en lui-même : le plus souvent, ce sont les frameworks ou libs que tu utilises qui vont te poser problème.
En somme une belle ouverture d'esprit et une grande objectivité, tout est très bien résumé félicitations
Je suis sur Node JS mais j'ai apprécié les explications de la vidéo !
Merci, l'OPcache ne fonctionne pas lors de la premiere requete du site?
Franchement chapeau bas, très bon vidéo, il y a des gens qui savent être pédagogue vraiment. Merci.
PHP → ASP → JSP Même logique. Une partie HTML, Une partie langage avec des balises particulières. Honnêtement je pense que c'est la logique la plus.... (au hasard) logique pour ce genre de développement. Le premier truc qu'on apprend avant de faire des page JSP c'est d'écrire des servlet. Amusez-vous a écrire des sites complets, de gros projets en servlet. Possible évidemment mais pourquoi fumer de la tête inutilement quand on peut avoir un code à la fois lisible et fonctionnel. Non c'est certain je te rejoins sur ça. D'ailleurs d'une manière générale je conchie l'élitisme et typiquement cet élitisme là dont malheureusement l'IT et la technologie en générale est chargée.
J'ai développé en PHP 5 y'a un moment. :) Aujourd'hui je suis Javaiste et j'emmerde les cons qui pensent que C c'est mieux ! :P
Java aussi à cassé des trucs et ils ont récemment décidés de ne supporter que les 3 dernières versions et une LTS. Avec Java 9 on a introduit le concept de modularité que je comprend parfaitement sur le principe mais en pratique je misère encore avec mais l'idée est bonne. J'ai lu des gens sur des communautés de dev dire que PHP c'est dépassé (et pareil pour Java d'ailleurs) mais par chez moi Java et PHP sont les langages rois (avec C#). C'est un peu hors sujet mais j'ai parlé avec des dev qui prétendent ne pas travailler avec un SRS (ou cahier des charges). Soit ils font que des Hello World, soit ils galèrent. Vu la taille et la complexité des projets en entreprise c'est pas vraiment possible. Décidément c'est pas parce qu'on est un obscur dev sur le net qu'on est fiable pour autant. Après chacun son avis mais faut toujours trier le bon grain de l'ivraie.
Bonne conclusion. Les trous de balle qui pensent que leur truc est mieux allez vous faire... :)
P.S. : Oh ben tiens. Après une bonne nuit de sommeil je consulte une bonne référence pour les script linux et je tombe sur cette citation.
No programming language is perfect. There is
not even a single best language; there are only
languages well suited or perhaps poorly suited
for particular purposes.
--Herbert Mayer
Un peit bonjour, pour saluer votre travail, que j'apprécie beaucoup :) (SOurire à la découverte du titre accrocheur de cet épisode)
Salut grafikart, super vidéo ! J'ai appris plein de choses grâce à toi 😊
Excellente vidéo, on entend souvent cette remarque et il fait bon avoir des détails sur les arguments pour et contre. Un fervent défenseur du multi-langage.
Même si le titre fait peur, la vidéo est pédagogique et claire. Pour ma part la bascule de PHP5 à PHP7 est un peu douloureuse, notamment pour passer les fonctions MySql en PDO, nécessitant de réécrire certaines parties de mon site, entièrement fait à l'ancienne, avec NotePad++. Mais je me vois mal changer de langage, même si je me mets de plus en plus au javascript pour dynamiser un peu l'appli. Merci pour tes tutos très bien faits et qui donnent un aperçu de ce qui existe...
Salut Grafikart... Merci pour cette belle vidéo parce que comme toujours, tu as pris soin de bien indiquer les avantages et inconvénients de PHP... Et ça, c'est super. Merci...
Bonsoir ! Peut-on créer un site de rencontre sans toucher le php ? Si oui comment ?
D'autres langages serveur
Utilise Windsurf avec la nouvelle intelligence artificielle Claude Sonnet 3.5 mais il faudra quand-même savoir coder pour remonter la pente des bugs que l'IA ne sait pas résoudre.
Vous etes vraiment une mine d'or.
Génial cette vidéo ! Une jolie plaidoirie pour le PHP. Ta conclusion est juste parfaite ! XD
A la prochaine vidéo ;)
j'ai une question , es-que RoR peut remplacer php , enfin plutôt es-que que RoR peut faire les meme tache que du php car pour mon site il faut que je fasse du backend et je ne sais pas quoi prendre (mon objectif pour mon site et t'automatiser une tache ) du coup si quelqu'un peut me dire lequel et le mieux pour cette tache merci d'avance
Les 2 conviennent dans ta situation.
Grafikart.fr avez vous une piste pour que je puisse avec l’aide d’une api récupérer des données et ensuite avec c’est données les inclures automatiquement dans mon code html ?
en fait au contraire je trouve qu'être un bon développeur en php qui est ouvert et vous laisse un peu le choix d'écrire avec plus de liberté est plus difficile qu'écrire un joli code par ce que le compilateur l'exige et te guide en tout avoir le choix est plus difficile je trouve a part ca je suis d'accord :)
Toujours une remise en contexte et une analyse posée, merci Jonathan !
Perso j'utilise beaucoup Angular couplé à PHP. PHP se contente de faire des requêtes MySQL et de renvoyer le résultat au format JSON. Ca fait très bien le boulot, c'est très rapide, et je suis à peu près certain que mes applis tourneront sur n'importe quel hébergement mutualisé sans galère et sans obligation de louer un serveur dédié, ce qui est aussi un aspect important dans le choix d'un langage. Mais c'est vrai que le manque de cohérence est un point que je trouve négatif. Un autre point négatif, je trouve, est la flèche pour accéder aux attributs et méthodes des objets. Pourquoi ?!? Ca fait deux caractères à taper, et chiants à taper sur n clavier azerty, ça fait perdre un temps fou. C'est pas bien le point ?
Djé tu parles d’hébergement mutualisé et comme quoi le fait qu’une app puisse y tourner est un facteur très important. Cependant, sur un serveur mutualisé tu ne peux faire tourner majoritairement QUE du PHP. Il existe pour les autres langages, d’autres solutions, et elles ne sont pas forcément plus onéreuses qu’un mutu ...
😂😂😂
Pour avoir testé python php javascript node js, PhP est très utile dans de nombreux cas et surtout pour le ecommerce et dans le traitement de calcul financiers correct. Parceque python et js font des erreurs sur les decimals, en faisant 0.3 -0.2 par exemple vous aurez 0.9999999999, ca veut dire que vous aurez toujours des erreurs et que les valeurs retournés seront fausses sauf en passant par une librairie genre decimal js mais la ca devient l'usine. Je dis ca parceque jai bossé sur une marketplace avec des calculs en js sur le front et cetait la misère à cause de ce bug
J'aime beaucoup cette vidéo qui fait parfaitement écho à celle-ci : ruclips.net/video/xLYwZ34WSzk/видео.html
Il y a 2 choses que je trouve dommage : dans un premier temps, certains "problèmes" que tu exposes n'en sont que d'un avis personnel, et que lorsqu'on apprend à coder, en réalité ces problèmes ne le sont plus après un petit temps (certains autres spectateurs ont déjà fait des commentaires à ce sujet ;) ).
Une autre chose, c'est que lorsque tu fais l'historique de PHP, et que tu parles du "creux" entre PHP 5.0 et 7.0, en réalité il n'y a absolument aucun creux :
• 5.1 en 2005 avec ses variables de compilation et ses optims
• 5.2 avec des perfs améliorées en 2006, aussi et de nouvelles extensions
• La révolution 5.3 en 2009 avec le concept de namespace et de closures (à l'origine de tous les frameworks et toutes les libs d'aujourd'hui), et l'arrivée de php-fpm en 2010
• Ensuite 5.4 avec le serveur natif en CLI et les traits
• 5.5 avec la constante statique "::class", l'opcache natif, des perfs optimisées et aussi au niveau de l'opcache
• 5.6 avec les fonctions variadiques.
En fait, y'a eu aucun creux (allez, un peu, entre 2006 et 2009, mais c'est là que PHP 6 a été annulé en 2010 justement).
Techniquement, la seule chose manquante dans PHP pour devenir leader total du marché, c'est l'asynchrone. Tout le reste est déjà soit dans le langage, soit dans les frameworks populaires. Contrairement à NodeJS ou y'a quasiment rien dans le langage (le souhait d'ECMAScript de ne pas intégrer "trop" de standards) , et tout dans les 9825367654 dépendances de chacune des dépendances de nos projets...
Alex Rock pour l asynchrone ça bouge actuellement : ruclips.net/video/_aQ72M8ARtY/видео.html
Salut ! Est-ce que tu peux faire un tuto sur symfony 4 + websocket (gos/web-socket-bundle) + angular 5. Un petit chat en temps réel mais du genre api rest!
Tu veux qu'on te dev ton projet ? 🤣
Vive elementor builder et tout ce qui est pret et facile !! 😁
moi a l'age de 7 ans 5:14
moi a l'age de 19 ans 5:21
ca fais long temps que j'ai pas progamer en php plus de 4 ans
Salut juste savoir quel langage conseil tu a un débutant à part PHP.🙏🏿
PHP😁
Peut être Python ? Mais comme le dit chef nabil PHP est très bien aussi pour débuter.
selon toi quel est le meilleur langage ? on parle du bien de java script ?
Il n'y a pas 1 meilleurs langage, il faut choisir le langage en testant et en comprenant ce pourquoi il est fait.
Merci pour ces informations très utiles , ce que je souhaite vraiment c'est que vous fassiez une vidéo la ou vous nous citer expliquer tel language de prorammation pour telle situation , Merci beauoup Monsieur .
A noter que j'en chie depuis 12 ans pour me lancer tranquillement dans la programmation, et que comme un gros flemmard j'ai particulièrement bien aimé PHP, non pas pour sa "facilité", mais pour sa clarté. Eh oui. A contrario, Javascript est d'une laideur épouvantable, avec ses déclarations d'ouverture de librairies ou d'objets "on-sait-pas-quoi" qui n'ont aucune gueule, et tout ça juste pour lancer un début d'instruction. Pour ça, PHP est beaucoup plus proche de langages "clairs" et directs comme MS-DOS (je suis un fana des .bat, à défaut d'avoir eu le temps de rentrer dans VBscript ou C++), et les instructions facilement identifiables.
Par contre, je suis de l'avis de l'auteur de l'article "PHP, a fractal of bad design" : PYTHON est un super langage !! Et ça j'ai pu le voir même sans avoir commencé à l'aprendre ! Car rien qu'en regardant des scripts, on voit bien que le chaînage des instructions est génialement organisé. Par contre il faut avoir une vision totale du jeu de classes qu'on développe ^^, sinon c'est une partie de labyrinthe en reprenant le code d'un autre.
Mon opinion, c'est que l'auteur de l'article est comme moi : un peu autiste, et il aime ce qui est fractalement bien conçu et symétrique ! :D
Merci Grafikart pour cette vidéo de qualité et comme à chaque fois! ;-)
Avec un grand nombre d'inconvénients, mais quand on s'y est bien habitué, on lui parle comme à un ami !
Et puis, vous connaissez une alternative crédible vous ?
Vraiment cool ce genre de vidéo! :D
De toute façon, hormis C/C++/Rust (pour ce qui est des languages non purement fonctionnels), c'est bien évidemment de la m. Le plus difficile est d'admettre que la grosse majorité des logiciels fabriqués aujourd'hui sont de la m., mais c'est bien un fait.
Swoole + PHP 7 est 3 fois plus rapide que NodeJS
Qu’est-ce-que php ne peut pas faire?
je ne sais pas en quoi ils codent leurs sites Internet aujourd'hui mais j'ai pour habitude que ça claque de partout. en PHP3 c'était rustique mais on avait pas de problèmes de ce genre. la chienlit a commencée quand ils ont commencé à vouloir mettre de l'objet là ou il n'y en avait pas l'utilité. et le coup de grâce c'est quand ils se sont amenés avec leurs CMS et leurs Framework. on était revenu au stade des machines à gaz avec des architectures propriétaires. pour une semaine de devs il fallait six mois de maintenances. et je ne vous parle pas des interfaces responsive design en 320x240 qui ne fonctionnent que sur la version du navigateur de celui qui l'a développée. après vous me direz quand on travail en Scrum et en Sprint dans un open space faut pas s'attendre à du bon résultat.
Pour utiliser php comme api rest service?
Pour après être appelé par angular vs or react...
Regarde api-platform.com
Création d une api au norme avec PHP/Symfony en 5 minutes avec un admin CRUD en React autogeneré avec la documentation de l’API
Super, comme d'habitude. Merci pour ce rappel historique et ces informations.
Les gens ont beaucoup trop de préjugés et préfèrent coder comme tout le monde sur un CMS avec Bootstrap.
Je trouve le PHP magique et fantastique car il n'est que de la logique.
(NULL == 0 && NULL < -1) == true
true == "true" == 0 == false, même si true != false
tu a raison beucoup de gens deteste le php, mais moi je vois que le php ce mieux pour le site web dynamique.... vraiment merci grafikrt
C'est un langage parfois "'brouillon" mais ca s'améliore un peu je trouve ;-) et puis c'est le résultat qui compte. Les visiteurs se moquent que votre site soit en PHP ou Python ou autre... Par contre pour du travail en équipe un framework Php (ou autre) est nécessaire dans la plupart des cas. En cas de problème avec un langage on peut aussi greffer des modules sous forme de Webservices par ex qui seront développés avec un autre langage web. Un bon dev doit être spécialisé mais aussi connaitre voir maîtriser plusieurs langages et outils pour faire face à toutes les problématiques. C'est un paradoxe ;-)
Merci pour cette vidéo qui est réellement intéressante (culture web) !
PS: j'ai adoré l'éléphant ;)
Je suis pressé de regarder cette vidéo car dans tous mes projets je fait que du php.
PHP a des qualités et défauts comme tous les langages (cf. wiki.theory.org/index.php/YourLanguageSucks), cependant ses qualités sont sous-estimées (selon moi, de perf justement, étant fait en C) et ce qui lui fait mal vs node est sa non-gestion de l'asynchrone, PHP étant directement qualifié de "legacy", la décote du langage est assez brutale et ce qui lui pends au nez est de devenir un langage comme Perl. Ses points d'amélioration, je pense, sont de faire une vraie lib asynchrone (comme asyncio pour Python) et plus d'harmonisation dans ses guidelines, qui reste encore un vrai chantier malgré toutes les bonnes initiatives.
Excellant historique. Merci grafikart. Stp je veux creer un site MLM pour un client, dans le site il aura une matrice MLM qui évoluera en fonction du travail de l'internaute. Mais je ne sais pas comment je vais procéder. Aide s'il vous plaît. Merci
Bon, ça n'a pas l'air si mal PHP du coup! Vidéo intéressante, merci.
Longue vie au PHP.Perso j'avais commencé avec VB pour le client/serveur et ASP pour le web mais en fait on peut faire les 2 avec Php que ce soit sous windows linux ou autres .Bref plus polyvalent et retrocompatible .i
Merci pour cette video
4 ans après le php est toujours la et loin de disparaitre.
Un point que tu aborde indirectement mais que personne ne parle est sur le faite d'utiliser la bonne techno pour un projet, le dev. pense trop a sa techno et son expérience dessus.
Je vais un peu me contredire mais en même donner raison a cette argument, dans une logique d'entreprise , il y a le facture temps/argent et ressource interne(développeur avec des compétence sur certaine technologie). En gros un projet est fait plus pour etre en nodejs mais tu 4 développeurs php qui en maitrise pas du tout le JS, que faire les former et faire je projet en nodejs a détriment de leur faible expérience, faire réaliser la presta par des freelance, ou sinon le faire en php même si c'est un peu moins bien car il ont beaucoup d'experience en php et la réalisation sera plus rapide et de qualité. Je pencherai pour la dernier si j'ai besoin rapidement et que je voie ce projet sur court terme, et je prendrai un mixte entre former l'équipe et prendre un freelance pour les encadrer sur le projet si je voie ce projet sur moyen avoir long terme pour être sur qu'on a utiliser la bonne techno.
Cette notion est rarement pris en comtpe dans les entreprise jamais personne n'en parle mais pourtant le coup d'un développement web est devenu chère.
Moi c'est le seul langage que je comprend et que je maitrise. Je ne comprend rien aux autres langages.
J'essaie de me mettre a python en ce moment car j'en ai besoin, mais c'est un enfer pour moi...
En tant qu'autodidacte complet, le PHP est bien car on trouve beaucoup d'infos sur le net, pour chaque probleme rencontré, on peut toujours trouver des gens qui ont eu ce problème.
Je vois avec python c'est pas du tout pareil !
Bonne vidéo. ça m'a appris des trucs en plus ^^
Python c'est un langage très particulier aussi.
Car tu peux avoir des erreurs d'indentation, pour faire certaines chose t'es obligé d'utiliser end pour la fin d'une ligne et y'a pleins de petits trucs qui sont perturbant.
Donc c'est normal que tu en bave avec python il est special. Pour moi python c'est bien pour un premier langage mais si tu connais déjà un langage ça va être super perturbant.
Moi perso je préfère le c# :)
(Et non je ne code pas en c#)
J’ai d’abord commencé par php en 2000, j’ai depuis touché un peu à tous les langages et c’est toujours php que j’aime le plus. Avec un framework comme Laravel c’est un régal!
Excellente vidéo, comme toujours ! Merci beaucoup l'ami !
Sur le point "Surprenant" => "Inconsistant" est utilisé ici par erreur comme un anglicisme. Inconsistent en anglais signifie "incohérent". C'est le manque de cohérence de PHP qui est reprochée, par le fait qu'il ne soit pas "consistant". :)
Bonne remarque je ferais plus attention j'ai tendance à mélanger les termes ^^
avec symfony 4 , ses admin bundle associés etc , on peut faire des app de fous , voir meme d'entreprise , si on maitrise bien , on a l'impression que c'est magique :)
Bonne vidéo et de plus très intéressante ! Si possible fait pareil pour d'autres langages de programmations :)
Ce qui me dérange dans mon cas avec PHP, c'est le rafraîchissement de la page à la moindre requête.J'ai trouver un petit bout de code Jquery pour géré l'envoie en arrière plan mais le fait que PHP ne l'intègre pas directement je trouves ça un peu bête.
Très bonne vidéo !
SKE TV Gaming C’est un comportement totalement normal, ce n’est pas au backend de gérer ça mais au front. Ce que tu recherches s’appelle une SPA et tu peux récupérer des données en transformant ton serveur en API RESTful sur laquelle tu vas taper depuis ton front. Ce n’est donc pas « dommage » que PHP n’implémente pas cette fonctionnalité
Sinon faut ajouter que PHP6 a voulu sortir avant PHP 5.3/4 c'est d'ailleurs pour ça que ça a mis autant de temps (si je me souviens bien)
On est a la version 8.3 maintenant. La version 8.4 est en cours. Php n' est pas mort.
Comme beaucoup de gens, PHP est mon premier amour. Mais par curiosité, passion et opportunité j'ai fini par aller voir ailleurs (Ruby/RoR, en passant par NodeJS, Python, Golang) et aujourd'hui... c'est toujours très dur de revenir sur du PHP !
Mais pour ne pas tirer sur l'ambulance, je trouve quand même que Laravel rehausse vraiment le language et lui donne la touche de "modernité" qui lui manquait, chose que ne fait pas Symfony imho.
Par curiosité lequel des langages cités tu préfère au final ?
J’ai pas d’avis hyper tranché sur cette question. J’ai différentes affinités selon la nature du projet (perso ou pro).
Je suis freelance et pour ne pas te mentir je n’ai JAMAIS utilisé du node dans un projet pro car j’en ai jamais eu le réel besoin (sauf pour du build frontend évidement).
Ce qui compte quand tu es freelance (et tu es bien placé pour le savoir) c’est de faire de l’argent le plus rapidement possible, et dans les projets sur lesquels je travail, RoR répond bien mieux à mes besoins que node.
Pour moi Ruby est proche de la perfection, aussi riche que PHP dans son ecosysteme de lib, moins verbeux et objectivement plus elegant. Certains lui reprocheront sa lenteur, mais je pense qu’une grosse partie des gens qui lui reprochent ça lisent trop d’articles de blog et n’ont jamais été confronté à ce problème de lenteur.
Bref pour le pro je préfère de loin Ruby/RoR, bien qu’il m’arrive d’utiliser PHP en raison de l’environment du client, ou de sa volonté explicite d’utilisé PHP.
Pour les projets perso, qui représentent presque 50% de mon code, je fait énormément de nodejs, c’est avec ce language que je m’amuse le plus.Tout simplement parce qu’on peu faire facilement autre chose que des site web avec, comme de la communication avec de l’IoT, ou des truc plus hardware/system, des truc "geek" quoi pour vulgariser.
Puis j’aime travailler sur du worlflow donc je passe parfois plusieurs jours à me faire des boilerplate nodejs fullstack en abusant de webpack. Les autres languages que j’ai appris comme Python / Golang / .NET n’ont pas vraiment trouvés leurs places dans mon quotidien.
Donc pour résumer:
Pour le pro: Ruby/RoR
Pour le perso: NodeJS
Je te retourne la question d'ailleurs, ça m’interesse car j’ai l’impression d’avoir un profil similaire au tien quelques fois.
Graphikart.fr Comme tu le dis, ceux qui avancent des arguments comme quoi "PHP c'est de la merde" se basent sur des faits qui n'en sont plus depuis maintenant belles lurettes. Pourtant tu participes toi-même à transmettre cette fausse croyance rien que par le titre de cette vidéo auquel beaucoup se contenteront de s'arrêter sans en visionner le contenu... De plus, peu importe comment ou sur quoi PHP a évolué, PHP est bel et bien un langage quoi qu'on puisse en dire.
Clément Cazaud le but de ça vidéo c'est justement de faire comprendre pourquoi quoi on trouve sur les forums des articles sur ça mais qui sont généralement impartial et à but d enfoncer
Bonjour Martin, je sais bien, je ne critique pas vraiment le contenu de la vidéo mais son titre qui lui est bel et bien impartial ou du moins pourrait facilement paraître l'être si on interprète pas en ce sens les petits guillemets... :)
@@clementcazaud9342 Beaucoup des critiques de l’article « PHP, a fractal of bad design » sont encore valables aujourd’hui. PHP a toujours un typage pourri, une tolérance exacerbée au code de merde et aux mauvaises pratiques, une cohérence interne très relative, une bibliothèque normale chaotique et un système de routage par défaut dangereux (qui est d’ailleurs le cœur des problèmes de sécurité de beaucoup de sites).
@@florianm22 Qu'entends-tu plus précisément par typage pourri? On peut tout typer avec les dernières versions de PHP à la manière des langages plus stricts comme Java. On peut aussi ne rien typer du tout, c'est tout l'intérêt du typage dynamique, c'est une feature... L'un de ses intérêts comparé à d'autres langage, c'est qu'il est multi usage, multi paradigme. Si dans ton équipe comme dans la mienne tu souhaites l'utiliser avec un typage strict, alors à nous de veiller à cette application, c'est pas bien compliqué pour une team bien organisée et professionnelle... C'est le même principe à appliquer avec d'autres langages multi usage/paradigme pour lesquels je n'ai jamais rien entendu de tel...
"Une tolérance exacerbé au code de merde et aux mauvaises pratiques"... Encore une fois, sa tolérance est voulue par design... En revanche, il vaudrait peut-être mieux se demander qui écrit "ce code de merde", non? Le problème me paraît plutôt être là car il écrira alors du code de merde avec n'importe quel langage...
Par cohérence interne qu'entends-tu plus précisément? Ferais-tu référence plus précisément à la convention de nommage incohérente des language constructs? Son développement s'est effectué de manière organique comme de nombreux projets open source... On vit avec, comme on vit avec Linux... C'est certes pas très élégant mais pas un réel problème...
PHP n'a pas de système de routing, je vois pas de quoi tu parles, c'est un langage avant tout. Je suppose que tu fais référence aux variables globales genre $_SERVER qui peuvent contenir des données nécessaires au routing? Pour cela il existe des librairies dont le composant Symfony Router, HTTPFoundation avec PSR7, etc... Et une fois encore, le problème est dans son utilisation, et non dans ce qu'il permet de faire ou pas... C'est comme un couteau, à ne pas mettre entre les mains d'enfants non formés ou cadrés. Il aura en revanche son intérêt pour de nombreux professionnels.
Bref, merci pour ton commentaire démontrant à la perfection le réel problème. Certaines personnes trouvent un intérêt à répéter les bêtises qu'ils entendent ici et là sans même connaître ce dont ils parlent...
@@clementcazaud8040 Que ce soit clair, je ne suis pas particulièrement en guerre contre PHP. Au contraire, je pense que les critiques qu’on lui fait sont nécessaires à son évolution. Mais non, je ne répète pas ce que « j’entends ici et là sans connaitre ce dont je parle » mais bien des problèmes que j’ai constaté car je l’utilise quotidiennement. Maintenant, je vais détailler quelque peu mon précédent commentaire qui était assez flou.
Oui, depuis les dernières versions, on peut typer bien mieux qu’avant. Toutefois, PHP fait des conversions de types de manière absolument invraisemblable et qui le rendent particulièrement difficile à utiliser de manière fiable (à moins d’activer manuellement et dans chaque fichier le mode strict…). Peu d’autres langages ont ce défaut, JavaScript fait de même mais bien moins que PHP (mais n’a pas de typage non plus).
Maintenant, puisque vous tenez à la comparaison avec Java, ce dernier est un langage dans lequel il est beaucoup plus dur d’écrire de la merde parce qu’il est beaucoup mieux conçu et structuré. Le programmeur est tout de suite encadré, contrairement à PHP.
Pour la logique interne, je parlais de problèmes de sa syntaxe comme la sensibilité variable à la casse, l’associativité à gauche de l’opérateur ternaire, la valeur indéfinissable de NULL, la magie de l’opérateur == qui fait n’importe quoi et n’est même pas transitif, la présence d’alias de type avec lesquels on ne peut pas typer, le support variable d’Unicode, etc.
Pour le routage, je parle du système par défaut qui dit « un fichier » = « une route/URL ». C’est dangereux, et je n’aime pas prétendre que les gens qui ne savent bien s’en servir ne devraient pas car on sait que c’est faux : les débutants utilisent tous PHP et créent donc à leur insu des sites peu sécurisés. En NodeJS au contraire, le routage est fermé par défaut. /Security by design/, c’est pas juste un joli slogan.
Pour ceux qui n'ont pas lu cet article :
emploi.developpez.com/actu/199863/Emploi-developpeur-2017-les-langages-les-plus-demandes-et-les-mieux-payes-Java-JavaScript-et-PHP-plus-demandes-mais-Perl-Go-et-Scala-mieux-payes/
Voilà la "réalité du travail" (de developpez.com) en France. Pensez à regarder des stats propres à la France, et pas internationnales comme sur stackoverflow, et parfois même propres à votre région.
Y a moyen de faire de l'asynchrone avec gearman :)
Les français qui disent fred à la plade de thread :D. Sinon bonne vidéo hein ;-)
J'adore tes gifs :-) Sinon je suis assez d'accord avec ton analyse. Mais tu ne te mouilles pas assez ! (je plaisante je sais bien que c'est le but de rester un peu language-agnostic)
le titre est quand même exceptionnel ^^
Pour moi le principal problème de PHP c'est qu'il est "trop accessible" J'ai personnellement commencé le développement web avec PHP et j'ai trouvé ça plaisant car on peut avoir des rendus hyper rapide, faire un peu n'importe quoi et avoir un code qui tourne.. Ce qui fait qu'on passe à côté de pas mal de choses, de concepts et de principes..
J'ai découvert cette année le ruby dans mon alternance, et j'ai vraiment du mal à retourner sur du PHP..
Pour plusieurs raisons assez simple on a un debug assez compliqué, les false qui ne sont pas dump par exemple, l'environnement PHP est assez mauvais aussi, quand on voit que WP domine le monde PHP c'est assez triste..
Chose bête en Ruby, le "?" en fin de nom de méthode qui indique que le retour est un bool je trouve ça magique.
PHP se dit être un langage objet ? Alors pourquoi ces types de variables ne sont pas des objets..?
Enfin bref ce n'est que mon avis et je ne reste pas bloqué sur un langage et je cherche toujours celui le plus adapté 😉
Après JS avant ES6 c'était pas fou non plus.. Maintenant ça va ahah 😊
Oublie Ruby :] Le marché est ailleurs. Tourne toi plutôt vers PHP, Java, Python, sincèrement. En quoi l'environnement PHP est-il mauvais ? On fait aussi bien que sur du Spring avec un Laravel ou un Symfony. Il y a de bonnes alternatives du côté de Cake, Zend ou encore Phalcon. Si tu parles de l'environnement de développement docker est ton ami, peu importe la techno.
WP n'est pas un mauvais produit, loin de là. Si c'est autant répandu c'est que beaucoup de sites sont des sites vitrines et WP permet de marger facilement sur ce type de prestations. Le temps c'est de l'argent :)
Php gère très bien le typage scalaire depuis PHP7 hein ;)
JS était très bien avant ES6. C'est le besoin qui a évolué et qui fait de Javascript un langage Hype. On traite de plus en plus d'information côté client, on développe beaucoup d'applications sur des archi n-tiers (pattern api gateway par exemple). Avant Angular et Cie il y avait déjà des frameworks qui faisaient très bien le job (backbone.js, ember.js etc).
Bref le couple PHP/JS est très bien et il n'est pas prêt de crever. Il couvre largement la plupart des besoins, peu importe la taille du projet...
""Tourne toi plutôt vers"" est une mauvaise réponse ;) Les devs font ce qu'ils veulent, tant qu'ils peuvent livrer des projets fonctionnels en "pas trop" de temps :)
Par rapport à Ruby et au "?" en fin de méthode, PHP7 intègre les return-type qui peuvent aller carrément au-delà d'un booléen (type objet, scalaire, tableau...)
Pourquoi les types de variables ne sont pas des objets ? => Parce que "BC" : si un "int" devient un objet, il faut dans ce cas monter en version majeure (PHP8 par exemple) et la plupart des projets basés sur des types primitifs (et non des types objets) devront complètement changer leurs vérifications. C'est une rupture de rétrocompatibilité qui briserait trop de projets pour trop peu de gains à l'heure actuelle.
La question qui permet de comprendre pourquoi, malgré son évolution, c'est encore merdique: qu'est ce que ça apporte de programmer en php plutôt qu'un autre langage ? Rien, aucun avantage.
Par contre, il suffit de lire les commentaires pour comprendre que c'est le langage de script orienté Web pour débutants et pour ados par excellence. C'est le fast food de la programmation.
l'erreur, elle est humaine mais il ne faut pas en rester, c'est idiot. monsieur graficart on dirai que vous etes trés doué!.l'homme chauve.
Mon plus gros reproche à PHP c'est qu'il ne va pas chercher les classes dans les namespaces parents ni ne permet de use tout un namespace. Il faut lister toutes les classes individuellement !
Euh :
use My\Namespace\Part;
$object = new Part\MyClass();
On peut importer un namespace partiel ;) Après, ce n'est peut-être pas ce que tu attends j'imagine.
Et au pire :
use MyParent\{ClassA,ClassB,ClassC};
^^
J'aimerais ne pas avoir à mettre use Exception à chaque fois.
Et aussi quand j'ai les classes API\AbstractFoo et API\Bar\Foo, ne pas avoir à mettre use API\AbstractFoo dans API\Bar\Foo.
@Vuk Kulvar : franchement, en utilisant un bon IDE (même Vim le fait), un simple raccourci clavier (ou même rien, des fois) permet d'importer la classe automatiquement.
Tu fais comment quand tu codes en C ou en Javascript et que tu veux importer des modules, sérieusement ? Pour moi l'argument du "Bouhouhou je dois faire un `use` à chaque fois, ouinn" c'est vraiment un argument nul...
Ne le mets pas et tape à la main dans le code le namespace complet ^^, sans les use php ne peut pas faire les bons alias. Surtout qu'avec un ide comme phpstorm ou un bon plugin dans les éditeurs, les uses se font tous seul
c'est comme le mauvais et bon chasseur ...... ref les inconnus :)
Je trouve cela dommage de titrer PHP "c'est de la merde" alors que la vidéo présente plus d'avantages que d'inconvénients. En effet, beaucoup de personnes regardent juste le titre des vidéos et se font des idées toutes faites sur un sujet. J'aurais mis: PHP "c'est de la merde", vraiment ? Je pense que cela donnerait plus envie de voir la vidéo qui explique vraiment bien les avantages et les inconvénients du langage.
L'objectif du titre c'est d'inciter les gens qui pense cela à regarder la vidéo ;)
Je fais partie de ceux qui ont un avis négatif sur PHP. Dire que c'est parce que je pense qu'il faut pas être intelligent pour l'utiliser me semble mega réducteur... Je trouve que c'est un mauvais langage de programmation car il permet, voir encourage de très mauvaises pratiques de programmations(en tout cas, n'encourage pas fortement le reste).
Le fait que les variables ne sont pas fortement typées complique à mon sens le commencement des jeunes développeurs, et les encourage a faire des variables fourre-tout, sans vraiment réfléchir à ce qu'ils veulent. Je trouve aussi que d'avoir un langage non compilé rend l'apprentissage plus compliqué.
J'ai fait plusieurs projets, avec des relativements gros frameworks(symfony), et c'est à chaque fois la croix et la bannière pour trouver quelle méthode tu peux utiliser.
M'enfin, ça en tout cas c'était l'état à PHP 5.6
J4N je ne vois pas en quoi un typage faible pourrait compliquer l’apprentissage d’un langage de programmation !? Avoir peu de types, a fortiori compréhensibles (nombres, strings,...) comme il peut y avoir en JS, facilite fortement l’apprentissage d’un tel langage car le néophyte n’a pas à se préoccuper de si sa variable va contenir des entiers, des nombres flottants ni de leur taille en mémoire : il se préoccupe de l’intéressant, c’est-à-dire, de ce à quoi sa variable va servir.
Par ailleurs, en quoi avoir à compiler son programme serait-il bénéfique ?
J’avoue ne pas comprendre car c’est d’ailleurs un frein : le temps passé à compiler ne sera pas dédié à l’apprentissage de la prog !
Donc tu recommended quoi ? Python aussi est un langage compilé... Je ne vois pas en quoi le fait que les variables ne soient pas typées en fait un mauvais langage, peux tu développer ? Aussi le fait que tu ne trouve pas ce que tu cherche dans la doc de symfony est un argument valable ? Synfony n’est pas php ...
.Net core dans l'idéal. Combien de fois je vois des gens qui codent, sont obligé de lancer l'application ou le script pour voir sur ça marche...
J4N J’avoue ne pas comprendre grand chose. Net Core serait mieux que PHP ? Je me demande pourquoi les géants du Web n’utilisent aucun de ces deux langages 🤔
Et puis, lancer son application pour voir si elle fonctionne, jusque là, je trouve que c’est la procédure normale à suivre lors de la phase de développement
Radio Cosmos je vois bien que tu ne comprends pas grand chose... Teste les deux. Si ta seule action c'est de lancer ton application pour voir si elle fonctionne, c'est de la lancer, t'es tests se résume à avoir de la chance que le testeur tombe sur ton problème. On bosse dans une solution qui a récemment dépassé les 3 millions de lignes de code. Ça serait impossible en php. Au moins si on change un type, un nom de variable,... Et on le sait à la compilation, avant même d'avoir lancé nos tests unitaires. Le fait que Php permet de ne pas être fortement typé encourage(dans mon expérience avec les dev que j ai I encadré) à ne pas monstre réfléchir niveau architecture et à faire plutôt des script que du code architecturé. Je peux que te conseiller de lire "clean code". Il y a beaucoup de bonnes pratiques qui sont pas facilitée en php. Après tu en fais ce que tu veux
Personnellement, etre bon developpeur c'est celui qui boit son cafe xD , de savoir les concepts genre savoir c'est quoi une classe ou un objet et etc. Puis, connaitre structures comme mvc. Vous pourrez apres faire n'importe quel languages de programmation, il vous suffit juste de s'adapter a la syntaxe.
Il ne s’agit pas que de s’adapter à la syntaxe, il s’agit de s’adapter au langage. Le MVC n’est pas forcément un pattern transposable dans d’autres écosystèmes. En somme, pour pouvoir maîtriser un langage, et bien, il faut l’apprendre et découvrir comment il convient de l’utiliser
J'adore le titre x)
Très bonne vidéo.
Cependant il me semble que tu as oublié de mentionner que PHP pouvait (et devrait être) statiquement typé depuis PHP 7. php.net/manual/fr/migration70.new-features.php.