Que conseillez-vous à un vrai débutant en développement Web ?

a marqué ce sujet comme résolu.

La bibliothèque standard de Python permet de créer des serveurs HTTP, donc oui, c’est possible, mais pourquoi faire ça ?

Des frameworks bien foutus existent pour réaliser ces tâches, autant les utiliser !

Je disais juste que l’apprentissage d’un langage et d’un framework ne se feront pas en même temps.

ON part dans la contradiction là. ON n’apprend pas le langage et le framework en même temps, mais on a effectivement besoin du framework pour faire le site sans trop galérer; donc on doit forcément apprendre les deux en parralèle.

Je crois que l’approche est tellement différente entre PHp et les autres que continuer à essayer de les comparer nous mènera à rien. On a fait le tour de la discussion et on n’arrivera jamais à se mettre d’accord.

Pour m’amuser, j’avais commencé à le faire, un serveur HTTP en Java en partant de zéro avec les sockets. Peut-être qu’un jour je devrais mettre mes expérimentations sur github.

Extrait:

1
2
3
4
5
@Route(path="/")
public void index (Request request, Response response) throws IOException {
PrintStream out = response.getPrintStream();
out.println("<h1>Ca marche !</h1>");
}
+0 -2

donc on doit forcément apprendre les deux en parralèle.

QuentinC

Non.

  1. On apprend un langage (par exemple, Python) ;
  2. On a appris ce langage, on sait maintenant développer avec ;
  3. On veut utiliser ce langage dans un environnement web ;
  4. On apprend un framework web (par exemple, Django) ;
  5. Et on ne mélange pas tout !

Ou alternativement:

  1. On commence à apprendre un langage;
  2. On abandonne, parce que des programmes en console ce n’est pas ce qu’il y a de plus amusant, et parce qu’on ne voit pas quand on pourra enfin faire du web.

Je suis tout à fait d’accord que de ne pas tout mélanger est l’idéal, pédagogiquement. Ça permet de poser de bonnes bases et d’enseigner de meilleures pratiques. Mais il faut avouer que ça a un désavantage: ça peut être barbant. Pour un débutant (surtout jeune) qui veut faire du web, c’est beaucoup de matériel à absorber avant de pouvoir faire ce qu’il a envie de faire.

C’est comme si on proposait à un débutant en électronique de commencer son apprentissage par un cours théorique d’analyse de circuits. C’est peut-être la meilleure approche pour former un ingénieur, mais c’est bien moins motivant que de faire clignoter des DELs sur un breadboard.

Et pour éviter tout malentendus, je ne recommanderais pas nécessairement à un débutant de commencer par PHP. C’est un langage atroce qui encourage beaucoup de mauvaises pratiques. Mais il a un avantage (qui explique probablement sa popularité): il permet de produire rapidement des résultats. C’est un aspect important à prendre en compte lorsqu’on conseille un débutant.

Je comprends ce point de vue. Mais un débutant souhaitant réaliser un site web dynamique qui s’arrêterait à cause de la console n’avait peut-être pas tant envie que ça de programmer son site.

Et je parle bien de site dynamique, rien n’empêche quelqu’un qui n’a jamais touché à la programmation de réaliser un site avec HTML et CSS.

Je vais faire une analogie pas forcément adaptée, mais lors de l’apprentissage de la conduite, on ne se retrouve pas directement avec un volant entre les mains. Il y a auparavant l’étape du code, rébarbative et décourageante.

La clef, c’est de savoir ce qu’on peut obtenir par la suite.

Le temps passé à apprendre un langage avant de se lancer sur un framework n’est clairement pas du temps perdu.

Il permettra probablement d’apprendre d’autres langages beaucoup plus aisément par la suite. Si tu te lances directement sur un framework, tu ne vas réussir qu’a produire du code uniquement adapté à ton framework et en le faisant probablement mal (et sûrement basé sur des copier/coller douteux qui n’apprennent pas grand chose au final).

