Editer un fichier PHP en ligne, autant utiliser un client FTP directement.. C'est bien plus secure et ça tu me dira pas le contraire (ou alors c'est vraiment que t'es obstiné). => t'a des personnes qui veulent pouvoir éditer leurs fichiers depuis leur site sans devoir passer par FTP (et plus généralement gérer leur serveur, d'où d'ailleurs l'origine des shell PHP tel que C99 et compagnie qui sont désormais utilisés à 99% par des lamers). C'est d'ailleurs arrivé pour certains de mes clients.
Ensuite, si pour toi balancer un lien de la doc PHP (influencée là aussi par ta vision de la prog et ta compréhension tu sujet) sans la moindre explication c'est une réponse "parfaite" c'est que en effet, on voit pas du tout le dev de la même manière. Mais j'suis p'tetre trop vieux pour comprendre cette vision "moderne". J'ai pas balancé un code tout fait, mais donné un début d'explication afin de créer une piste de reflexion, c'est ça mon raisonnement. => rien de mieux que d'apprendre à une personne à apprendre par elle même.
Donner des explications trop précise anéantis le travail de reflexion et surtout de recherche, à chaque fois que le mec aura besoin de faire un nouveau truc il créera un topic pour que quelqu'un lui mâche la recherche, comme tu le vois dans cette section les 3/4 des topics n'ont fait aucun travail de recherche (je pense aux "comment créer un tool cod", "comment se connecter à mysql en c#" et compagnie). La meilleure solution reste d'aiguiller la personne en la laissant se démerder, dans le cas de figure où la personne voulait "éditer une page PHP ou HTML depuis une autre page PHP" ce qui correspond le plus à un aiguillage concis est un lien vers la fonction
file_put_contents qui remplis parfaitement le rôle demandé dans le topic.
Dans le cas où le mec veut stocker du contenu, tu lui envois simplement le terme à recherche en l'occurence il suffit à l'auteur du sujet de taper "php tuto template" et de trouver plus de 5 000 tutoriels en français qui expliquent comment faire, à la limite lui lister 2/3 liens :
->
Vous devez être inscrit pour voir les liens !
Inscrivez-vous ou connectez-vous ici.
->
Vous devez être inscrit pour voir les liens !
Inscrivez-vous ou connectez-vous ici.
(sauf que là tu lui mâches le travail de recherche, donc à la limite tu lui donne juste le mot clef)
Forcément la personne va suivre un tuto où le travail de reflexion sera totalement mâché ainsi que la traduction en algorithme mais il aura au moins comprit comment mener un travail de recherche et petit à petit pourra trouver comment réaliser X ou Y chose en recherchant et un jour pourra réfléchir elle même sans s'appuyer sur une reflexion d'autrui.
Pour ce qui est des vices du langage de PHP.. Pour en connaitre plusieurs, aucun n'est parfait. Je ne parlerais pas de vices, mais je dirais plutôt que PHP est beaucoup plus permissif, c'est différent. => J'ai peu d'amis qui ont débuté par
RoR ou
Django et beaucoup qui ont démarré par
PHP (même si on va comparer un langage à part entière et deux frameworks ce qui est assez complexe, on parlera plus de
technologie pour simplifier la chose et on entendra par
PHP le langage sans aucun framework ajouté) .
Pourtant après avoir utilisé les 3 (
PHP depuis plus de 7 ans,
Django depuis moins d'un ans et
Rails depuis plus de 3 ans et plusieurs frameworks sous PHP) j'aurais vraiment adoré recommencer mon apprentissage et apprendre le
PHP puis les nombreux frameworks que je connais après savoir utiliser
RoR ou
Django.
Commencer par apprendre
Rails ou
Django dès le début impose non seulement l'apprentissage d'un nouveau langage (le Ruby qui est au passage un langage très compliqué pour un débutant, et le Python) ainsi que l'apprentissage d'un nouveau framework et d'un tas de notions tel que le MVC mais selon mon point de vue (et beaucoup d'autre de développeurs avec qui j'ai pu m'entretenir) une fois que tu as acquéris ces notions là sur
Rails ou
Django tu pourras les transcoder beaucoup plus facilement sur
PHP.
L'avantage indéniable d'apprendre d'abord une des technologies tel que
RoR ou
Django est que le langage que tu vas apprendre est déjà basé sur une notion d'objet, donc tout va te paraitre plus logique lorsque tu vas passer sur le framework ensuite ça sera comme une sorte de "retour aux sources" et de nombreux concepts du langages sont incroyablement bien exploités dans le framework.
Par contre pour
PHP la notion d'objet est très très récente bien qu'elle puisse presque rivaliser avec les plus grands aujourd'hui elle est néanmoins assez difficile à assimiler pour un débutant qui sort de 2 mois d'apprentissage de procédural. Une fois que t'a appris le PHP tu vas devoirs apprendre et comprendre la notion d'objet avant de te lancer dans un framework. C'est donc plus complexe de débuter par PHP + un famework divers (Laravel, Symfony, Cake ...).
En plus de ça l'aubaine pour un débutant sur
RoR ou
Django est que dès lors que tu utilises un framework (c'est valable ici pour quelque soit le framework, écrit en Ruby, Python, PHP, NodeJS etc, etc) logiquement la sécurité est gérée en grande partie par le framework. Du coup tu vas démarrer par un truc sécurisé, en étant dans l'ombre dans un premier temps puis au fil de l'avancement de ton apprentissage tu vas comprendre que fait un filtre CSRF ici, pourquoi l'ORM est invulnérable aux attaques SQL, etc, etc.
Certains frameworks te laissent la liberté d'utiliser leurs systèmes de sécurités mais beaucoup les imposent (notamment ceux que j'ai cité), du coup tu te retrouves avec une application sécurisée : ok dans un premier temps tu seras peut être dans ta bulle et ne comprendra pas réellement quelles failles sont comblés mais au fur et à mesure comme dit plus haut tu comprendras les principaux concepts.
En débutant avec
PHP, tu vas devoir te taper de très nombreux cours sur la sécurité. De base ton application ne sera pas sécurisée si tu ne la sécurise pas toi même évidemment vu que tu n'utilises aucun framework : tu vas devoir rester toujours sur tes gardes et apprendre énormément de notions en sécurité web et sécuriser ton application au fil du temps, alors que dérrière le mec qui aura démarré par
RoR ou
Django sera encore en train d'apprendre les concept de sécurité mais
non pas comment les implémenter mais pourquoi ils sont déjà implémentés du coup dès que tu switchera sur du PHP brut (même si c'est très peu probable que tu développes ton application en PHP brut après avoir appris comment fonctionne un modèle MVC avec Django ou Ruby) tu seras intégrer les divers principes de sécurité que tu as vus précédemment en quelques recherches sur la doc, tu seras exactement où protéger quoi.
Voilà donc une petit ébauche sur ma vision de PHP pour un débutant (bien sûr tu peux débuter PHP en étant très prudent et en sécurisant ton application correctement, ou même essayer de débuter directement par un framework et en apprenant PHP rapidement comme tu aurais fais avec Python lors de l'apprentissage de Django, mais selon mon expérience et de nombreux autre avis ça sera beaucoup plus compliqué et beaucoup moins divertissant).
En gros tout ça pour dire que PHP est dangereux pour un débutant, c'est certes un langage magnifique qui permet de réunir à la fois les plus grand sites du monde et les plus petits projets pour les codeurs du dimanche (comme disait le créateur de PHP sur une mail-list il me semble) mais tu devras faire très attention aux principes de sécurité élémentaire, alors que si tu débutes directement par Django ou Rails, tu devras apprendre un langage (comme tu aurais fait pour PHP) puis à utiliser le framework mais au final les deux vont se rapprocher énormément (même concept d'objet de base) et l'apprentissage sera quasiment aussi simple que pour le PHP brut avec au final une bien meilleure approche de la sécurité web.
PS: J'ai bien parlé du serveur qui l'héberge.. Je suis pas rentré dans les détails d'un XSS. Mais si tu veux on peut parler sécurité du code, du serveur, etc pendant des heures hein ? => Sauf que encore une fois dire "
Le HTML ne peut pas, et ce d'aucune manière, représenter un risque pour le serveur qui l'héberge." peut porter confusion au débutant qui se dit alors que l'exécution arbitraire de HTML par le client n'est pas dangereuse.
Sans parler du fait qu'une XSS peut ouvrir la porte à une attaque plus importante (imaginons que le mec ait un Wordpress sur le même domaine, tu pourras faire un script qui lance un AJAX sur le wp-admin pour ajouter un plugin et foutre un shell PHP, il suffira de faire ouvrir l'exploit par un admin connecté et là le serveur sera directement impacté : la cause un HTML arbitraire qui ne devait à la base pas être dangereux pour le serveur (bien entendu lui même n'impactera pas directement le serveur mais est très dangereux pour le serveur dans la continuité d'une attaque).
Bref je vais plus m'étaler sur le sujet, j'ai du taff.