Apprendre le PHP avec Codecademy

codecademy php 100

Dans le but d’optimiser le site que je suis en train de réaliser (un site d’e-learning basé sur des concepts de gamification, projet dont nous reparlerons), je devais me pencher vers d’autres solutions de e-learning pour trouver des sources d’inspirations relatives aux fonctionnements des exercices, des profils utilisateurs etc…

Profitant du changement d’hébergeur de ce site en question, et évaluant les futurs besoins pour la réalisation du site en question, je me suis dit que c’était le moment pour apprendre les bases du PHP. Il faut dire que j’ai déjà modifié pas mal de plugins WordPress (en php) mais généralement que pour des fonctions basiques (l’affichage de certaines lignes), et certaines de mes ambitions vont demander un petit peu plus de connaissances.

Des sites pour apprendre le PHP, il y en a plein, mais je cherchais une solution basé sur l’interaction avec l’utilisateurs (exercices intégrés aux cours) et avec gestion de profils (progression sauvegardée etc…), et francophone tant qu’à faire.

C’est pourquoi je me suis tourné vers Codecademy, un site dont j’avais déjà entendu parler mais que je n’avais pas eu l’occasion de tester.

Et vu que que le changement de nom de domaine prend un petit peu plus du temps que prévu, j’ai eu le temps, sur 5 jours, de finir l’intégralité du cours sur le PHP 😀

Si je vous écris cet article, c’était avant tout pour vous annoncer cela, mais j’en profite pour vous faire une petite critique de Codecademy.

Franchement, c’est bien pensé. Les leçons sont concises, et on met directement les mains à la pâte. L’interface est conviviale, la gestion des badges est plutôt cool et motivante.

Le problème, c’est que beaucoup d’exercices sont buggués. Ainsi j’ai réussi à valider des exercices qui bugguaient (bien sûr, vu que je ne fais pas ça pour les badges, j’ai toujours fini par réussir à débugguer la chose), et certains exercices auquel j’avais répondu sans faute ont nécessité des hacks pour qu’ils puissent êtres reconnus comme valides.
Que des exercices soient buggués, je le conçois aisément, les regex à mettre en place pour leur validation sont assez complexes. Et heureusement, il y a un forum dans lequel les utilisateurs disent leur problèmes, et proposent leur solutions.
Ce que je déplore, c’est que certains bugs sont reportés depuis des mois, et qu’ils ne soient pas corrigés, quand bien même une solution est proposée par les utilisateurs.
Pour celui qui n’a pas le réflexe d’aller zoner sur les forums, c’est très destabilisant d’échouer à un exercice et de ne pas réussir à trouver l’erreur… vu qu’il y en a pas.

Mis à part ce défaut et quelques erreurs de traductions, le site est bien pensé, et bien que ce ne soit qu’une initiation sur la grammaire de base de ce langage, je me sens déjà plus à l’aise avec celui-ci. La pratique, cependant, sera nécessaire pour intégrer ces nouvelles connaissances 😛