Et les programmes en console peuvent être largement plus amusant que beaucoup de programmes avec des interfaces graphiques, j’ai fait un Rogue-like en console quand j’ai commencé à apprendre le développement, et c’était fun (à l’époque :P).

+1 -0

Le temps passé à apprendre un langage avant de se lancer sur un framework n’est clairement pas du temps perdu.

JuDePom

Ce n’est pas ce que j’ai dit. Évidemment que ce n’est pas du temps perdu. Évidemment que ça permet de poser de bien meilleures bases que si on se lançait directement dans un framework. C’est juste plus ennuyant (pour plusieurs), et potentiellement démotivant lorsque tout ce qu’on fait c’est des programmes console, alors qu’on veut créer une application web.

La clef, c’est de savoir ce qu’on peut obtenir par la suite.

entwanne

Tout à fait d’accord. Par contre c’est davantage une question de support pégagogique que de choix technologique, à mon avis. La question n’est plus de choisir le bon langage pour débuter, mais le bon tutoriel/livre/cours.

Je comprends ce point de vue. Mais un débutant souhaitant réaliser un site web dynamique qui s’arrêterait à cause de la console n’avait peut-être pas tant envie que ça de programmer son site.

JE ne suis pas d’accord avec toi.

Le débutant ne comprendra peut-être (et même probablement) pas l’intérêt de faire de la console si son but final c’est de faire un site web.

Le temps passé à apprendre un langage avant de se lancer sur un framework n’est clairement pas du temps perdu.

Il permettra probablement d’apprendre d’autres langages beaucoup plus aisément par la suite. Si tu te lances directement sur un framework, tu ne vas réussir qu’a produire du code uniquement adapté à ton framework et en le faisant probablement mal (et sûrement basé sur des copier/coller douteux qui n’apprennent pas grand chose au final).

Sur ce point-là je pense qu’on sera tous d’accord; mais il faut réfléchir en mode débutant. C’est un fait: la potentielle rapidité de résultat est un critère crucial pour un novice, et donc souvent on fait tout en même temps même si ça donne lieu à des dérives bien dommages.

Il n’y a qu’à voir le nombre de gens qui disent "je fais du JQuery" et qui promeuvent ce framework au rang de langage… ils ont presque oublié qu’en réalité, ils font du JavaScript.

Ce qui se passe ici c’est que la pupart d’entre vous disent: pour faire du web, il te faut d’abord faire ça, puis ça, et tu dois avoir ci, connaître ça avant… c’est pas franchement un discours encourageant pour un débutant. C’est bien d’être réaliste et objectif, mais c’est pas comme si le but était complètement irréalisable et/ou s’il n’y avait pas d’outils relativement simples pour y arriver, comme le fameux MMORPG 3D mieux que WoW auquel tout le monde a déjà rêvé.

En fait, tout dépend de comment on pose ses objectifs d’apprentissage, et sa volonté de résultat. Mais en général quand on débute sur un projet, on est plus enthousiasmé quand on obtient quelque chose qui marche rapidement même si c’est un peu mal fichu. C’est une fois que ça marche qu’on va commencer éventuellement à se poser des questions sur la suite: comment faire mieux / plus lisible / plus maintenable / plus organisé / plus perraine / etc. Chaque chose en son temps.

En cela, PHP n’est peut-être pas une solution top niveau, mais elle est acceptable et elle est simple, si on veut faire du web avec un minimum d’étapes intermédiaires potentiellement enuyeuses.

Et les programmes en console peuvent être largement plus amusant que beaucoup de programmes avec des interfaces graphiques, j’ai fait un Rogue-like en console quand j’ai commencé à apprendre le développement, et c’était fun (à l’époque :P).

Ah je ne dis pas le contraire ! D’ailleurs dans ma liste impressionnante de projets perso enterrés depuis plus ou moins longtemps (ici 2010), il y a un mud, vous savez, ce genre de MMORPG mais en console… Cela dit, la chose de loin la plus difficile c’est pas la programmation du jeu en lui-même, mais son contenu, et la communauté.

