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

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

Langage PHP Discussion :

Enseigner le PHP en 2012


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 16
    Par défaut Enseigner le PHP en 2012
    Bonjour,

    Pour commencer, je m'excuse si je ne poste pas au bon endroit ou si cette discussion a déjà été développée.

    Je suis enseignant en informatique au niveau bac+2, plus précisément en BTS IG/SIO (son nouveau nom). Je vais prendre en charge à la rentrée prochaine les cours de développement Web après les avoir co-animés cette année.

    La progression pédagogique utilisée a été la suivante :
    • HTML, écriture de pages Web à la main avec un éditeur de texte
    • CSS et feuilles de style
    • bases du PHP, création de formulaires (non objet, pas de framework, codage tout à la main sous Netbeans)
    • interaction avec une BD MySQL (idem)
    • initiation au JavaScript (idem)

    A la fin de l'année, les projets des étudiants devenaient un joyeux bordel de code écrit plus ou moins n'importe comment (mélange HTML/CSS/PHP/JavaScript), difficile à comprendre et à maintenir.

    Je veux faire mieux l'année prochaine. Voici mes objectifs :
    • Partir directement sur du PHP objet (ils ont des cours de POO en C# par ailleurs)
    • Permettre aux étudiants de déboguer leur code PHP et JavaScript
    • Les sensibiliser à la séparation des rôles (MVC)

    Afin d'atteindre ces objectifs, je me pose pas mal de questions : quels outils pour un debugging optimal ? faut-il partir avec un framework PHP ou les laisser apprendre "à la main", au risque de prendre de mauvaise habitudes ? Quel framework PHP ? Quel framework JavaScript ?

    Je suis donc preneur de vos avis éclairés sur la question de l'enseignement du PHP en 2012. Toutes les pistes seront les bienvenues.

    Merci d'avance pour vos réponses.

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Framework c'est pour leur montrer une application du MVC ?
    Car sinon tu peux leur apprendre le MVC de façon tout à fait formel, à savoir un fichier mais une distinction des tâches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    // Récupération des infos de la bdd => modèle
    // ....
     
    // Traitement des données => contrôleur
    // Pas forcement facile à mettre en place sur des exemples simples faut l'avouer...
    // Mais on peut partir sur des stats à calculer avec l'obligation de ne pas le faire en SQL.
    // ...
     
    // Affichages des données
    // ...
    C'est selon moi le meilleur moyen de montrer le MVC à des débutants et c'est un début de codage propre et maintenable.

    Sinon le framework je déconseille s'ils n'ont pas de solides bases en programmation (en PHP ou dans un autre). Je suis étudiant et j'ai vu le massacre quand dans une UV on a abordé le JEE. Certains étudiants étaient totalement perdus car trop de notions à prendre en compte d'un seul coup pour pouvoir coder quelque chose.

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    quels outils pour un debugging optimal ?
    L'extension xdebug associée à netbeans (par exemple) permet de faire du debug en pas à pas comme on le ferais avec n'importe quel langage compilé.

    faut-il partir avec un framework PHP ou les laisser apprendre "à la main", au risque de prendre de mauvaise habitudes ?
    Surtout pas de framework en apprentissage. Se lancer sur un framework sans avoir une certaines connaissance du langage c'est l'assurance de nous envoyer des stagiaires/jeunes diplomé complètement perdu au moindre problème ou besoin qui sort du framework.
    Quel framework PHP ?
    Aucun

    Quel framework JavaScript ?
    Aucun , c'est le même problème que pour le PHP. Quand je vois des mecs inclure un jquery pour pouvoir faire $('#monid') et qui ne connaisse même pas l'existance du getElementById(); , je me dis qu'il y'a eu un problème.

    Je ne sais pas trop quel est le niveau en BTS IG , mais si il on des cours de c# tu peux très certainement faire l'impasse sur toutes les bases du php (on peut espérer qu'ils savent faire un if) et ne te concentrer que sur les spécificité (nouveauté 5.4 par exemple) et les bonnes pratiques.

    Partir sur des cours objets directement est une bonne idée.

    Un concept de cours que je trouve intéressant est de se baser sur un script simple , par exemple un formulaire d'identification et de le faire évoluer au fur et à mesure que le cours avance.

    Dans un premier temps un script brouillon qui au final se terminera en un script respectant le pattern MVC (au moins l'idée générale) avec les bonnes classe , de la validation JS ...
    Après tout dépend également de ton niveau de maitrise du langage. Il vaut mieux faire peu mais bien que vouloir allez très loin et finalement se rendre compte qu'on manque d'expertise. (J'ai eu un prof de C++ qui devait regarder dans son bouquin dès qu'on lui posait une question , je te laisse imaginer la confiance qu'on lui accordait ^^ )

    D'avis perso si on veux connaitre le langage , faut bouffer de la doc et pour ça rien de tel que des petits TP un peu tordu qui demande d'utiliser des fonctions un peu méconnues (et donc oblige à parcourir la doc).

    Pour finir toucher quelques mots des frameworks peut être intéressant mais pas avant de savoir comme ca marche sans.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Par défaut
    J'ai été étudiant jusqu'à l'année dernière. J'ai commencé par un DUT Informatique.

    L'approche du PHP a été la même que la vôtre cette année : c'est-à-dire HTML/css puis PHP procédural.

    Il est vrai que maintenant je créé des sites web amateurs et le concept POO me manquer (il faut évoluer quand on fait du PHP 5). Pourtant j'avais des bases C++ / Java, mais appliquer la POO pour une conception de site, je trouvais ca moins évident.

    Bref, l'idée d'apprendre la POO est excellente à vos futurs élèves. Mais je pense que j'irais tranquillement si je devais le faire.

    Je me rappel qu'on avait appris le HTML/css en même temps que le PHP. Cela veut dire qu'on avait un dossier papier pour les balises principales du HTML puis idem pour le CSS. Cela parait étonnant au début mais au final les profs nous disait "de toute façon le HTML et le CSS c'est pas de la magie, les balises sont toujours les mêmes, alors pourquoi les apprendre par coeur ?". Donc on avait un support, et dès qu'on avait besoins de créer un formulaire ou autre, on se reportait sur le dossier. De ce fait on a pas fait plus de 1h ou 2 de HTML/css (juste les notions avec les en-êtes, body, etc).

    Ensuite l'approche du MVC est très bon, mais seulement quand les bases de POO PHP seront bien acquises.

    Sinon je pense que le mieux est le codage à la mano, sur un bon éditeur de texte. Ceux qui partiront sur le web plus tard, auront largement le temps d'utiliser des CMS, framework et autres qui leur soulageront la vie.

    Sinon, pourquoi ne pas faire des cours sur des librairies comme jquery ? Il est vrai que parler de Javascript c'est bien, mais avec des notions POO, ils s'en sortiront toujours. Cependant comprendre jquery, n'est pas simple (j'en crois mon expérience ...), et pourtant tellement utiliser de nos jours ... et ajax ! la mode du web j'ai l'impression.

  5. #5
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Salam ; A force de forger on devient forgeron
    je crois qu'il faut passer par le fait a la main est évolué dans le temps , je suis débutant en phpmysql( 05 mois) ; maintenant j'arrive a lire est a appliqué certains code qui m'étais auparavant bizaroide

  6. #6
    Expert confirmé

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Je pense qu'il faut surtout être moderne, donc travailler avec les dernières versions de PHP, utiliser PDO et surtout être intransigeant sur la clarté du code. Suivre les standards PSR-0, PSR-1, PSR-2. Je préfère du code plus long mais plus propre que l'inverse, l'API de PHP est assez énorme on pas pas tout savoir en 2 ans.

    Par contre je pense que c'est bien d'avoir un projet dès le début, le plus simple et compréhensible étant la création d'un blog, ça va permettre de couvrir une grosse partie du langage et des extensions.

    A un moment fait une pause, et passe à l'installation/configuration de PHP, tout développeur se doit de bien connaitre ça, donc passer outre tout les WAMP et compagnie et faire une installation séparée d'apache - php - mysql

    Pour tout ce qui est debuggage, je suis pas fan des IDE avec Xdebug, le profilage est plus simple avec Zend Studio, mais je n'utilise pas non je plus.
    De bon tests unitaires + xdebug avec profilage + coverage, permet mieux géré l'appli final, pour le développement en cours, un var_dump + exit suffit (avis perso), et le plus important mettre PHP au niveau d'erreur maximal.

    Pas oublier non plus le topo sur l'encodage UTF-8.
    Pour monter comment marche les fonctions ou un code simple de PHP regarde l'extension VLD, et ne pas oublier non plus l'extension SPL
    Survole PEAR (sans oublie PECL) passe direct a Composer

    Ensuite pour tout ce qui est HTML, pareil faire du propre et moderne, donc pas de tableau pour la mise en page, codé en XTML Strict, ensuite passer au HTML5, et toujours toujours valider W3C, pareil pour le CSS, tu peux aussi faire un détour vers LESS et SASS

    Au final habitue les à faire du SCM, en éducation GitHub est gratuit, ça te permettra des les suivre (grâce en repo privée) et de les aider, comme ça t'auras un environnement sain, maintenable, cohérent et pro
    Si tu fais un Blog, avec un SCM tu pourras faire des branches avec les étape de ton enseignement.

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    Pour tout ce qui est debuggage, je suis pas fan des IDE avec Xdebug, le profilage est plus simple avec Zend Studio, mais je n'utilise pas non je plus.
    La plus part des IDE qui gère xdebug gère également Zend Debugger. Après niveau interface comme il sont tous plus ou moins dérivé/copié d'eclipse c'est sensiblement la même chose.

    Au final habitue les à faire du SCM
    +100
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Expert confirmé

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par grunk Voir le message
    La plus part des IDE qui gère xdebug gère également Zend Debugger. Après niveau interface comme il sont tous plus ou moins dérivé/copié d'eclipse c'est sensiblement la même chose.
    Je parle plutôt un niveau du profilage, les graphs sont meilleurs avec ZS + Zend Debugger (j'ai pas essaye avec le plugin Valgrind sous Eclipse)

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 16
    Par défaut
    Un grand merci pour vos réponses.

    Il semble y avoir unanimité sur l'importance de commencer "à la main" avant d'adopter un framework. Pour le reste, je vais prendre le temps de m'informer sur les diverses solutions proposées et de me remettre à niveau en développement Web (j'ai un passé de développeur Java/C++).

    Il reste un point sur lequel j'hésite : HTML5. Il semble que les principaux éléments de cette norme soient en voie d'adoption rapide et je profiterais bien de l'occasion pour sauter dans le wagon. Ce qui me retient, c'est l'éventuelle difficulté des étudiants à travailler sur les très nombreux sites existants écrits en HTML 4.

    Que pensez-vous de HTML5 ? La norme est-elle mûre pour être enseignée à des étudiants qui rentreront sur le marché du travail au plus tôt en 2014 ?

  10. #10
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Apprendre HTML 5 n'est pas un handicap pour la version précédente...

    Tout ce qui fonctionne en HTML 4 est valable en HTML 5, et encore heureux !
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

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

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    J'ajouterai que HTML 5, JavaScript et Canvas représentent l'avenir, HTML 4 et Flash appartiennent de plus en plus au passé (même Adobe sent le vent tourner et commence à vendre des solutions orientés HTML 5 comme Edge). Apprendre ces technologies dès maintenant n'est certainement pas un frein, loin de là, il faudrait au contraire en finir avec l’apprentissage de vieilles technologies obsolètes surtout dans un domaine aussi mouvant que le web qui subit presque une révolution par an.

    Soit dit en passant, si on attendait qu'une technologie soit figée dans le marbre pour l'utiliser, on ne ferait pas grand chose en web; c'est justement un domaine où l'expérimentation des nouvelles technique portent leur fruits rapidement.

    Il semble y avoir unanimité sur l'importance de commencer "à la main" avant d'adopter un framework
    Comment apprécier le homard si on à jamais mangé de langouste ?

  12. #12
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Oui pour faire rapide HTML5 c'est plus de balises disponibles. Il n'y a donc pas de difficultés à comprendre HTML4 en venant d' HTML5.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 16
    Par défaut
    Merci une nouvelle fois. Je partirai donc sur HTML 5 en 1ère année.

    Pour terminer, deux questions :
    • En 2ème année de BTS, mes collègues souhaitent basculer vers ASP.NET. Sans rentrer dans une comparaison entre les deux environnements, il me semble que PHP reste très utilisé, y compris en entreprise et pour des projets conséquents. Vous confirmez ?
    • y-a-t-il des "must read" (livres ou articles en ligne) sur le PHP objet, HTML 5 et les bonnes pratiques en dév Web ? J'ai regardé sur le site mais toute adresse de référence m'intéresse aussi.

    Et tant que j'y suis, j'ai également besoin de choisir le logiciel de contrôle de code source présenté aux étudiants en 2ème année. Le besoin est de pouvoir l'utiliser depuis un IDE Java (sans doute Eclipse) et .NET (Visual Studio 2010 Ultimate). A l'époque où je développais en entreprise, nous utilisions CVS et Visual SourceSafe. J'en ai lu beaucoup de mal depuis, et la tendance semble être aux SCM décentralisés comme Git. J'aimerais bien pouvoir me limiter à une seule solution, idéalement intégrée aux IDE.

    Donc même question que pour PHP : quel SCM enseigner en 2012 pour une utilisation en environnement hétérogène .NET/Java ?

    Merci d'avance pour vos réponses.

Discussions similaires

  1. Changer version php [Amen] 2012
    Par artenis dans le forum Hébergement
    Réponses: 1
    Dernier message: 17/08/2012, 15h47
  2. [Stage] Développement Web Php/MySql Rouen/Paris. Janvier 2012
    Par Sergiodev dans le forum Demandes
    Réponses: 0
    Dernier message: 27/12/2011, 16h18

Partager

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