Pas vu les vidéos. Le problème de la vidéo c'est qu'on est dépendant d'une ligne temporelle. Alors ok pour un tuto vidéo quand l'image apporte une plus-value, par exemple en bricolage ou en cuisine, mais pour le domaine informatique, tu aurais pu faire l'effort de fournir aussi la version texte.
Alors je me suis contenté de regarder le code donné en-dessous, et je vais faire quelques commentaires dessus – ça concerne uniquement le code de la partie III, je n'ai pas eu besoin d'aller plus bas pour trouver des trucs à dire.
– D'abord, le copyright.
Partager un code source sous copyright ça n'a pas de sens puisque le copyright a pour but de restreindre la copie. En France, qui est un pays de droit civil, le code source est automatiquement protégé par la propriété intellectuelle, il faut donc le placer sous license pour le partager (plus d'infos
ici et
là).
– Le code HTML
Je passe rapidement sur les balises de présentation (<center>, <br>) et les inutiles (ils ne sont pas tous inutiles heureusement). Pas une once de CSS ; à quoi servent tous ces ids et toutes ces classes ?
Les <label> manquent à l'appel. La balise <script> ainsi que les attributs d'évènements on* auraient pu être déplacés dans un fichier externe.
– Le JavaScript
innerHTML, on a le droit de s'en servir bien sûr, mais il faut préciser qu'il y a des façons plus efficaces de manipuler le DOM. Comme tu parles de performance dans ton introduction, je pense que tu dois bien ça à tes lecteurs.
Autre chose, il est peut-être temps de réaliser qu'aujourd'hui, plus personne n'a besoin d'un ActiveX pour instancier un objet Ajax (depuis que Microsoft a officiellement euthanasié IE6). Quant au message « Votre navigateur ne supporte pas les objets XMLHTTPRequest » adressé directement à l'utilisateur, ce n'est pas une solution. Il aurait été bon de rajouter quelques mots sur les différentes stratégies possibles pour faire face à ce genre de cas. Par exemple, aborder rapidement le sujet de la dégradation gracieuse.
- Le PHP
Le charset est incohérent avec celui de la page HTML, mais c'est le cadet de nos soucis : il y a une possibilité d'injection SQL avec $_POST['family']. Peut-être que tu en parles dans ta vidéo, mais songe au nombre de gens qui vont simplement copier-coller ton code. Le mal est fait. Un simple mysqli_real_escape_string aurait suffi ; parler des requêtes préparées aurait été encore mieux.
La même faille devient un risque d'attaque XSS quand, quatre lignes en-dessous, tu réinjectes des variables POST dans du code JavaScript. Tu ne peux pas présenter dans un tutoriel un code dans lequel il y a deux énormes failles de sécurité, c'est impardonnable !
Désolé de critiquer aussi durement, mais sur Développez.com je me serais attendu à un tuto de qualité, présentant les bonnes pratiques du moment, et pourquoi pas donnant des éléments de réflexion permettant de prendre un peu de recul. Et bien sûr, d'une fiabilité irréprochable. Je n'ai rien trouvé de tout cela.
À mon avis, ce tuto n'aura pas sa place dans les cours de Développez.com tant qu'il n'aura pas subi une sérieuse révision.
Et pour me faire pardonner d'avoir été méchant je veux bien t'aider par MP
Partager