+1 -0

Le débutant ne comprendra peut-être (et même probablement) pas l’intérêt de faire de la console si son but final c’est de faire un site web.

QuentinC

Si je me place en tant que débutant complet, je ne comprends pas non plus nécessairement l’intérêt d’écrire du code pour faire un site web. Alors qu’avec Wordpress par exemple, je peux en avoir un plus facilement.

En fait, tout dépend de comment on pose ses objectifs d’apprentissage, et sa volonté de résultat. Mais en général quand on débute sur un projet, on est plus enthousiasmé quand on obtient quelque chose qui marche rapidement même si c’est un peu mal fichu. C’est une fois que ça marche qu’on va commencer éventuellement à se poser des questions sur la suite: comment faire mieux / plus lisible / plus maintenable / plus organisé / plus perraine / etc. Chaque chose en son temps.

QuentinC

Oui mais ce « quelque chose » n’est pas forcément un site web. Il est déjà enthousiasmant de réussir à communiquer avec un programme.

Puis comme dit, si le but est de faire un site web, avant de s’atteler à la programmation, notre débutant aura sûrement expérimenté en premier lieu HTML et CSS.

Un de ses premiers programmes pourrait alors être un script générant des fichiers HTML, qui s’exécuterait dans un environnement bien plus simple.

Tiens j’ai repensé à ce sujet hier pendant ma conversation avec mon boulanger qui aimerait bien "se mettre à la programmation web" en commençant par réaliser son petit site internet lui même. Au vu de son besoin qui est : 80% de pages statiques, 20% de dynamique (livre d’or, contact, etc.), un ordi sous windows, un bagage en informatique qui se résume aux réseaux sociaux, … le conseil le plus sage que je pouvais lui donner était de commencer par HTML/Css et dynamiser ses pages avec Php.

Pourquoi ?

Parce que l’objectif de mon boulanger n’est pas de travailler dans le développement Web par la suite, il veut juste s’y essayer et arriver à faire quelque chose de concret et utile par lui même. Comme beaucoup de gens souvent en fait.

Moralité de l’histoire : il me parait hasardeux de conseiller quelqu’un sur un parcours d’apprentissage sans considérer le cas particulier de la personne et ses motivations. Pour le coup le PO n’est pas clair sur ses objectifs, d’où la guerre des paroisses.

Dans ce cas un Wix/Wordpress et autre est suffisant non?

Necros211

La réponse étant HS par rapport au sujet, je la mets en secret.

Wix/Wordpress en plus d’être lourd pour les 2-3 trucs qu’il veut faire va un peu à l’encontre de son objectif de se mettre à la programmation web. L’idée n’était pas de se mettre au paramétrage des plugins de CMS web.

Mais ça reste du HS, le point important de mon message était la morale.

20% de dynamique (livre d’or, contact, etc.) […] et dynamiser ses pages avec Php.

firm1

Prochaines étapes : des script-kiddies s’en prennent à son site, utilisent le livre d’or pour exploiter quelques failles, et le formulaire de contact pour lui envoyer une bonne quantité de spams.

Moralité de l’histoire : il me parait hasardeux de conseiller quelqu’un sur un parcours d’apprentissage sans considérer le cas particulier de la personne et ses motivations. Pour le coup le PO n’est pas clair sur ses objectifs, d’où la guerre des paroisses.

firm1

Je ne pense pas qu’il y ait vraiment de cas particuliers.

La programmation web reste de la programmation, donc apprendre la programmation web c’est apprendre à programmer. Pas de raison alors de privilégier le parcours « commencer avec PHP ».

Si ton boulanger s’intéresse vraiment à comment ça se passe, pourquoi préférerait-il PHP plutôt qu’autre chose ?

20% de dynamique (livre d’or, contact, etc.) […] et dynamiser ses pages avec Php.

firm1

Prochaines étapes : des script-kiddies s’en prennent à son site, utilisent le livre d’or pour exploiter quelques failles, et le formulaire de contact pour lui envoyer une bonne quantité de spams.