Ne souhaitant pas (pour l’instant ?) développer de plugins WordPress en PHP ex-nihilo, cet enseignement me va tout à fait, et je vous le conseille aussi, si c’est vous êtes dans mon cas ! 😛

  • Entièrement d’accord ! Avec deux trois potes on a terminé l’html/CSS ainsi que le PHP et même entamer le javascript, c’est un problème qui existe dans chaque chapitre de langage. Ce qui est peut-être regrettable aussi c’est de ne pouvoir sauvegarder qq part l’entièreté du cours (sinon il faut se retaper l’exercice pour réapprendre). Bon courage pour ton nouveau projet ! Tu me tiens au courant 😉

  • OUiiii et puis l’autre gros dommmage c’est qu’on a pas accès aux soluces non plus.
    Je le conçois bien sûr pour éviter la triche mais je veux dire des fois t’es bloqué et les indications sont pas bonnes et tu y arrives pas. C’est comme ci on te faisait faire un contrôle jusqu’à ce que tu réuisses. Dès fois, t’as juste besoin de la correction pour comprendre…

  • Oui c’est vrai que les indices sont bêtes parfois ^^ Je trouvais souvent une aide sur le forum d’aide donc ça allait. Sans ça… complètement perdu…

  • Kwikze

    C’est quoi l’URL du forum d’aide pour codecademy ?

  • Je connais pas l’URl par coeur mais il y a un hyperlien en bas de la sidebar de gauche sur chaque exercice 🙂

  • Kwikze

    Merci . Mais toi tu as coder ton site ou t’en as créer un avec wordpress ou autre ?

  • Encore une fois, la réponse se trouve en bas de page, mais je vais te répondre plus en détails 😀
    Pour être tout à fait exact je dirais… les deux 😛

    J’avais pour habitude de coder mes sites HTML/CSS de A à Z mais avec le temps, de nouveaux besoin se sont fait ressentir, et il était clair que je devais utiliser un manageur de contenu pour offrir des fonctionnalités intéressantes à mes utilisateurs (recherches, articles liés, flux d’actualité etc…).
    Coder son propre CMS tout seul, c’est surement très intéressant, mais concrètement il faudrait être expert en sécurité informatique, en référencement, en design, en user experience, en accessibilité, en optimisation de performance, en base de donnée, tout en étant capable de suivre l’évolution de chacun de ces domaines… Ce serait aussi assumer que l’on puisse faire mieux qu’un système développés par des centaines d’experts à travers le monde depuis 10 ans…
    Bref, pourquoi réinventer la roue et ne pas directement se consacrer à ce pourquoi les utilisateurs visiteront mon site, à savoir son contenu ?

    J’ai donc choisi WordPress, open source, performant et gratuit, pour me faciliter toutes ses tâches. C’est sa modularité qui m’intéressait.
    Je n’ai certes pas touché au core directement mais pour le thème et les plugins, là il y a eu de la modif 😀 L’idée d’utiliser un CMS et un thème comme base, puis d’y intégrer de nouvelles fonctionnalités, puis de le personnaliser à fond 🙂 Et là ça demande de plonger dans le code.
    Au final, on apprend beaucoup de choses comme ça aussi, car au lieu
    d’être confronter à son propre code en permanence, on tombe sur plein de
    façon de coder différentes, et parfois très optimisée !

    Pour te donner une idée, le site utilise une cinquantaine de modules complémentaires (qu’il a fallu bien paramétrer comme il faut après on avoir tester plein d’autres), plus d’un fichier sur deux du thème original est modifié, j’ai rajouté plus de 600 lignes de code CSS fait main (pour intégrer et personnaliser) et j’ai rajouté une bonne vingtaine de fonctions… apprendre le PHP et le jQuery n’était pas du luxe 😛

    Je n’ai donc certes pas tout créer ex-nihilo, ( ce n’est d’ailleurs pas ce qui est demandé dans l’immense majorité des cas => http://www.smashingmagazine.com/2010/04/26/designing-for-a-hierarchy-of-needs/ ) mais j’ai quand même du mettre la mains dans le cambouis de longues journées pour arriver à faire ce que je dont j’avais besoin, et cela nécessite encore du temps à maintenir, peaufiner, mettre à jour etc… 🙂

    Si toi aussi tu cherches à te créer un site avec beaucoup de contenu, je te conseillerai vivement de tester. Il sera fonctionnel rapidement, et même agréable pour l’utilisateur en fonction du thème que tu choisis, et tu pourras le faire évoluer en fonction de tes apprentissages 😀

  • Kwikze

    Merveilleux ! Merci pour ton long message qui a dut te prendre du temps . Je vais tester WordPress et essayer d’y ajouter des plugins.

    Une dernière question comment as tu appris le code HTML,CSS, PHP … ?
    Sur le web il y a une multitude de solutions mais je ne sais pas vraiment laquelle choisir. As tu appris avec un site spécifique (openclassroom …), un livre, où en piochant des informations sur internet?

    Encore merci et dorénavant je regarderais au bas des pages ….

  • C’est un plaisir 🙂

    Tu verras, WordPress, tu ne seras pas déçu ! avec plus de 30 000 plugins, des tutos et des ressources partout sur le net, difficile de se lasser de ce CMS !

    Alors mon apprentissage du code, c’est passé par des sites (soit des cours en ligne, soit des articles sur des thèmes particuliers), des livres, des vidéos, des cours (avec un prof), des exerices online, la pratique et l’analyse de thème et de site web en place… Quand on veut apprendre quelque chose, tout les moyens sont bons !
    Ce que je peux te conseiller si tu pars de Zéro c’est effectivement de lire le cours HTML/CSS de OpenClassroom, qui est génial et que j’avais dévoré en 3 jours à l’époque, puis de faire les cours sur Codecademy (le HTML & CSS) (malgré les quelques bugs) qui vont vraiment te faire mettre la main à la pâte, et pourquoi pas le cours sur Code avengers, puis revenir sur Codecademy pour faire les cours
    Make a Website et Make an interactive Website.

    Avec tout ça, ça va déjà t’occuper pendant un petit moment 🙂 Tu as l’air motivé pour apprendre, n’aie pas peur de franchir le pas; le jeu en vaut la chandelle ! 🙂

  • Kwikze

    Merci pour ces conseils qui me seront très utile . Et juste une question quelle est ton hébergeur de site web et quelle age as tu (si ce n’est pas indiscret ) ce n’est pas indiqué dans ton “à propos” et aussi quelles sont les langages que tu maitrises ?
    Moi je maitrises Python toi aussi ?
    Merci d’avoir répondu à mes questions de manière très complète.

  • Et bien là je suis chez OVH qui a l’avantage d’être performant et peu cher, mais dont le support service n’est pas au top avec ce type d’offre.
    et j’ai 26 ans 😛
    Je me suis initié a quelques langages (c++, java, jquery, xml) il y en a même pour lequel je me débrouille plutôt bien (eel, javascript, php) mais ceux que je “maîtrise” vraiment serait HTML et CSS bien sûr 😛 Ça fait 10 ans que j’en fais 😀
    Pas de python du coup ! je n’en ai pas eu besoin jusqu’à présent.
    Si tu t’en sors avec Python, tu n’auras pas peur d’affronter les HTML/CSS/PHP 😛

  • Kwikze

    Ok merci beaucoup

  • Kwikze

    Salut, ExtremRayn. Ça commence à faire longtemps que l’on s’est parler et j’ai eu le temps de me mettre à fonds dans HTML et CSS et WordPress.
    J’aimerais savoir si tu connais des plugins gratuit pour créer un espace membre et un forum sur mon blog . Car même en cherchant je n’ai rien trouvé de très convaincant.
    Peux tu m’aider merci
    Ps: Quelles plugins a tu utilisé pour le changement de langue ?

  • Ah bah c’est gentil d’être venu me tenir au courrant de tes progrès ! 😀
    Alors pour une partie forum, la referance c’est BBpress. Pas eu l’occasion d’en tester d’autres cependant.
    En espace membres t’as un plugn qui sappele simplement Members si je me souviens bien, et t’as Groups aussi qui est bien ! Apres il faudra surement dautres plugin pour la gestipn des roles le login en front end etc… De nombreux besoin vont venir petit à petit 😛
    Et en langue j’uilise mqtranslate, mais il ya plein de bricolage a faire pour que ca marche bien, du coup je te recommande Polyang que jai mis sur un autre site et qui est vraiment tres interesant !
    Cet article est destiné au PHP dans codecademy, je te recommande de me contacter par dautres moyen pour eviter mes hors sujet 😛 soit dans un article plus adapté soit par mail.
    A+ !