connecté
Bonjour à tous

Je voulais avoir votre avis plus général sur mon parcours que je vais vous raconter.

J'ai 48 ans et je travaille actuellement dans la comptabilité. J'ai 23 ans d'expériences professionnelle.

Il y a deux ans j'ai fait un bilan de compétences afin de me reconvertir professionnellement vers un autre métier. Le métier de développeur m'a beaucoup plu et je me suis mis sur le site d'Open Classroom pour découvrir des vidéos en ligne et ainsi pouvoir faire une formation de développeur full-stack dans un centre de formation. . Pour moi, cette formation a été vraiment une expérience très enrichissante, motivant et que du positif.

Durant ses 8 mois passé qui s’est terminé courant juillet 2024, j’ai appris beaucoup de choses en termes de langages notamment côté client (HTML, CSS, Javascript…) ainsi que le côté serveur.

J’ai de même fait un stage dans une entreprise dans un service de développement web où j’ai appris un nouveau langage (PHP), langage que je n’avais jamais appris durant ma formation mais qui a été aussi très enrichissant.

Ma formation devait être soi-disant diplômante mais malheureusement je l’ai raté et deux fois en plus. C’était un examen oral. Au début je devais présenter un projet de réseau social sur un thème quelconque en utilisant un des langages que j’ai appris ainsi que de rédiger un cahier des charges fonctionnelles pour les présenter devant les jurés.

Etant débutant dans ce domaine, sur la première fois, j’ai eu beaucoup de difficultés à réaliser ce projet. Dans les consignes on me demandait d'utiliser soit Bootstrap, Jquery ou Angular. J’ai dû le refaire au moins 3 fois et sur la 3ème fois, il a fallu que je le fasse à l’arrache en me servant de chat GPT.

J’ai passé le premier examen oral l’été dernier courant fin Aout. Un des jurés a vu tout de suite que j’ai fait du copier-coller en me servant de chat GPT. Avec une note de 7.5/20 j’ai dû faire un rattrapage.

Le juré m’a dit de refaire le projet avec le même thème. Durant les mois qui sont venus jusqu’à présent, je me suis servi de tutos (avec différents sites ainsi que des vidéos sur YouTube) pour me servir de modèle et je me suis aussi inscrit sur différents forums de discussion lorsque je rencontrais des difficultés et essayer de solutionner les problèmes.

Pour le réaliser de nouveau, j’ai essayé de le faire bien présenter, bien soigner tout en n’utilisant pas chat GPT.

Mais lorsque j’ai de nouveau passé mon examen oral mercredi dernier le 19/02 les choses ont été de pire en pire. Je suis tombé sur le même juré que l’été dernier et il m’a bien saqué. Il m’a dit que je n’étais pas honnête avec lui et que je n’étais pas non plus honnête envers moi-même. J’ai eu une note de 1/20 car il a vu que pour le navigateur, je l’ai fait fonctionner en local côté serveur (et non côté client). Au début je pensais que le côté serveur était plus important mais j’ai compris le lendemain que pour que le site soit consultable et visible, c’était le côté client qui était le plus important malgré que le côté serveur obtient aussi une place.

J’avais trop déconné là-dessus.

Du coup comme j’ai été recalé, je leur ai dit que je continuerai sur mon métier actuel (la comptabilité) et sur ce métier de développeur que je m’entrainerai en mode loisirs (sans prise de tête, ni formation) sachant que j’ai les bases, et même si ça m’a fait une belle expérience mais qui malheureusement n’a pas été abouti. Si l’occasion se présenterai j’aimerais refaire une formation mais faire quelque chose de simple comme du développement web. Je me suis dit que le full stack était peut-être quelque chose de très lourd surtout pour quelqu’un qui souhaite débuter dans ce métier.

Je pense que j’ai des grosses difficultés en termes de logique et sur la compréhension

Ce que je voulais vous demander c’est, avoir votre avis là dessus mais aussi auriez-vous des conseils à me donner et connaitriez vous des astuces qui me permettrait justement de travailler sur ses 2 grosses difficultés ?

Merci à vous
Bonsoir,

Attention, le marché de développeur web et celui de développeur d'applications est désormais totalement bouché si l'on a pas une expérience éprouvée avec un diplôme certifié.

Il était encore possible de se lancer en tant que junior il y a encore 2-3 ans, mais maintenant c'est terminé. Il y a beaucoup moins d'opportunités qu'auparavant, le marché est dans une phase de contraction qui va durer, les juniors, même diplomés bac +5, qui arrivent sur le marché se retrouvent en difficulté face à des dev' seniors aux solides compétences. La crise est grave et est partie pour durer de nombreuses années. Toutes les technos web sont impactées, mais les développeurs les plus touchés sont certainement les développeurs frontend React, beaucoup trop nombreux... Je vous laisse vous renseigner sur tout cela si ce n'est pas encore fait.

Se lancer maintenant, en tant que junior et à votre âge, ne serait pas un bon timing. De toute façon, même lorsque le contexte était favorable, le fait d'être un dev' junior passé la quarantaine semble toujours avoir été stigmatisant dans ce milieu.

Personnellement j'ai 50 ans, je code par passion depuis 2009 (donc depuis 16 ans), presque tous les jours. Je maîtrise ma stack de bout en bout, connaissance de plusieurs frameworks et CMS, création de frameworks et CMS "maison", PWA, automatisation de mes process, etc. Je précise aussi que je suis à jour, les IA font désormais partie de mon workflow par exemple. Par contre je n'ai aucune certification ni diplôme et pas non plus de réseau.

Et bien je vous le dis : même en imaginant faire ce qu'il faudrait pour avoir une formation certifiante et même si j'avais 35 ans (plutôt que mes 50), je ne me lancerais certainement pas dans ce piège vu le contexte actuel.

J'imagine deux exceptions à cette affirmation : la première serait un contexte où ma propre entreprise accepterait une reconversion en interne (perso ça ne risque pas de m'arriver car je suis infirmier dans un CHU) ; la seconde serait un réseautage solide qui me garantirait un poste (mais comme je l'ai dit je n'ai pas de réseau, et quand bien même, pourquoi les gens prendraient-ils le risque en cette période de crise ?).

Désolé pour le post assez abrupt, je conçois qu'il est très décourageant mais c'est la réalité du moment et il est important de prendre conscience de cette réalité avant même de savoir si vous avez les compétences requises (on pourra y revenir éventuellement). Je trouve que ceux qui vous ont vendu leur formation n'ont pas été très transparents quant à cette réalité. En même temps est-ce une surprise : leur intérêt n'est-il pas de vendre des formations ?...
Modifié par Olivier C (26 Feb 2025 - 04:28)
connecté
Bonjour Olivier,

Merci pour votre réponse.

Là où vous avez raison c'est qu'au niveau du marché de l'emploi tout est bloquant dans n'importe quel métier en général que ce soit dev ou autres. Mais j'ai remarqué que depuis pas très longtemps, les choses commençait a y aller mais tout doucement. Durant ma formation, je me suis inscrit chez Linkedin et j'ai vu qu'il commençait à chercher quelques développeur Junior.
Pour ma part l'informatique a toujours été ma passion. dès fois j'aurais bien aimé retourné en arrière et au lieu de me lancer dans la compta, me mettre dans ce métier de développeur.
Depuis que j'ai raté mon examen, je me suis dit que je vais continuer à m'entrainer à faire du code mais en mode loisirs, sans prise de tête ni formation ni rien du tout, refaire à titre perso mon projet et continuer sur d'autres choses aussi.
Salut,

il y a des passages que je ne comprends pas donc je vais plutot demander quelques détails.

a écrit :
Durant ses 8 mois passé qui s’est terminé courant juillet 2024, j’ai appris beaucoup de choses en termes de langages notamment côté client (HTML, CSS, Javascript…) ainsi que le côté serveur.

Tu as vu quoi comme langage "coté serveur" pendant ta formation ? (Ou qu'est ce que tu appelles "coté serveur" ?)

a écrit :
J’ai eu une note de 1/20 car il a vu que pour le navigateur, je l’ai fait fonctionner en local côté serveur (et non côté client). Au début je pensais que le côté serveur était plus important mais j’ai compris le lendemain que pour que le site soit consultable et visible, c’était le côté client qui était le plus important malgré que le côté serveur obtient aussi une place.


La pareil je ne comprends pas de quoi tu parles "pour le navigateur, je l’ai fait fonctionner en local côté serveur (et non côté client)." ? Un peu la même question qu'avant qu'est ce que tu appelles "coté serveur" et "coté client" ?
Pour moi si tu exprimes mal cette distinction, c'est que tu n'as probablement pas bien compris certains éléments Smiley sweatdrop . (En l'état pour moi la phrase n'a pas vraiment de sens)

Et globalement il faut comprendre qu'il n'y pas vraiment de coté "plus important", les 2 le sont tout autant.
J'ai déjà vu un front plutôt aguicheur à l'oeil, sauf que les interactions avec le back était codé avec le cul et au final chaque clique mettait de 5 à 15 minutes pour répondre une fois branché sur nos vrais données.
Et tu peux coder des supers fonctions coté serveur ultra rapide ultra original tout ce que tu veux, bah si le front est immonde personne ne se fera chier à utiliser ton application et ton back ultra performant ne servira à rien.


a écrit :
Je pense que j’ai des grosses difficultés en termes de logique et sur la compréhension

Pas de miracle, il faut de la pratique et encore de la pratique et toujours plus de pratique.

Suivre des tutos c'est sympa au début ça permet d'avoir les premières briques de compréhension sur différents sujets mais il ne faut pas en abusé non plus car ça masque trop souvent les difficultés et on se retrouve avec un faux sentiment de "facilité" (j'ai tout compris Smiley baille ) alors que c'est surtout que le tuto est bien fait pour que ça roule d'un bout à l'autre.
Perso quand je suis un tuto j'ai tendance à faire un premier passage "ok je suis les instructions en mode bête et méchant", si à la fin du tuto je me dis "pas mal ça a de la gueule il faudrait que je sache faire pareil", hop je recommence le tuto en me posant plein de questions à chaque étape : Pourquoi il fait ça ? Pourquoi maintenant et pas plus tard ? Est ce que ça peut se faire autrement ? Si oui quel est l'avantage de le faire comme ça ? Et les inconvénients ?
J'ai pas bien compris à quoi sert cette étape, alors je ne la fait pas et je vois l'impact que ça aura plus tard.

Ensuite il faut basculer sur un mini projet perso pour mettre en pratique réel et voir les "vraies" difficultés apparaître (en gros tu enlèves les petites roues et tu ne regardes plus le tuto)

Et après pour les trucs que je ne prends pas la peine d'y passer assez de temps pour vraiment retenir (ou que je ne pratique pas assez régulièrement et que je finis par oublier), j'essaye de me souvenir des "tuto marquants" pour savoir y retourner rapidement pour pouvoir re adapter à mon besoin (exemple marquant : flex et le tuto des grenouilles Smiley lol )
connecté
Bonjour Mathieuu

Suite à ton message, quand je dis "côté client" et "côté serveur" je voulais dire côté front end et côté backend respectivement (Désolé si je les ai formulé autrement). Sur le backend, j'ai appris, node.js, Express et websockets (et socket.io).

Merci pour tes conseils
Hum oui, mais ça colle pas avec la partie "le navigateur" de ta phrase. Un navigateur web montre forcement le coté "client"/"frontend" de ton appli.
connecté
Effectivement Mathieu si tu le fait en "GO live" sur ton VS code ou si tu installe dans ton terminal par exemple un "live server" côté front end.
Hum mouais toujours pas convaincu dans le sens de tes phrases, pour moi ça veut toujours rien dire "un live server coté front end".

Premier point d'entrée : tu as crée un code source que tu veux rendre "accessible" à des clients.
Pour que ce code source soit "utilisable", tu vas le mettre sur un serveur qui va l'interpréter et ce mettre en attente de clients. Ce serveur c'est le backend.
Et peu importe ce que tu utilises pour faire tourner ton serveur, que ce soit un live server qui tourne en local sur ton pc, une machine partagée avec d'autres utilisateurs, une machine dédiée pour toi, ça reste le backend.


Deuxième point d'entrée ça va être le client.
Lui il veut voir une page web, il utilise son navigateur web (le frontend) et va se connecter à ton serveur. Ton serveur interprète ton code source pour en faire du code compréhensible par le navigateur web (en gros du html et éventuellement du css/javascript) et l'envoie au client.

Pour conclure, je n'ai toujours pas compris ton explication de ce que le juré te reproche pour te mettre 1 Smiley sweatdrop
Mathieuu a écrit :
Pour moi si tu exprimes mal cette distinction, c'est que tu n'as probablement pas bien compris certains éléments Smiley sweatdrop .

Cette phrase résume bien mon sentiment à moi aussi. A mon avis il y a de la confusion et c'est normal, moins d'un an de formation... c'est court au final.

Cette confusion on pourra la retrouver chez de jeunes dev's, ceux-ci chercheront par exemple une variable globale window côté serveur (parfois c'est possible mais ce sera dû à la facilité d'un framework, mais les dev's qui auront tout appris d'un coup auront du mal à faire la part des choses). Autre exemple, toujours côté front : quel cache j'utilise ? Bas niveau ? Haut niveau ? C'est quoi la différence ?

Toute cette confusion est dûe au fait que l'on a tout appris d'un coup, sur un temps court, et trop de choses. Le pire c'est quand on a intégré trop tôt un framework car on ne sait plus qui fait quoi (cf. mes deux exemples plus haut). J'ai vu des dev's youtubeurs préconiser d'utiliser Tailwind CSS en lieu et place d'apprendre d'abord le CSS, pour raison de facilité... De la pure bêtise, c'est le meilleur moyen de s'enfermer par la suite. Ceci est vrai pour tous les frameworks. D'abord apprendre les bases, on comprend mieux sa stack à mesure que les couches techniques s'empilent ensuite les unes sur les autres.
Modifié par Olivier C (26 Feb 2025 - 21:59)
connecté
Bonjour à tous les deux,

Mathieuu

Suite à ton dernier message "Pour conclure, je n'ai toujours pas compris ton explication de ce que le juré te reproche pour te mettre 1"

Je vais te faire un résumé plus détaillé :

Nos formateurs nous ont donné des consignes pour réaliser le projet de réseau social sur un thème quelconque. On avait le choix entre 3 langages côté front-end (Bootstrap, Jquery ou Angular) et côté Backend (Express en utilisant aussi websocket pour les discussions instantanées en temps réel). La première fois j'avais utilisé Angular. Dans mon Vs code, j'avais installé Angular côté front et installer en npm Express côté Backend. J'avais rencontré beaucoup de difficulté à le faire sur ce langage et je suis resté bloqué sur des soucis concernant node modules et des soucis côté routes. Bref, quand je le testais sur le navigateur rien ne fonctionnait et je n'arrivais pas à trouver de solution. J'ai trouvé qu'Angular était très complèxe pour le réaliser. Je l'ai recommencé à zéro et à quelques semaines avant le 1er examen oral l'été dernier j'avais utilisé côté front jquery. J'ai du le faire à l'arrache en utilisant chat GPT et toujours coté front installé dans le terminal un "live server" et installer npm Express côté back. Le jour de mon examen ça marchait super bien sauf que les jurés m'ont dit de le refaire pour le rattrapage car ils ont vu que j'avais utilisé chat GPT. Du coup je l'ai refait en utilisant Bootstrap côté front et pareil côté back en utilisant Express. J'avais essayé de bien le présenter, bien soigné en utilisant des tutos ainsi que différents sites de bootstrap et w3schools. Je n'avais pas utilisé Chat Gpt. Mais dans le terminal, côté front je n'avais rien installé, j'avais juste installé côté back en utilisant Npm pour le faire fonctionné en localhost. Et c'est là dessus ou le juré m'a massacré. Lui ce qu'il voulait c'est que côté front-end je devais installé quelque chose pour que le site soit visible pour tous le monde. Il avait préféré que je le fasse sur Angular. Il m'a dit aussi qu'avec Angular, je pouvais utiliser Bootstrap notamment pour faire la page d'accueil. J'ai compris le lendemain et c'est là ou tu as raison Mathieuu, le juré voulait voir une page web qui fonctionne d'où l'erreur que j'ai commis c'est que j'aurais du installé quelque chose côté front dans le terminal.
juanito76 a écrit :
Bonjour à tous les deux,
On avait le choix entre 3 langages côté front-end (Bootstrap, Jquery ou Angular)

Bonjour, aucun des 3 n'est un langage!!
Bootstrap est une bibliothèques CSS (c'est CSS qui est le langage)
Jquery est une bibliothèques JavaScript (c'est JavaScript qui est le langage) Jquery n'est plus vraiment utile en 2025!!!
Angular est un framework basé sur TypeScript (c'est JavaScript qui est la langage)
Quand je parlais du confusion :
juanito76 a écrit :
On avait le choix entre 3 langages côté front-end (Bootstrap, Jquery ou Angular)...

Déjà, aucun d'entre eux n'est un langage, ce sont des frameworks ou des librairies ; mais surtout ces frameworks et librairies n'ont rien à voir les uns avec les autres, hormis le fait qu'ils s'utilisent côté frontend, ils ne peuvent en aucun cas être mis sur un même pied d'égalité.

Angular, par exemple, est capable de manipuler de la donnée sans recharger une page web, React ou Svelte sont ses concurrents direct. Il s'appuie sur JavaScript.

Bootstrap, lui, est un framework CSS qui permet de mettre en forme des composants HTML, éventuellement avec un peu d'appui de JavaScript. Il est encore présent mais perd chaque jour de l'influence au bénéfice de Tailwind CSS (que je déteste).

jQuery est la bibliothèque historique qui permettait d'harmoniser les différences entre navigateurs à propos du langage JavaScript, c'est terminé aujourd'hui, les nouveaux projets ne l'utilisent plus depuis 2010 environ ; cependant la bibliothèque reste encore très présente sur les anciens sites web. Pour la petite histoire : jQuery a influencé l'API DOM du JavaScript moderne, ce dernier ayant fini par détrôner jQuery. (Auparavant il y avait aussi eu Mootools, qui s'en souvient ?...)
Modifié par Olivier C (27 Feb 2025 - 19:55)
Aouf ! Coiffé au poteau par Casper2...

Bon, en tout cas il vous faut prendre conscience que vous avez un problème de compréhension de la stack dans son ensemble. Il vous faut revoir quelques fondamentaux, ensuite vous progresserez plus vite.
connecté
J'avais l'intention Olivier à l'occasion de refaire mon projet mais en mode loisirs et à titre personnel en essayant d'utiliser peut être Angular et faire d'autre chose pour continuer à pratiquer.
Concernant les fondamentaux à revoir auriez vous des conseils, des liens ou des sites que vous pourriez me communiquer pour que je puisse apprendre et progresser? Merci
Modifié par juanito76 (27 Feb 2025 - 11:11)
Je pense qu'il faut un plan de formation organisé pour assimiler les connaissance de manière aussi claire que possible bloc par bloc.
Dans l'ordre je dirais de commencer par le frontend (ce que reçoit le client dans son navigateur) :
- HTML : voir tout ce qui existe et comment les utiliser et comprendre qu'il y a une sémantique associé aux différentes balises... Si ça peut permettre d’éviter de n'utiliser que des imbrications de divs comme j'en vois parfois ça sera toujours ça de pris. Éventuellement prendre conscience de toutes les problématiques d’accessibilités (perso j'ai conscience que je suis pas assez au point sur ce point là)
- CSS : pareil il y a une quantité de propriété et de façon de faire les choses ça prends du temps de tout assimilé (perso j'en fais pas assez souvent mais j'ai vaguement assimilé jusqu'à flex et un peu grid)
- Javascript : version de base sans framework à la con.

Une fois que c'est assimilé je dirais de partir sur le coté backend (le code qu'on pose sur le serveur) :
- mysql : c'est important de comprendre le stockage des informations et les relations entre elles
- php : d'abord tout seul en créant des fonctions and co (comprendre la syntaxe du langage) , ensuite en combinant avec le mysql, et encore ensuite en combinant avec le HTML.

Enfin pour les sites, très souvent la doc est assez bien foutu mais bon :
- https://developer.mozilla.org/en-US/docs/Web (pour html css javascript, plein d'info de doc de tuto, la traduction est pas trop mal généralement, parfois quelques mini erreur, voir en anglais au cas où)
- https://www.php.net/manual/fr/ (pour le php c'est assez complet et la traduction en fr est pas mal du tout je trouve)
- https://www.w3schools.com/ assez complet avec pas mal d'exemples, j'aime bien on peut facilement faire plein de tests dans des petites pages dédiés (mais il faut penser à sauvegarder les trucs qu'on fait si on fait des tests sympas , des fois j'oublie Smiley decu )
Hello,

Ça peux paraître un peu dur comme réponse, mais à mon humble avis on ne devient pas développeur avec une formation de quelques mois. Peu importe le domaine. Ces formations sont trompeuses car elles optent pour des raccourcis qui donnent la sensation de maîtriser le sujet, en réalité il manque plein de fondamentaux.

J’ai fais 8 ans d’études pour être développeur full-stack. Et par définition, cela veut dire que toute la stack doit être maîtrisée: la base de données, le backend et le frontend. Et maîtriser chaque éléments de la stack, c’est avoir la capacité de passer d’une techno à une autre en fonction des besoins. Ça nécessite donc une compréhension profonde et bien plus avancée que le laissent croire ces centres de formations.

Avec l’arrivée de l’IA dans le processus de développement les développeurs juniors n’ont presque aucune raison d’exister car l’IA excelle dans toutes les tâches qui leur étaient habituellement réservées. Les développeurs seniors sont en farouche concurrence avec le peu de places qui restent.

À l’époque se lancer dans le web en autodidacte ou par le biais de formations en ligne c’était encore crédible. Aujourd’hui pour moi c’est pas réaliste.

PS: et t’as de la chance si ton employeur ne te demande pas non plus des connaissances en architecture logicielle ou en gestion de l’intégration / livraison continue.
Modifié par Anymah (27 Feb 2025 - 23:04)
connecté
Bonjour Anymah

A titre personnel, durant ses 8 ans tu as du faire beaucoup de formation ou bien tu as beaucoup pratiqué?