entwanne

ça existe vraiment (genre dans la vraie vie) des script-kiddies qui s’attaquent aux sites de boulangers, parce que ce dernier n’a pas mis assez de mayonnaise dans son sandwich ? o_O

Je ne pense pas qu’il y ait vraiment de cas particuliers.

La programmation web reste de la programmation, donc apprendre la programmation web c’est apprendre à programmer.

entwanne

ça me parait assez radical comme manière de voir les choses. C’est dommage.

Si ton boulanger s’intéresse vraiment à comment ça se passe, pourquoi préférerait-il PHP plutôt qu’autre chose ?

entwanne

La première raison pour laquelle je l’ai orienté vers là c’est parce que je sais qu’il trouvera un hébergement tranquille et sans prise de tête pour montrer son travail. La deuxième raison étant qu’avec autre chose que Php, il aura vite fait de se décourager dans les méandres de l’environnement de développement. Là ou avec un truc tout en un comme Wamp ça marche déjà.

Pour avoir commencé par faire du PHP, du haut de mes 13 ans, y’a donc presque 15ans…

Bah, je pense que c’est pas une si mauvaise idée que ça. Actuellement, si on me propose de faire du PHP. C’est simple; je fuis. Loin, et je ne me retourne pas.

Maintenant, ça m’a permis de vraiment me créer passion pour l’informatique. J’ai pu faire un site, relativement rapidement, qui fonctionnait, et qui me motivait. C’était pas beau, c’est sûr. Mais ça marchait.

Et c’est uniquement ensuite, que je me suis mis réellement à la programmation, avec tous les concepts qui en découlent. J’ai pu faire un master en développement logiciel, et je n’aurai peut-être pas accroché à l’informatique si j’avais commencé par un programme en console, genre un plus ou moins, fais en C (bon, je prends volontairement un exemple alambiqué)

Or, actuellement, je ne pense pas être un mauvais développeur, car une fois les vrais concepts de programmation appris, j’ai pu avoir un esprit critique sur ce que j’avais fait, et en gros, j’ai pu dire « berk, c’est tout pourri ». Et ensuite, j’ai refait, le même site, mais cette fois de manière plus propre et architecturé. Et franchement, c’est enrichissant.

De la même manière, quelqu’un qui apprends le C++, lui faire apprendre Qt relativement rapidement n’est pas forcément une mauvaise idée : ça donne un objectif rapidement, et des résultats qui ont de la gueule. Pour autant, il paraîtrait bien plus logique de connaître bien le C++, et la STL avant d’apprendre une bibliothèque/framework en C++…

+0 -0

Prochaines étapes : des script-kiddies s’en prennent à son site, utilisent le livre d’or pour exploiter quelques failles, et le formulaire de contact pour lui envoyer une bonne quantité de spams.

entwanne

ça existe vraiment (genre dans la vraie vie) des script-kiddies qui s’attaquent aux sites de boulangers, parce que ce dernier n’a pas mis assez de mayonnaise dans son sandwich ? o_O

firm1

Oui, ça existe, et ils sont plus nombreux que ce que tu pourrais croire.

Les personnes (souvent des adolescents/pré-adolescent) qui s’essaient à la "sécurité informatique" adorent les petits sites web de ce style, car ils peuvent appliquer bêtement les méthodes décrites sur Wikipédia (ou autre contenu plus adapté, mais en une simple requête sur un moteur de recherche on a de quoi casser beaucoup de sites de débutant).

+1 -0

firm1, moins de 1% des sites piratés le sont par quelqu’un qui connait la victime. Plus de 99% des cas t’en entends jamais parler, souvent la victime non plus avant 6 mois plus tard. Des spiders testent des failles et rapportent les failles. Des gens passent derrière y établir un shell ou defacer ou spammer depuis là où s’en servir pour héberger des trucs illégaux etc etc.

Pas une question de sandwich.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte