À seulement 26 ans, je formais des ingénieurs de métier sur les technologies JavaScript et Angular chez Atos, la plus importante société d'informatique d'Europe... (+110.000 collaborateurs dans le monde)
Mon objectif à travers cette chaîne est de faire monter le niveau de notre métier de développeur. Il est temps d'arrêter de se poser la question "Comment coder X", mais "Pourquoi coder X comme ça et pas autrement ?". C'est cette démarche qui vous permettra de produire du "code SENIOR".
Qu'est-ce que le code SENIOR ?
C'est le code professionnel, de la vrai vie. Au-delà du code "qui marche".
Pour de vrais clients. Avec des vraies deadline. Avec des vrais budgets.
Si votre objectif est actuellement de devenir développeur professionnel, cette chaîne se veut le point de départ de votre nouvelle carrière...
Je ne partage pas exactement ton point de vue. Pour moi le SRP sert uniquement à decoupler les raisons de changer de nature technique. Ce qui fait qu'on ne met pas de logique métier dans un mapper ou d'accès en base dans un service, ce genre de choses... Ce dont tu parles, plus proche du DDD et de la clean archi, considère le découpage et la duplication des fonctions selon les acteurs du système, est de nature fonctionnelle, et c'est un concept différent du SRA, puisque il peut par exemple s'agir de dupliquer plutot que factoriser des fonctions qui peuvent diverger du fait meme qu'elles sont consommées par différents acteurs. bref, c'est plus un concept à part entière selon ma conception, car, certes, c'est intéressant d'intégrer à la responsabilité les acteurs qui la consomme. Mais cela complexifie aussi cette notion, et je préfère séparer les responsabilités, de nature technique ou fonctionnelle, des business boundaries, qui définissent les ségrégations de nature métier.
Je suis mort de rire, comment t'arrive à ne pas éclaté de rire, avec tout ses phrases antilogique? et si proche d'un réel "tuto" ? J'approuve ton travail ! ( même si je me doute qu'il faut faire tout l'inverse )
J'ai acheté le bouquin et je me suis dit qu'acheter la version française permettrait de financer des traducteurs. Quelle erreur: la traduction française est IMMONDE! J'ai dû l'acheter en anglais après. Le contenu du livre est très bon, en tout cas, merci du conseil lecture. Je te conseille en retour le tome 17 de Boule et Bill. Voilà, on est quittes.
Mais Simon D., que penses tu des personnes qui disent aux autres que leur code est trop perfectionné en sous-entendant qu'ils font les égoïstes alors que la personnes qui écrit le code ne fait qu'un pas vers l'avant ou est en apprentissage ? Cela doit démotiver qui, les lecteurs ou l'écrivain du code? La réalité c'est que n'importe qui peut avoir son propre avis juste parce que la compréhension de code n'est fondamentalement pas facile. Il faut arrêter de donner de fausses espoirs car on sait très bien qu'un code fonctionnels et opérationnel n'est pas forcément propre. Très philosophique. La propreté elle-même ne peut-elle pas etre subjective donc lié à une entité ?
salut je ne connais rien au code, j'ai eu quelques idées est-ce que tu pourrais me dire si elles sont réalisables ou pas et surtout si tu penses qu'elles sont bonnes
Super vidéo, par contre je me demandais, sans module comment fait on quelquechose comme çà ? : NgModule({ imports: [ RouterModule.forRoot(routes, { useHash: true }), ] Perso , j'ai trouvé une solution, mais je suis curieux de voir si une autre est possible.
@ Simon Dieny, merci pour ta vidéo. Je suis développeur débutant. Je pense que je souffre su syndrome de l'imposteur. Lorsque je souhaite résoudre un problème, je me rends souvent sur Google. Comment faire pour éviter le copier coller du code des autres ? Car j'ai l'impression de ne pas comprendre réellement ce que je fais. Merci d'avance.
J'ai vu un article qui parle de l'inconvénient d'utiliser le pipe async pour souscrire à un observable. Lorsque l'Observable retourne une erreur, rien ne se passe du côté du pipe async. Il n'y a pas un moyen de traiter l'erreur.
Bonjour, c’est une bonne remarque. Vous pouvez utilisez l’opérateur catchError pour gérer ce genre de cas. À terme, les Signals devrait peu à peu remplacer les Observables dans la couche de vue. (Template) bon code !
Bonsoir, Merci beaucoup pour ce tuto qui me permet de mette un pied dans Angular. J'ai suivi le tuto à la lettre en ayant des petits problème dus je pense au fait que j'ai la version 18 J'ai dû par exemple ajouter import { CommonModule } from '@angular/common'; import { BorderCardDirective } from './border-card.directive'; ainsi que imports: [RouterOutlet,CommonModule,BorderCardDirective] pour que cela fonctionne chez moi. Neanmoins je bute depuis 3 heures sur les directives Malgré le respect du code cela ne fonctionne pas chez moi. Dès que je mets PkmnBorderCard dans le DIV ça me change l'aspect des cartes et il ne se passe rien au survol. sauriez vous m'aider sur le sujet D'avance merci
@@bertrandblanchard4052 Bonjour, d'accord. Donc "normalement" cela devrait fonctionner. Quand vraiment je bloque sur un point, je reprends parfois de zéro ou alors après une nuit de pause. Est-ce que si vous reprenez le chapitre sur les directives de zéro, cela décoince la situation ? Bon code, Simon.
Tu viens de me sauver !!!! Merci ! Déjà c'est hyper dur c'est vrai que la confiance en soi elle joue énormément. Quand tu as tellement d'informations à retenir ça peut désorienter fais de pas avoir de technique forcément et de ne pas gérer au début car on sait pas vraiment. C'est malaisant travailler dans quelque chose qu'on sait pas donc on est amené à chercher toujours d'autres informations et au final on progresse pas. Mais ici avec tes techniques tu rassures par le fait qu'il yad méthodes
Super video qui plus est tu n'as souligner que les bons conseils de ce livre, le reste etant beaucoups moins pertinent voir totalement a coter de la plaque.
Hello, il y a des critiques sévères sur certains point ms du livre, notamment le DRY. Cependant le livre est juste LA référence pour démarrer dans la littérature du code, et il y a beaucoup d’autres éléments intéressants du livre que je n’ai pas abordé ici.
Bonjour, personnellement il ne me demande pas si je veux un angular routing a 37:21 donc j'ai pas les mêmes fichiers de base, par contre il me demande si je veux Server-Side Rendering et Static Site Generation, je sais pas si vous avez des recommandations par rapport à ça ?
Bonjour, je vous recommande de ne pas vous embêter avec le SSR, à moins que vous ayez des problématiques de SEO sur votre projet (référencement pour Google)
Mon jugement actuel est que les Signals et les Observables vont cohexister. Le Signal sera par contre de plus en plus présent sur la partie template/rendering et state management.
@@codeursenior j’ai rencontré des problèmes et par fois je suis confuse de quelle chemin emprunter et je n’ai jamais trouvé de l’aide par rapport ala spécialisation je suis en Afrique ou la technologie n’est pas encore trop développé et moi vue son avantage j’ai aimé être mais j’ai passé énormément de temps à aprendre que je peux plus laisser soutenez moi par me guider
@@CeceAntoinedelamou-hn4dv Salut, vous pouvez démarrer le workshop Angular Junior sur angularsenior.fr. C'est en livre accès. Je vous montre comment j'ai développé une expertise de A à Z. Bon code !
Mouais, coder proprement c'est déjà de mettre des noms de variables qui ont du sens, de mettre des commentaires et surtout de penser à la maintenabilité. Ça sert à rien d'optimiser à mort si à la moindre évolution tu es obligé de tout jeter à la poubelle.
Hello, l’intérêt du clean code est justement de pouvoir itérer rapidement sur le code existant. Donc rendre le code existant facile à manœuvrer en cas d’évolution.
C'est un sujet très intéressant. C'est un principe qui semble à prime abord simple mais en réalité, il est très difficile à comprendre et à appliquer efficacement. J'essaie de le mettre en pratique en entreprise mais j'avoue que je ne suis toujours pas sur de l'avoir vraiment compris.
Hello, selon la dernière définition, pour bien appliquer le principe il faut comprendre les ressources (équipe & tech) et les problème de votre client. Donc rien de très simple effectivement !
merci énormément moi mon véritable problème actuellement c'est la spécialisation et franchement ça me perturbe énormément et je regrette d'une part d'avoir fait 3 ans de licence générale je me dit si j'avais été plus spécifique dès le départ j'aurais pu facilement tracé mon chemin actuellement j'ai des petites bases en HTML, CSS, PHP, JS et pour finir développement mobile avec flutter du coup je veux vraiment me spécialiser dans un domaine et avec une technologie précise mais je sais pas si je dois faire du front ou du back mais je pense être un peu plus front même si je suis pas trop créatif. je sais pas non plus dans quelle technologie, langage je vais me spécialiser et essayer de tracer mon chemin vers l'avenir franchement mais c'est encore flou dans ma tête l'âge avance je veux réussir et ça me perturbe beaucoup
Salut Erwan, merci beaucoup pour le soutien. Des que j’ai fini mon workshop Angular Junior, je reprendrai la chaîne RU-vid avec un rythme plus soutenu. 👍
Personnelement je code dans cet ordre: 1 Analyse du cahier des charges et recherche du VRAI besoin, 2 Doc, 3 Test, 4 code. Après, je suis dans l'industrie, je suppose que j'ai plus de temps que d'autres devs. Et aussi, j'ai fait 20 ans en maintenance (aéro puis médical) avant de devenir dev, ca doit jouer :)
Super intéressant. J'ai acheté ce livre suite aux conseils d'un collègue il y a quelques jours, mais je n'ai pas encore pris le temps de le lire. Ca m'a motivé à le débuter. J'aime beaucoup tes vidéos très généralistes sur la qualité du code et la gestion de projet, car c'est valable pour tous les langages, et on se retrouve très facilement avec des cas de figures similaires.
Salut David, c’est top si tu as le temps de lire Clean Code. Je suis à peu près sûre que tu ne le regretteras pas. Merci pour ton retour sur les vidéos et bon code !
Concernant le code a 11:00 , je préfère conserver les boucles fait mains qui sont plus rapide que de faire un filter puis flatMap puis encore filter, car a chaque fois il parcours tout et donc ça fait 3 fois plus de travail, donc le code est aussi 3 fois plus lent. J'ai fais cela par exemple qui je pense est propre ? Peut-être pas je sais pas, le mieux est d'utiliser TypeScript : /** * @param data * @return All infos above value 10 from datas active */ function checkResponseData(data){ const allActiveInfoAbove10 = []; for(let i = 0; i < data.length; ++i){ if(data[i].status !== "active") continue; const info = data[i].info; for(let j = 0; j < info.length; ++j){ if(info[j].value <= 10) continue; allActiveInfoAbove10.push(info[j]); } } return allActiveInfoAbove10; }
C'est marrant car j'ai eu un collègue qui a fais du code vraiment compliquée a comprendre, et ce derniers n'as jamais voulu que je fasse des correction sur sont code. Ca ressembler vachement a de l'ego mal placée car il étais plus vieux que moi ...
Il n'y a pas d'âge pour apprendre contrairement à ce que l'on essaie de nous faire croire. Mais si tu débutes, ne t'embêtes pas trop avec le clean code, c'est déjà assez compliqué de bien comprendre les fondamentaux. Ne te rajoutes pas une couche de complexité. Par contre quand tu commenceras à être à l'aise, là oui tu pourras t'y intéresser.
@JKABESANCON-iq9ds : ma chaîne encore vide va, dans environ une semaine, essayer d'être utile à ceux qui veulent apprendre à programmer. On va parler d'abord de choses purement techniques, parce que ceux qui apprennent trop tôt les "bonnes pratiques" ne les comprennent en réalité pas.