Le blog du codeur https://leblogducodeur.fr Apprenez à programmer facilement et rapidement Thu, 20 Feb 2020 00:54:00 +0000 fr-FR hourly 1 https://wordpress.org/?v=5.2.5 https://i2.wp.com/leblogducodeur.fr/wp-content/uploads/2019/02/cropped-images-2.png?fit=32%2C32&ssl=1 Le blog du codeur https://leblogducodeur.fr 32 32 158260269 Pourquoi utiliser mongodb https://leblogducodeur.fr/pourquoi-utiliser-mongodb/ https://leblogducodeur.fr/pourquoi-utiliser-mongodb/#respond Thu, 20 Feb 2020 00:53:53 +0000 http://leblogducodeur.fr/?p=2960 Vous hésitez à choisir MongoDb ? Dans cet article, nous allons voir ses avantages et inconvétients.

L’article Pourquoi utiliser mongodb est apparu en premier sur Le blog du codeur.

]]>
MongoDB est un système de base de donnée. Il est devenu extrêmement populaire au cours des dernières années.

Dans cet article, nous allons voir ce qu’est mongoDB, quand l’utiliser et quand l’éviter.

C’est quoi MongoDB

MongoDB est un système de base de donnée orienté objet, dynamique, stable, scalable et sans SQL. Les objets sont stockés sous format JSON dans des documents séparés. Au lieu de stocker les données sous format de tables avec des valeurs, on utilise une hierarchie et un système d’objet JSON pour créer un système plus adaptatif.

L’intérêt de MongoDB, c’est d’implémenter un système à hautes performances avec une scalabitlité parfaite. Le système est extrêmement simple à installer, il fonctionne sous tout les système d’exploitation et il existe des librairies pour le manipuler dans tout les langages.

MongoDB vs SQL

La grande majorité des bases de données fonctionnent sous SQL. Que ce soit sqlite, postrgres ou même Mysql, le langage de base est commun. Mongodb appartient à la famille des langages NoSQL. Le code et les fonctionnalités sont donc fondamentalement différentes.

La ou le SQL va utiliser un système de tables et de relations complexes, MongoDB fonctionne assez simplement. On crée un document avec des données en arbre. Il est ensuite possible de relier ces documents avec des liens par _id

Le gros avantage de MongoDB par rapport au SQL, c’est sa capacité à gérer des systèmes de données complexes. On peux avoir des listes, des objets encapsulés sans avoir de soucis.

Ce fonctionnement facilite grandement le développement d’applications qui gèrent beaucoup de données. Avec un peu d’entraînement, il est possible de créer des modèles de documents extrêmement bien organisés, ce qui fait gagner du temps.

Les avantages de MongoDB

Aucun système n’es parfait, voyons donc les avantages de MongoDB afin de vous aider à faire un choix :

  • Une orientation documents
  • D’excellentes performances
  • Simple à répliquer
  • Une très bonne scalabilité
  • Un système totalement dynamique
  • Une très bonne flexibilité
  • Des données hétérogènes
  • Un système de gestion en JSON et BSON (JSON binaire)
  • Un système de recherches et de modifications aussi bon que le SQL
  • Des excellentes performances par rapport au cloud. AWS, Google Cloud et Azure proposent des solutions pour implémenter MongoDB très facilement.

Les inconvénients de MongoDB

MongoDB possède quelques inconvénients. Il est important de les prendre en compte lors de votre décision :

  • Ne fonctionne pas avec un système de tables, vous devez donc apprendre comment créer des schémas de documents
  • Des transactions complexes
  • Pas de système direct pour créer des liens entre les documents

Dans quelle situation choisir MongoDB

Voici une liste des types d’applications qui fonctionnent très bien avec MongoDb :

  • Un site de e commerce
  • Les blogs et la gestion de contenu
  • Des applications de gestion en temps réel
  • Les réseaux sociaux

En conclusion

MongoDB est un système de base de donnée très performant. Il ne fonctionne pas avec du SQL, vous devrez donc apprendre un nouveau langage. Les données sont stockées sous forme de documents JSON, il est donc possible de créer des arbres complexes.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation. Vous n’avez qu’à inscrire votre email et je vous l’enverrai !

Vous abonner à notre newsletter

* champ requis



L’article Pourquoi utiliser mongodb est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/pourquoi-utiliser-mongodb/feed/ 0 2960
Langage compilé vs interprété https://leblogducodeur.fr/langage-compile-vs-interprete/ https://leblogducodeur.fr/langage-compile-vs-interprete/#respond Sun, 16 Feb 2020 15:17:32 +0000 http://leblogducodeur.fr/?p=2955 Il existe deux grands types de langages de programmation. Compilé et interprétés, nous allons voir la différence entre les deux.

L’article Langage compilé vs interprété est apparu en premier sur Le blog du codeur.

]]>
Tout les programmes sont des suites d’instructions lisible par des humains. Pour qu’ils fonctionnent, ils doivent être transformés en code lisible par l’ordinateur.

Il existe deux façons de faire, on peux compiler le code c’est à dire le traduire en binaire ou l’interprété, c’est à dire le lire en temps réel et exécuter les instructions. C’est l’interpréteur qui se charge de faire ça.

Concrètement, quelle est la différence entre les deux ?

L’interpréteur se charge de traduire le code humain vers du code machine en temps réel. Prenons une analogie, vous essayez de préparer une recette mais elle est en espagnole. Vous pouvez bien sûr traduire la recette avant, dans ce cas c’est le langage compilé.

Mais vous pouvez aussi demander à un amis de lire la recette pendant que vous préparez, c’est le langage interprété.

Les langages compilés

Les langages compilés sont directement transformés en code machine après l’écriture, autrement dit, on passe d’un code lisible par un humain à du binaire.

Grâce à ce système, ils sont beaucoup plus rapide que les langages compilés. C’est logique, il n’y à pas de traduction en temps réelle qui prends du temps. Si vous voulez cuisiner le plus vite possible, il vaut mieux traduire à l’avance plutôt que de prendre un interpréteur n’est ce pas ?

Puisque le code est directement transformé en binaire, il n’y à pas de programme qui permets de faire le dialogue. Vous devez donc gérer vous même des aspects comme la mémoire, les types de variables, la gestion du CPU etc…

Globalement, ces langages sont plus performants mais aussi bien plus complexes.

Pour traduire le code humain vers du binaire, on utilise un compilateur. C’est un programme qui va simplement lire le code et générer un fichier binaire correspondant. Il existe aussi un autre programme généralement couplé, le pré compilateur. Son rôle est de fusionner tout les fichiers de code ensemble et d’ajouter des raccourcis dans votre code.

Gardez une chose en tête, contrairement aux langages compilés, ces programmes ne s’exécutent qu’une fois et surtout, ils travaillent avant que le programme soit exécutable. Une fois compilé, le code n’as besoin de personne pour travailler.

Du coup, vous devez recompiler votre code à chaque modification. C’est un processus long qui peux prendre plusieurs heures, pour des programmes gigantesque, ce qui ralenti votre vitesse de travail.

Les deux langages compilés les plus populaires sont C et C++. Ils sont utilisés dans la création de jeux vidéos, de logiciels de bureau, d’intelligence artificielle et de système d’exploitation.

Les langages interprétés

Les langages interprétés fonctionnent assez simplement. Un programme va lire les instructions et va effectuer les actions correspondantes. Le soucis, c’est que l’interpréteur doit relire le programme à chaque fois, ce qui ralenti considérablement les performances du langage.

Il est possible de créer des nouveaux langages de programmation en créant des interpréteurs. Python par exemple est développé en C.

Puisque le code est interprété à chaque fois, il n’y à pas d’étapes avant que le programme puisse fonctionner. Vous pouvez donc modifier votre code et relancer votre programme directement.

Dans ce cas, le programme (interpréteur) fonctionne pendant le programme et non pas avant (compilateur)

Voici quelques exemples de langages interprétés populaires : Python, Javascript, PHP, Ruby

Les avantages et désavantages de chaque système

Il n’y à pas de meilleure solution. Chaque système as ses avantages et ses inconvénients. Lorsque l’on débute, on s’imagine souvent qu’il y a une bonne et une mauvaise solution. Essayez de vous sortir ça de la tête

Les avantages des langages compilés

Les langages compilés sont plus rapides que les langages interprétés. C’est un fait.

Ils sont donc préférés pour développer les systèmes d’exploitation, les logiciels puissants et les jeux vidéos.

Les désavantages des langages compilés

Les langages compilés possèdent plusieurs désavantages :

  • Ils demandent beaucoup plus de lignes de code
  • Ils sont plus dure à apprendre
  • Vous devez gérer des concepts complexes comme la mémoire
  • Votre code compilé dépends de la plateforme

Les avantages des langages interprétés

Les langages interprétés vous donnent une plus grande flexibilité par rapport aux langages compilés. Les langages interprétés fonctionnent sur toutes les plateformes. Le code est plus léger, plus simple à écrire. Globalement, il est plus simple d’utiliser ces langages

Les désavantages des langages interprétés

Le gros désavantage des langages interprétés, c’est leur vitesse. Ils sont significativement plus lents que les langages compilés. Ce qui pose problème pour créer des logiciels rapides, des jeux vidéos ou des systèmes d’exploitation.

En conclusion

Chaque système as ses avantages et ses inconvénients. Vous devez choisir selon vos besoins et vos envies.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation. Vous n’avez qu’à inscrire votre email et je vous l’enverrai !

Vous abonner à notre newsletter

* champ requis

L’article Langage compilé vs interprété est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/langage-compile-vs-interprete/feed/ 0 2955
Comment rester motivé a apprendre la programmation https://leblogducodeur.fr/comment-rester-motive-a-apprendre-la-programmation/ https://leblogducodeur.fr/comment-rester-motive-a-apprendre-la-programmation/#respond Sun, 16 Feb 2020 04:13:06 +0000 http://leblogducodeur.fr/?p=2949 Lorsque l'on apprendre à programmer, il est souvent difficile de rester motivé. Voici quelques techniques qui pourraient vous sauver la vie !

L’article Comment rester motivé a apprendre la programmation est apparu en premier sur Le blog du codeur.

]]>
Lorsque l’on apprendre à programmer, on as parfois des coups de mou. On se dit que c’est extrêmement long, qu’il y a des centaines de choses à apprendre et que l’on n’y arrivera jamais.

Je suis déjà passé par là, et plusieurs fois. Lorsque j’apprenais mes premiers langages, particulièrement C++, j’avais envie de tout abandonner.

Heureusement, il y a quelques astuces qui peuvent vous permettre de rester discipliné et de conserver votre motivation sur le long terme :

  • 1 – Reposez vous et évitez le burn out
  • 2 – Ne laissez pas le syndrome de l’imposteur vous consumer
  • 3 – Trouvez des collègues développeurs
  • 4 – Ne vous comparez pas aux autres
  • 5 – Ayez un objectif final en tête
  • 6 – Restez curieux
  • 7 – Choississez la stabilité plutôt que la vitesse
  • 8 – Soyez réaliste

1 – Reposez vous et évitez le burn out

Il est tentant de travailler 12 heures par jours lorsque vous apprenez la programmation. Je l’ai fait pendant plusieurs mois.

Malheureusement, c’est intenable pour beaucoup de gens. Si vous avez une famille ou un job, oubliez cette idée, c’est simplement impossible.

Même si vous avez le temps, ce n’est probablement pas une bonne idée. La programmation est une tâche mentalement fatiguante. Il est possible de craquer et devenir fou assez rapidement si vous ne vous reposez pas.

Ici, je ne cherche pas à vous décourager et à vous dire de ne pas trop travailler. Je vous conseille plutôt de travailler de manière intelligente.

Lorsque j’avais 15 ans et que je travaillais entre 12 et 16 heures par jours. J’avais une méthode plutôt simple.

Je travaillais pendant 3 heures et je prenais une pause de 20 min. J’allais marcher ou je jouais aux jeux vidéos. L’idée c’était de déconnecter complétement. Au bout d’un moment, vous allez saturer et ça deviendra contre productif.

Si vous arrivez au point de ne plus rien comprendre et de ne pas être en mesure d’écrire du code, éteignez votre ordinateur et ne le rallumez pas avant le lendemain. Même si votre cerveau est puissant, il as parfois besoin de repos.

Il m’arrive parfois de devoir terminer une tâche en deux ou trois jours. Je dois dans ces cas la travailler jours et nuit sans relâche. Même dans ces situations, je prend des pauses.

Une fois cette tâche terminée, mon cerveau lâche et je dois passer 2 jours à dormir avant de pouvoir re programmer.

Essayez de comprendre comment vous fonctionnez et ne vous mettez pas trop la pression. Détruire votre cerveau à cause de la fatigue est contre productif.

2 – Ne laissez pas le syndrome de l’imposteur vous consumer

La programmation et le syndrome de l’imposteur sont liés. Chaque débutant as déjà ressenti ça :

“je ne sais pas le faire, je réussi par chance, c’es beaucoup trop difficile pour moi, je n’en suis pas capable.”

Même aujourd’hui, j’ai encore ces sentiments parfois. Vous devez apprendre à vous faire confiance.

Oui, la programmation c’est difficile. Oui, il y a beaucoup de choses que vous ne savez pas encore faire. Mais vous pouvez apprendre et vous pouvez y arriver.

Avoir confiance en ses compétences prends du temps. Même si vous réussissez à faire des choses incroyables, vous aurez pendant longtemps cette petite voix qui vous dit :

“Tu as eu de la chance, tu ne sais pas le faire, tu te ments à toi même”

Même si je suis convaincu qu’il est important de s’écouter, je pense que dans ce cas-ci, il faut simplement ignorer ce sentiment et continuer.

Dans le domaine de la programmation, il y a des centaines de langages différents, des milliers de frameworks et des millions de techniques différentes, il est normal que vous vous sentez perdus.

Ne vous inquiétez pas, vous n’êtes pas seuls à ressentir ces mauvaises émotions. C’est tout à fait normal.

Vous devez être patient, ne jamais abandonner et prendre confiance en vos compétences. C’est très difficile mais vous finirez par y arriver.

3 – Trouver des collègues développeurs

Bien souvent, on se sent seuls lorsque l’on apprends la programmation. On passe des heures devant son ordinateur et on réfléchis seul avec comme compagnie les livres, les vidéos Youtube et les formations, pas terrible n’est-ce pas ?

Dialoguer avec d’autres développeurs vous aidera à développer votre motivation. Vous pourrez parler de vos difficultés, ils vous donnerons des techniques pour vous améliorer et surtout, vous aurez un aperçu de ce que vous aurez après avoir suffisamment travaillé.

Le soucis, c’est qu’il est rare d’avoir des proches travaillant dans la programmation. Je n’ai eu personne pendant plusieurs années. Heureusement, il y a la magie d’internet.

Essayez de lire d’autres personnes afin de comprendre comment ils ont surmontés leurs problèmes liés à leur apprentissage. Rejoignez des site internet, des communautés reddit, des serveurs discord, des forums etc…

Essayez de trouver des gens avec qui connecter. Vous construirez en même temps un réseau qui vous servira dans quelques temps..

Si vous rejoignez ces communautés, essayez de rendre autant que ce qu’on vous donne. Si des gens vous aident lorsque vous avez un problème, essayez d’aider vous aussi si vous pensez avoir la réponse.

4 – Ne vous comparez pas aux autres

Il y a une contrepartie au point d’avant. Les développeurs apprenant à coder ont souvent tendance à se comparer aux autres et par extension, à se sentir misérable.

Vous n’êtes pas en compétition avec les autres, ce ne sont pas vos ennemies et vous ne devez pas vous en vouloir si ils sont meilleurs que vous.

Ils sont simplement commencés avant vous et sont passés par les mêmes étapes que vous. N’essayez pas de devenir meilleur qu’eux en quelques semaines ou quelques mois, ça va prendre du temps.

Vous pouvez néanmoins vous inspirez des autres développeurs. Personnellement, j’adore l’approche de Bill Gate et sa façon de travailler de manière profonde en s’isolant et réfléchissant pendant des heures. J’ai utilisé ces techniques à plusieurs reprises et elles m’ont bien aidés.

Essayez de vous concentrer sur votre objectif et pas sur celui des autres. Vous pouvez les aider, ils peuvent vous aider, mais c’est votre objectif.

5 – Ayez un objectif final en tête

Il est important d’avoir un objectif lorsque vous apprenez la programmation. Vous devez savoir ce que vous allez faire avec vos compétences. Pas besoin d’un plan super détaillé ou une idée de startup, vous voulez juste avoir une idée assez précise pour vous motiver.

Imaginons que vous voulez changer de job. Et bien c’est votre objectif, utiliser vos compétences pour trouver un travail de développeur.

Dans mon cas, je voulais créer mon entreprise et être indépendant financièrement, j’ai gardé ces objectifs dans ma tête et ils m’ont aidés.

A chaque fois que j’avais envie d’abandonner, je me rappelais que je devais progresser pour pouvoir gagner ma vie grâce à la programmation.

A un certain point, j’ai pris une grande feuille, j’ai écrit mon objectif et je l’ai accroché au mur. A chaque fois que j’avais une baisse de motivation, je regardais cette feuille pendant plusieurs minutes afin de regagner de l’énergie.

Essayez de faire cet exercice, ça devrait améliorer votre motivation sur le long terme.

6 – Restez curieux

Lorsque les débutants apprennent la programmation, ils ont tendance à se concentrer sur un seul domaine. Le soucis, c’est que l’on perds très rapidement sa motivation et son énergie lorsque l’on fait toujours la même chose.

Une bonne manière de continuer d’apprendre en changeant un peu, c’est de changer de domaine sans forcément changer de langage. Prenons un exemple, vous êtes en train d’apprendre Python, pour vous entraîner, vous êtes en train de construire des scripts.

Pour vous changer un peu les idées et voir d’autres domaines, vous devriez vous intéresser un peu à la programmation web.

Si vous apprenez Javascript pour du développement web, essayez de vous intéresser un peu à NodeJS. L’idée, c’est de changer un peu de domaine de manière temporaire pour apprendre d’autres compétences et maintenir son intérêt pour l’apprentissage de la programmation.

Le piège, c’est de changer complètement de domaine voir même de langage. Je ne le recommande surtout pas si c’est votre premier langage de programmation, essayez d’avancer un pas après l’autre.

7 – Choisissez la stabilité plutôt que la vitesse

Je vais vous parler d’une grosse erreur que j’ai faite lors de mon apprentissage et qui m’as coûté beaucoup de temps.

Après quelques mois d’apprentissage, je m’étais mis en tête de développer un plugin wordpress afin de gagner ma vie, je n’avais pas le niveau, pas de connections, aucune expérience dans le business et surtout, je ne savais pas comment créer un projet professionnel.

J’ai passé plusieurs semaines à créer un plugin pour au final abandonner car ce n’était pas viable.

Ici, mon erreur était simple et commune. J’ai essayé d’aller très vite au lieu d’apprendre de manière stable et profonde.

Cette erreur s’applique aussi à d’autres situations. Il vaut mieux passer une heure par jours à apprendre tout les jours plutôt que 10 heures un jour tout les mois.

Vous voulez développer votre intérêt pour la programmation et travailler de manière stable. Même si vous ne pouvez pas travailler énormément, ce n’est pas grave. il est préférable de travailler régulièrement et de manière stable plutôt que de travailler énormément de temps en temps.

Vous devez créer des connexions et des habitudes dans votre cerveau. En somme, vous voulez acquérir de l’expérience. La meilleure façon de le faire, c’est de travailler de manière stable.

8 – Soyez réaliste

Dans la partie d’avant, je vous ai parlé de mon erreur. Et bien elle rentre aussi dans cette catégorie.

J’ai essayé de créer quelque chose d’extrêmement complexe en peu de temps. Je n’avais pas les compétences et l’expérience nécéssaires.

Cette situation m’es arrivée pas mal de fois lors de mon apprentissage. C’est très frustrant et j’espère que ça ne vous arrivera pas.

Essayez d’être ambitieux mais restez réaliste. Il est possible d’apprendre la programmation, de trouver un job, de devenir freelance, de monter sa boîte etc… Mais ça prends beaucoup de temps.

Vous ne pourrez pas passer de débutant à professionnel en quelques mois. Vous devez être patient.

En conclusion

Apprendre à programmer est une quête difficile et lente. Vous êtes sur la bonne voie, même si c’est difficile, vous devez persévérer.

Même si vous avez l’impression que vous n’allez pas y arriver et que vous ne serez jamais un bon programmeur, vous devez continuer. Les compétences viendront avec le temps et tout les programmeurs sont passés par là.

J’espère que cet article vous aidera. Si vous avez des problèmes ou des questions, n’hésitez pas à laisser un commentaire !

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation. Vous n’avez qu’à inscrire votre email et je vous l’enverrai !

Vous abonner à notre newsletter

* champ requis

L’article Comment rester motivé a apprendre la programmation est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/comment-rester-motive-a-apprendre-la-programmation/feed/ 0 2949
Comment utiliser les factory functions en Javascript https://leblogducodeur.fr/factory-fonction-javascript/ https://leblogducodeur.fr/factory-fonction-javascript/#respond Sat, 15 Feb 2020 17:30:57 +0000 http://leblogducodeur.fr/?p=2944 Les factory functions servent à automatiser la création d'objets. Dans cet article, nous allons voir comment les utiliser.

L’article Comment utiliser les factory functions en Javascript est apparu en premier sur Le blog du codeur.

]]>
Les factory fonctions sont des fonctions permettant de créer des objets de manière normalisés. On les utilise en Javascript pour manipuler des objets et des données.

Dans cet article, nous allons voir comment utiliser les factory functions pour créer des programmes intelligents et fonctionnels.

C’est quoi une factory function ?

Une factory function c’est simplement une fonction qui retourne un objet. On peux ensuite utiliser cet objet dans notre code.

L’intéret, c’est de normaliser et d’automatiser la création d’objets. Prenons un exemple, une application qui doit gérer des chambres d’hôtel.

Pour stocker ces données, on va utiliser des objets. La méthode classique serait de faire quelque chose comme ça :

const chambre1 = {
    nom : 'Suite royale',
    prix : 1000,
    taille : 100
};

const chambre2 = {
    nom : 'Chambre économique',
    prix : 70,
    taille : 20
}

Le soucis, c’est que l”on doit créer nos objets à la main. C’est long et totalement manuel. On ne peux pas créer dynamiquement une nouvelle chambre d’hôtel sans l’écrire dans le code.

C’est là que les factory functions entrent en jeux :

function creerHotel(nom, prix, taille){
    return {
        nom : nom,
        prix : prix,
        taille : taille,
    }
}

const chambre1 = creerHotel('Suite Royale', 1000,100);
const chambre2 = creerHotel('Chambre économique', 70,20);

Ici, je peux créer autant de chambres d’hôtel que je veux avec une seule ligne de code, c’est mieux non ? Ici, je passe des arguments à ma fonction et je les assigne comme valeur, ce qui me permets de créer des objets avec les valeurs que je veux.

Observons nos objets chambres avec un console.log() :

{ nom: 'Suite Royale', prix: 1000, taille: 100 }
{ nom: 'Chambre économique', prix: 70, taille: 20 }

Comme vous le voyez, on possède des objets. Notre factory function marche parfaitement.

Intégrer des méthodes à nos factory functions

Bien sûr, on peux aller un peu plus loin. Essayons d’intégrer des méthodes à ces objets.

Une méthode est une fonction intégrée à un objet permettant de modifier des attributs internes et de faire des actions externes.

function creerHotel(nom, prix, taille){
    return {
        nom : nom,
        prix : prix,
        taille : taille,
        changerNom : function(nom){
            this.nom = nom
        },
        presenterHotel : function(){
            console.log(`Cette chambre se nomme ${this.nom} elle coûte ${this.prix} et elle fait ${this.taille}`)
        }
    }
}

Ici on utilise le mot clé this pour accéder aux attributs interne à notre objet. Concrètement, this.nom accédera à la valeur de la variable nom.

Essayons de manipuler un peu nos objets. Je vais créer une chambre, modifier son nom et utiliser la méthode presenterHotel

function creerHotel(nom, prix, taille){
    return {
        nom : nom,
        prix : prix,
        taille : taille,
        changerNom : function(nom){
            this.nom = nom
        },
        presenterHotel : function(){
            console.log(`Cette chambre se nomme ${this.nom} elle coûte ${this.prix} et elle fait ${this.taille}`)
        }
    }
}

const chambre1 = creerHotel('Suite Royale', 1000,100);

chambre1.changerNom('Une modification');
chambre1.presenterHotel();

Ici, tout fonctionne. Notre objet as été modifié et on voit cette modification dans notre méthode presenterHotel() :

Cette chambre se nomme Une modification elle coûte 1000 et elle fait 100

On peux donc maintenant modifier dynamiquement nos objets. Vous pouvez aller aussi loin que vous voulez.

Il est possible de passer un autre objet dans nos méthodes. Il est même possible de modifier cet objet secondaire. Je vous invite à tester afin de mieux comprendre le fonctionnement des factory functions.

En conclusion

Les factory functions sont des outils extrêmement importants. Ils nous permettent de créer des objets intelligents possédant des fonctions et des attributs dynamiques.

Si vous voulez progresser en Javascript, je vous recommande de maîtriser les factory functions. Elles sont extrêmement présentes dans le paradigme de la programmation fonctionnelle, un système extrêmement utilisé par les développeurs Javascript.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation.

Vous abonner à notre newsletter

* champ requis

L’article Comment utiliser les factory functions en Javascript est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/factory-fonction-javascript/feed/ 0 2944
Pourquoi apprendre C# https://leblogducodeur.fr/pourquoi-apprendre-c-2/ https://leblogducodeur.fr/pourquoi-apprendre-c-2/#respond Fri, 14 Feb 2020 16:45:41 +0000 http://leblogducodeur.fr/?p=2940 Nous allons voir quels sont les avantages et les défauts de C# et pourquoi vous devriez l'apprendre.

L’article Pourquoi apprendre C# est apparu en premier sur Le blog du codeur.

]]>
C# est un langage de programmation généraliste crée par microsoft afin de développer des applications sur windows. Le langage C# est bien construit, il est relativement intuitif et il est très puissant.

Si vous voulez construire des applications pour windows sans passer par la compléxite de C++, ce langage est un excellent choix.

C# est aussi utilisé pour créer des jeux vidéos grâce à Unity, un moteur graphique vraiment intuitif et très sympas.

Nous allons donc voir les avantages et inconvénients de C#

Les avantages de C#

Idéal pour les débutants

Si vous voulez commencer le développement logiciels, vous avez deux grands choix. C++ ou C#. Ce dernier est assez simple à lire, sa syntaxe est compréhensible et des concepts comme les pointeurs ou la gestion de la mémoire n’existent simplement pas.

Par bien des aspects, il est beaucoup plus simple que C++, c’est donc un excellent choix pour commencer. Ce langage vous permets de vous concentrer sur les fonctionnalités de votre programme plutôt que sur les aspects technique.

Simple à maintenir

C# est un langage de programmation à typage fort. Autrement dis, vous devez définir chaque type de variable lors de leur création. Ce système facilite la gestion des erreurs. Beaucoup de langages de programmation intègrent même ce système alors qu’ils ne sont pas à typage fort à la base.

TypeScript pour Javascript, PHP intègre maintenant les types, Cython pour Python etc…

Ce système stricte rendra la création d’applications plus simple. Vous aurez directement une idée de la provenance de vos erreurs.

De plus, C# utilise la programmation orientée objet afin d’organiser son code. Chaque fonctionnalitée est encapsulée, simple à créer, à modifier et à maintenir

La vitesse

C# est relativement rapide car le langage est fortement typé. Le système n’as pas à calculer la place de la mémoire, il la connais déjà.

Tout comme Java, il est plus rapide que les autres langages non compilés. Les ressources sont optimisées et on ne jette pas de la puissance par les fenêtres

La communauté

La taille d’une communauté est importante. Plus elle est grande et active, plus vous aurez de réponses à vos questions et de tutoriels.

C# est la quatrième plus grande communauté sur stack overflow, le plus grand site d’aide à la programmation au monde.

Si vous avez un problème, vous obtiendrez une réponse détaillée dans la journée.

Les opportunités de carrière

C# est utilisé par les grandes entreprises pour développer des applications et des jeux vidéos. De plus, le moteur de jeux Unity est devenu le standard pour les jeux vidéos indépendants.

Ce langage propose donc d’excellentes opportunités de travail, que ça soit dans le logiciel ou dans le développement de jeux vidéos.

De plus, il est même possible de créer des site web avec C# grâce à ASP.NET. C’est donc un langage qui couvre énormément de domaines.

Les défauts de C#

Ce langage n’as pas énorméments de défauts. Il est quand même important de les prendre en compte lorsque vous choisissez d’apprendre un langage.

Sa compléxité

Le langage bien que relativement accessible est un peu plus complexe que les autres langages de programmation comme Python ou PHP.

Vous devrez faire un peu plus d’efforts pour arriver aux mêmes résultats. C’est assez facilement expliquable, le langage est typé statiquement, il utilise la programmation orientée objet de manière intensive.

Toutes ces raisons font qu’il est un peu plus complexe que la majorité des langages.

Sa portabilité

C# as été développé pour être un langage de programmation Windows. Bien qu’il est aujourd’hui possible de faire tourner ces applications sur d’autres plateformes, ça reste compliqué et parfois buggé.

Si vous ne visez pas windows comme priorité, C# n’es probablement pas fait pour vous

Conclusion

C# est un excellent langage de programmation. Il est puissant, scalable et pas trop difficile à apprendre. Il est principalement utilisé pour le développement Windows mais il peut aussi être porté sur le web.

Il utilise la programmation orientée objet et le typage statique pour fonctionner, ce qui réduit les erreurs et facilite l’organisation.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation.

Vous abonner à notre newsletter

* champ requis

L’article Pourquoi apprendre C# est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/pourquoi-apprendre-c-2/feed/ 0 2940
Comment fonctionnent la boucle for en javascript https://leblogducodeur.fr/boucle-for-javascript/ https://leblogducodeur.fr/boucle-for-javascript/#respond Fri, 14 Feb 2020 15:29:03 +0000 http://leblogducodeur.fr/?p=2934 Comment utiliser les boucles for en Javascript ? Dans cet article, nous allons voir comment faire

L’article Comment fonctionnent la boucle for en javascript est apparu en premier sur Le blog du codeur.

]]>
Dans cet article, nous allons voir comment fonctionne la boucle for en Javascript et comment l’utiliser.

C’est quoi une boucle for ?

Une boucle for est un bloc de programmation fondamental permettant d’exécuter une action un certain nombre de fois et selon certaines conditions.

Les boucles for existent dans tout les langages de programmation. Elles sont utilisées dans tout les programmes.

Il est essentiel de les maîtriser. Elles permettent de créer des variables complexes, de gérer des données, d’effectuer des actions spécifiques etc..

Comment utiliser une boucle for

La boucle for Javascript basique dérive du langage C. On utilise donc la même syntaxe. Il y a 3 éléments distincts dans une boucle for. L’initialisation, la condition et le modificateur :

for (let i =0; i < 100; i++){
    
}

Ici, on déclare notre variable d’initialisation à 0. On utilise let et pas const car cette variable sera modifiée.

Ensuite, on sépare la seconde partie avec un “;”. C’est notre condition. Ici on précise que notre boucle tournera tant que notre variable i initialisée à 0 sera inférieure à 100. Enfin, on as notre modificateur. Ici on explique qu’à chaque passage de la boucle on augmente la valeure de i de 1.

On as donc un système plutôt simple. On initialise une variable à 0. Tant qu’elle est inférieure à 100, notre boucle tourne. Et à chaque passage, on augmente la valeure de 1. On aura donc 100 passages de boucle.

Je vais ajouter une instruction simple à l’intérieur :

for (let i =0; i < 100; i++){
    console.log('ma boucle passe 100 fois')
}

Ici, on passe les instructions dans les crochets, comme les fonctions ou les blocs conditionnels.

Si je lance mon code, j’aurais un console.log() 100 fois, notre boucle fonctionne.

Utiliser la variable i

Bien sûr, il est possible d’aller un peu plus loin. Faire une boucle pour répéter 100 fois quelque chose ça ne sers pas à grand chose.

Ce qui va vraiment nous servir dans cette boucle, c’est la variable i.

Si j’exécute ce code, vous allez voir quelque chose de magique :

for (let i =0; i < 100; i++){
    console.log('passage numéro ' + i)
}

Ici, notre code nous indique à quel passage il est. Notre variable i est augmentée à chaque passage de boucle.

Avec ça, on peux faire énormément de choses. Je vais vous donner un exemple que j’utilise dans mes cours en ligne.

Imaginez une liste de prénoms. Vous voulez afficher chaque prénoms individuellement mais de manière automatique, c’est à dire sans accéder aux index. Comment faire ?

Et bien les boucles nous permettent de le faire assez simplement

let prenoms = ['Michel', 'Jean', 'Pierre', 'Paul']
for (let i =0; i < 4; i++){
    console.log(prenoms[i])
}

Si je lance ce code, je vais obtenir ce résultat :

Michel
Jean
Pierre
Paul

Ici, il va m’afficher individuellement chaque élément de ma liste.

Mais pourquoi ?

Et bien parce que i change de valeur. On passe i dans notre liste comme si on passait un index. Au début il est à 0 et il augmente à chaque fois. On récupère donc tout les éléments de notre liste.

Il y a un soucis à ça… Comment faire si vous ne connaissez pas la longueur de votre liste ? Et bien on peux utiliser la méthode length :

let prenoms = ['Michel', 'Jean', 'Pierre', 'Paul']
for (let i =0; i < prenoms.length; i++){
    console.log(prenoms[i])
}

Ici, on lui dis de boucler tant que notre variable i est inférieure à la longueur total de notre liste. Dis comme ça, on pourraît se dire que l’on va manquer le dernier élément mais non.

En programmation, on accède aux éléments à partir de 0 mais la valeur de la méthode length commence à partir de 1. Le système est parfait.

On as donc une boucle dynamique. Peu importe la longueur de la liste on accède à chaque éléments de manière individuelle.

Sauf qu’on peux faire encore mieux…

La boucle for in

On as deux soucis avec notre boucle de base. Elle est longue à écrire et elle ne fonctionne pas sur les objets. Une nouvelle façon de faire des boucles for sortie il y a quelques années, la for in nous permets de palier à ces deux problèmes.

Le concept est extrêmemement simple :

let prenoms = ['Michel', 'Jean', 'Pierre', 'Paul']
for (i in prenoms){
    console.log(prenoms[i])
}

Ici on lui dis d’aller nous récupérer la position de l’élément de manière dynamique. Plus besoin d’utiliser length.

i va prendre successivement la valeur de chaque index. Il nous suffit ensuite de passer cet variable comme index de notre liste pour récupérer la valeur.

Le truc génial, c’est que ça fonctionne aussi avec les objets :

let magicien = {
    magie : 300,
    force : 20,
    prenom : 'Gandalf',
    taille : 200
};

for (key in magicien){
    console.log(key, ': ', magicien[key])
}

Ce qui donne :

magie :  300
force :  20
prenom :  Gandalf
taille :  200

Ici, on récupère la clé de chaque élément au lieu de son index. On passe ensuite la clé dans notre objet et on récupère les valeurs. Rien de plus simple.

Avec ça, on peux très facilement récupérer des éléments d’objets et de listes en quelques lignes.

Sauf que l’on doit passer l’index dans notre liste pour que ça fonctionne. On peux donc aller encore plus loin

La boucle for of

La boucle for of nous permets de récupérer directement les éléments sans passer par l’objet de base, elle ne fonctionne que pour les listes par contre. Puisque les objets ne sont pas ittérable de base, vous allez causer un bug.

Voici la marche à suivre :

let prenoms = ['Michel', 'Jean', 'Pierre', 'Paul']
for (let prenom of prenoms) {
    console.log(prenom)
}

Ici on récupère directement l’élement et on l’assigne à une variable, prenom. Voici le résultat :

Michel
Jean
Pierre
Paul

Comme vous le voyez, on as pu récupérer tout nos éléments sans passer par l’index. Tout est direct.

Un exemple d’utilisation de boucles

Faisons un petit exercice, essayons de créer un programme permettant de compter les nombres pairs et impairs dans une liste :

Avec les boucles, c’est très simple.

D’abord, on veux passer à travers tout nos élements. La manière la plus simple de le faire, c’est la for of

let nombres = [1,12,47,25,8932,85719,1818,17,139];
for (let nombre of nombres){
    
}

Ensuite, on ajoute une condition pour vérifier si notre nombre est pair. Pour ça, on divise le nombre par deux avec le modulo et on vérifie que le reste = 0. C’est assez logique, tout les nombres pairs sont divisible par 0 en conservant des entiers.

let nombres = [1,12,47,25,8932,85719,1818,17,139];
for (let nombre of nombres){
    if (nombre % 2 === 0){
        
    } else {
        
    }
}

On ajoute ensuite deux variables qui seront nos compteurs de nombres pairs et impairs :

let nombres = [1,12,47,25,8932,85719,1818,17,139];
let pairs = 0;
let impairs = 0;
for (let nombre of nombres){
    if (nombre % 2 === 0){

    } else {

    }
}

Pour finir, on ajoute 1 au compteur correspondant et on console.log les résultats :

let nombres = [1,12,47,25,8932,85719,1818,17,139];
let pairs = 0;
let impairs = 0;
for (let nombre of nombres){
    if (nombre % 2 === 0){
        pairs += 1
    } else {
        impairs += 1
    }
}

console.log('pairs', pairs);
console.log('impairs', impairs)

Ce qui donne :

pairs 3
impairs 6

Si vous comptez manuellement, vous allez arriver au même résultat.

Comme vous le voyez, il est très simple de créer des morceaux de programmes utilisant les boucles for pour faire des calculs.

L’utilisation des mots clés break et continue

Pour finir, nous allons voir comment utiliser break et continue pour améliorer les fonctionnalités de nos boucles.

L’utilisation de break

Break nous permets de casser une boucle. Le fonctionnement est plutôt simple, dès que le mot clé est activé, notre boucle est stopée nette.

Pour vous illustrer ce fonctionnement, je vais créer un petit programme, on possède une liste de nombres et dès que le nombre 10 est trouvé, le programme nous indique sa position et casse la boucle.

Bien sûr, il est préférable de caler ce code dans une fonction afin de l’automatiser et de retourner une valeur.

Il est probable que certains de mes lecteurs ne comprennent pas le concept des fonctions, je ne vais donc pas aller aussi loin :

let nombres = [1,58,63,95,74,10,18,78,36];
let position = -1;
for (let i in nombres){
    console.log(nombres[i])
    if (nombres[i] === 10){
        position = i;
        break
    }
}

console.log('position',position);

Ici, on utilise for in parce que l’on as besoin de l’index de notre nombre pour le stocker. On applique une condition basique, si elle es vrai, on assigne la position et on break.

Dans ce cas, il y a bel et bien un 10. Il nous renvoi donc sa position (on compte à partir de 0) et il break. Puisque j’ai console.log() les éléments, vous allez voir que notre boucle s’arrête.

1
58
63
95
74
10
position 5

On as maintenant sa position, je peux donc accéder à l’élément de manière individuelle. Dans le cas ou il n’y à pas de 10, notre variable position est égale à -1

L’utilisation de continue

Continue nous permets de passer un élément dans notre boucle. Nous allons faire quelque chose d’un peu différent, essayons de créer un code qui nous permets de filtrer les nombres pairs :

On va simplement console.log() les nombres pairs de notre liste :

let nombres = [1,58,63,95,74,10,18,78,36];

for (let nombre of nombres){
    if (nombre % 2 !== 0){
        continue
    }
    console.log(nombre)
}

Ici, continue va simplement aller au prochain élément de notre liste si il es tapé. Le console.log() ne sera donc exécuté que sur les nombres pairs :

58
74
10
18
78
36

En conclusion

Les boucles for nous permettent de passer à travers des données et d’exécuter des actions un certain nombre de fois. Il y a la for classique à condition, la for in à index et la for of à valeur.

Chaque boucle as ses avantages et vous devez apprendre à les choisirs. Il existe aussi des mots clés comme break et continue qui permettent d’ajouter de la logique dans vos boucles.

Je pense que cet article vous as enseigné tout ce qu’il y a à savoir sur les boucles en Javascript. Vous devriez être préparé pour créer vos boucles dans vos programmes.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation.

Vous abonner à notre newsletter

* champ requis

L’article Comment fonctionnent la boucle for en javascript est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/boucle-for-javascript/feed/ 0 2934
Pourquoi apprendre C++ https://leblogducodeur.fr/pourquoi-apprendre-c/ https://leblogducodeur.fr/pourquoi-apprendre-c/#respond Thu, 13 Feb 2020 16:17:32 +0000 http://leblogducodeur.fr/?p=2930 Vous hésitez à apprendre C++ ? Dans cet article, nous allons voir quels sont ses avantages et inconveignants.

L’article Pourquoi apprendre C++ est apparu en premier sur Le blog du codeur.

]]>
C++ est un langage connu pour sa puissance et sa rapidité. Ce langage vous permets de contrôller parfaitement votre ordinateur en gérant la mémoire, les processus, le disque dur et même la carte graphique.

C++ explose les autres langages de programmation en terme de performances. Votre navigateur web est programmé en C++, une bonne partie de vos logiciels aussi. Si vous jouez aux jeux vidéos, il y a une chance sur deux que ça soit du C++

Dans cet article, nous allons voir quels sont les raisons qui pourraient vous pousser à apprendre C++. Nous aborderons aussi les défauts du langage.

Les avantages de C++

Voyons donc les avantages de ce langage. Il en possède énormément mais j’ai choisis les 3 principaux, ceux qui devraient vous pousser à apprendre ce langage.

La vitesse

L’argument principal qui pourrait vous pousser à choisir C++, c’est sa vitesse. Sans exagérer, il est entre 10 et 100 fois plus rapides que d’autres langages comme Python, Ruby, Javascript, NodeJS, Java etc…

Sa vitesse hors normes est facilement explicable. Le langage est compilé, c’est à dire que le code est transformé en binaire avant l’exécution du programme.

Les langages cités plus haut sont interprétés (Java es un peu plus complexe avec le Bytecode), c’est à dire que le code est lu et est traduis en temps réel en instructions machine.

Bien sûr, un code compilé n’as pas que des avantages comme vous allez le voir. Mais en terme de performances, il n’y à pas de doutes. Les différences de vitesses peuvent aller jusqu’au fois 100 pour des algorithmes de calculs.

Seul NodeJS et Python peuvent presque rivaliser en utilisant des librairies basées sur C++ avec les modules ou les librairies compilées.

Vous lirez sur internet que les performances de Java et C++ peuvent être équivalentes. C’est une grosse bétise. Contrairement à ce que beaucoup de gens pensent, JAVA est un langage interprété. Il est donc bien plus lent.

Le contrôle

C++ est un langage compilé. Vous dialoguez directement avec le processeur via le langage binaire. C’est le moyen de communication informatique le plus précis et le plus poussé.

Vous avez le contrôle sur tout votre ordinateur. Sur la carte graphique, la carte son, le processeur, le disque dur, les périphérique externe comme les microphone, le clavier ou la souris.

Tout les drivers et programmes contrôllant des composants éléctroniques sont développés en C ou en C++. Il est impossible d’avoir le même niveau de contrôle avec des langages interprétés.

De plus, vous devez gérer des aspects comme la mémoire. Vous gérez vous même les ressources et vous les optimisez comme bon vous semble. Contrairement à des langages comme Python qui gèrent tout ça automatiquement, c’est à vous de le faire, ce qui vous donne une capacité d’optimisation énorme.

La scalabilité

La scalabilité de C++ est juste incroyable. Il est possible de créer des applications juste gigantesque. Prenez des jeux vidéos AAA par exemple, ils pèsent des dizaines de gigas et utilisent plusieurs gigas de mémoires.

Imaginez développer une application comme ça en Python ou Java, c’est presque impossible. La structure de C++ vous permets de viser très haut parce que vous avez un contrôle total sur votre programme.

Imaginez une intelligence artificielle, une bonne majorité sera programmée en Python mais le coeur de l’application sera développée en C++.

Les défauts de C++

Dans la vie, rien n’es jamais parfait. Un langage avec autant d’avantages possède forcéments des défauts proportionnés. Analysons les

Extrêmement complexe

C++ est un langage bas niveau. C’est à dire que l’on communique avec l’ordinateur avec peu de couche qui facilitent les choses. A vrai dire, il y en as deux, le prè compilateur et le compilateur.

Vous devez donc gérer des aspects complexes comme la mémoire, les pointeurs, le type des variables etc…

Si vous essayez de développer un programme en C++ et le même programme en Python. Il est probable que votre premier programme fasse 10 fois plus de lignes de code que le second.

De plus, beaucoup de bugs peuvent être crées à cause de cette compléxité. Pour ne citer que le plus connu, il est possible pour un hackeur d’accéder à n’importe quel endroit de la mémoire de l’ordinateur à cause d’une erreur dans la gestion de la mémoire, le buffer overflow.

C++ est bien plus difficile à apprendre que les autres langages cités plus haut. J’ai appris ce langage après avoir appris Python, PHP et Javascript.

Le niveau n’était pas le même. Je devais gérer 10 fois plus de choses qu’avec les autres langages de programmation, c’était très compliqué.

Des nouveaux concepts comme les pointeurs, les types de variables et la gestion de la heap.

Je ne vous conseille pas d’apprendre C++ seul comme premier langage, c’est probablement un suicide.

Si vous réussissez à apprendre C++, les autres langages vous sembleront simples. Vous allez gagner en niveau et en capacité de réfléxion.

Pas facile à maintenir

C++ as besoin de beaucoup de code pour fonctionner. Pour développer une grosse application C++, vous aurez besoin de beaucoup de temps ou de beaucoup de personnes.

Il est très facile de faire des erreurs et d’introduire des bugs dans vos programmes. C’est pour cette raison que Java as été développé. Pour éviter aux développeurs de passer des centaines d’heures à trouver une seule ligne de code causant une erreur.

Plus votre application grossira, plus il sera complexe d’implémenter de nouvelles fonctionnalités dans votre programme.

Globalement, les applications C++ augmentent en compléxité de manière exponantielle. Soyez prêts à ça.

La communauté des développeurs C++

Lorsque l’on cherche à savoir si un langage vaut le coup d’être appris, la communauté joue un grand rôle.

Si vous avez un problème ou que vous cherchez un tutoriel, une bonne communauté vous fera gagner des dizaines d’heures sur le long terme.

Plus la communauté est grande, active et aidante, plus vous aurez d’aide.

De plus, plus il y a de développeurs et plus la communauté es ancienne est stable, plus il y aura d’outils, de librairies et de frameworks disponibles pour vous faciliter la vie.

Le sixième langage de programmation le plus populaire

Sur Github, C++ est le sixième langage de programmation le plus populaire. Il est utilisé pour des projets comme Electron ou des modules NodeJS. On trouve sur le site des centaines de librairies C++ que vous pouvez télécharger.

De gros programmes comme la suite Adobe ou des moteurs de jeux vidéos comme le Unreal Engine sont développés en C++

Le plus haut taux de réponse sur stack overflow

Stack Overflow est un site internet qui vous permets de poser des questions sur la programmation et d’y répondre.

C++ est le langage avec le meilleur taux de réponses. Si vous avez un soucis, vous pouvez être sur d’avoir une réponse utile dans la journée.

C’est une excellente situation. Si vous avez un problème, vous aurez de l’aide assez rapidement.

Les opportunités de carrière

C++ est un langage extrêmement utilisé par les grandes entreprises. SI vous voulez créer ds jeux vidéos, vous aurez besoin de ce langage.

De grandes sociétés comme Adobe ou facebook utilisent C++ pour optimiser leurs applications. Il y a donc un réel marché.

Les développeurs C++ sont beaucoup mieux payés que les développeurs web ou de langages interprétés.

En conclusion

C++ est un langage de programmation extrêmement complexe. Il offre des opportunités incroyables grâce à ses performances et son contrôle sur la machine.

Globalement, C++ permets de tout faire. Bien sûr, vous devrez gérer des choses comme la mémoire ou les types de variables, mais le jeux en vaux la chandelle et les performances sont tout simplement incroyable.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation.

Vous abonner à notre newsletter

* champ requis

L’article Pourquoi apprendre C++ est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/pourquoi-apprendre-c/feed/ 0 2930
Comment fonctionne NPM https://leblogducodeur.fr/comment-fonctionne-npm/ https://leblogducodeur.fr/comment-fonctionne-npm/#respond Thu, 13 Feb 2020 14:46:06 +0000 http://leblogducodeur.fr/?p=2926 Dans cet article, nous allons voir comment fonctionne NPM et comment l'utiliser pour vos projets.

L’article Comment fonctionne NPM est apparu en premier sur Le blog du codeur.

]]>
NodeJS est un langage de programmation dérivé de Javascript. Il permets d’écrire du code du côté du serveur et de ordinateur. Il fonctionne avec l’engine v8 de google qui est présent dans le navigateur google chrome.

Le langage est développé en C++ il est donc optimisé et très rapide. Initialement, le langage devait uniquement permettre de créer des serveurs webs. Les choses ont changées avec le temps. Aujourd’hui, on peux développer des logiciels avec NodeJS (discord ou Atom par exemple), faire des serveurs, et même développer des site frontend en compilant du code.

Pour se faciliter la vie, les développeurs ont crées des outils comme Webpack, Babel, Grunt, React, Redux et bien d’autres.

Au final, le monde du développement frontend as changé grâce à NodeJS. Les modules backend compilent du code frontend pour le rendre servable sur le navigateur.

Par exemple, vous développez un site web React. Un outil comme webpack va compiler votre code pour le rendre utilisable sur un site web. NodeJS est donc devenu un outil global.

Pour gérer tout ces nouveaux outils (appelés packages ou modules en anglais), on utilise NPM (node package manager) un outil permettant de les installer et de les gérer facilement. Npm vous permets d’installer les packages, de les configurer et de les gérer en quelques lignes de codes.

Dans cet article, je vais vous présenter les bases de cet outil. Vous allez voir comment installer les modules en local ou en global, comment les supprimer, les mettre à jour et gérer les versions.

Vous verrez aussi comment package.json fonctionne et à quoi il sert précisément.

Comment utiliser Npm

Je ne vais pas vous faire une leçon complète sur l’installation de NodeJS, je vous invite simplement à aller voir sur internet, c’est très facile et normalement, NPM sera installé en même temps.

Si ce n’est pas le cas, une simple ligne de commande sur Linux ou MacOs fera l’affaire.

npm permets d’installer des modules de deux façons. En local (par défaut) et en global. Les installations locales vont stocker les packages dans le dossier node_modules. A partir d’ici, vous pouvez utiliser les modules dans votre projet.

Les installations globales vous permettent d’utiliser les packages sur votre ordinateur / serveur entièrement. On utilise ces installations pour utiliser des packages qui nous servent tout le temps.

Comment installer un module NPM en global

Lorsque vous installez un module npm en global, il est accessible partout. De ce fait, vous devez utiliser sudo ou lancer votre terminal/cmd en administrateur.

Pour cet exemple, je vais installer nodemon, un package permettant de relancer automatiquement un programme après une modification (très utile pour le développement backend)

Ouvrez votre terminal et tapez simplement cette commande :

sudo npm install nodemon --global

Pensez à retirer le sudo si vous êtes sous windows.

Ici, on utilise le flag –global pour préciser la façon dont on installe le package.

Comme vous le voyez c’est vraiment simple. A partir de maintenant, si vous lancez un script avec nodemon devant, le programme se relancera à chaque modification.

Par exemple :

nodemon index.js

Comment lister les packages globaux installés

Pour afficher les packages globaux installés sur votre machine, vous pouvez lancer cette commande :

npm list --global

Dans mon cas, j’obtiens ce résultat :

/usr/local/lib
└─┬ nodemon@2.0.2
  ├─┬ chokidar@3.3.1
  │ ├─┬ anymatch@3.1.1
  │ │ └── picomatch@2.2.1
  │ ├─┬ braces@3.0.2
  │ │ └─┬ fill-range@7.0.1
  │ │   └─┬ to-regex-range@5.0.1
  │ │     └── is-number@7.0.0
  │ ├── UNMET OPTIONAL DEPENDENCY fsevents@~2.1.2
  │ ├── glob-parent@5.1.0
  │ ├─┬ is-binary-path@2.1.0
  │ │ └── binary-extensions@2.0.0
  │ ├─┬ is-glob@4.0.1
  │ │ └── is-extglob@2.1.1
  │ ├── normalize-path@3.0.0
  │ └── readdirp@3.3.0
  ├─┬ debug@3.2.6
  │ └── ms@2.1.2
  ├── ignore-by-default@1.0.1
  ├─┬ minimatch@3.0.4
  │ └─┬ brace-expansion@1.1.11
  │   ├── balanced-match@1.0.0
  │   └── concat-map@0.0.1
  ├── pstree.remy@1.1.7
  ├── semver@5.7.1
  ├─┬ supports-color@5.5.0
  │ └── has-flag@3.0.0
  ├─┬ touch@3.1.0
  │ └─┬ nopt@1.0.10
  │   └── abbrev@1.1.1
  ├─┬ undefsafe@2.0.2
  │ └─┬ debug@2.6.9
  │   └── ms@2.0.0
  └─┬ update-notifier@2.5.0
    ├─┬ boxen@1.3.0
    │ ├── ansi-align@2.0.0
    │ ├── camelcase@4.1.0
    │ ├── cli-boxes@1.0.0
    │ ├─┬ string-width@2.1.1
    │ │ ├── is-fullwidth-code-point@2.0.0
    │ │ └─┬ strip-ansi@4.0.0
    │ │   └── ansi-regex@3.0.0
    │ ├─┬ term-size@1.2.0
    │ │ └─┬ execa@0.7.0
    │ │   ├─┬ cross-spawn@5.1.0
    │ │   │ ├─┬ lru-cache@4.1.5
    │ │   │ │ ├── pseudomap@1.0.2
    │ │   │ │ └── yallist@2.1.2
    │ │   │ ├─┬ shebang-command@1.2.0
    │ │   │ │ └── shebang-regex@1.0.0
    │ │   │ └─┬ which@1.3.1
    │ │   │   └── isexe@2.0.0
    │ │   ├── get-stream@3.0.0
    │ │   ├── is-stream@1.1.0
    │ │   ├─┬ npm-run-path@2.0.2
    │ │   │ └── path-key@2.0.1
    │ │   ├── p-finally@1.0.0
    │ │   └── strip-eof@1.0.0
    │ └── widest-line@2.0.1
    ├─┬ chalk@2.4.2
    │ ├─┬ ansi-styles@3.2.1
    │ │ └─┬ color-convert@1.9.3
    │ │   └── color-name@1.1.3
    │ └── escape-string-regexp@1.0.5
    ├─┬ configstore@3.1.2
    │ ├─┬ dot-prop@4.2.0
    │ │ └── is-obj@1.0.1
    │ ├── graceful-fs@4.2.3
    │ ├─┬ make-dir@1.3.0
    │ │ └── pify@3.0.0
    │ ├─┬ unique-string@1.0.0
    │ │ └── crypto-random-string@1.0.0
    │ └─┬ write-file-atomic@2.4.3
    │   ├── imurmurhash@0.1.4
    │   └── signal-exit@3.0.2
    ├── import-lazy@2.1.0
    ├─┬ is-ci@1.2.1
    │ └── ci-info@1.6.0
    ├─┬ is-installed-globally@0.1.0
    │ ├─┬ global-dirs@0.1.1
    │ │ └── ini@1.3.5
    │ └─┬ is-path-inside@1.0.1
    │   └── path-is-inside@1.0.2
    ├── is-npm@1.0.0
    ├─┬ latest-version@3.1.0
    │ └─┬ package-json@4.0.1
    │   ├─┬ got@6.7.1
    │   │ ├─┬ create-error-class@3.0.2
    │   │ │ └── capture-stack-trace@1.0.1
    │   │ ├── duplexer3@0.1.4
    │   │ ├── is-redirect@1.0.0
    │   │ ├── is-retry-allowed@1.2.0
    │   │ ├── lowercase-keys@1.0.1
    │   │ ├── safe-buffer@5.2.0
    │   │ ├── timed-out@4.0.1
    │   │ ├── unzip-response@2.0.1
    │   │ └─┬ url-parse-lax@1.0.0
    │   │   └── prepend-http@1.0.4
    │   ├─┬ registry-auth-token@3.4.0
    │   │ └─┬ rc@1.2.8
    │   │   ├── deep-extend@0.6.0
    │   │   ├── minimist@1.2.0
    │   │   └── strip-json-comments@2.0.1
    │   └── registry-url@3.1.0
    ├── semver-diff@2.1.0
    └── xdg-basedir@3.0.0

La liste est un peu longue mais vous comprenez le principe.

Comment installer des modules npm localement

Les modules locaux npm vous permettent d’utiliser des librairies, des frameworks et des bases de code dans vos projets.

Lorsque vous développez un projet, vous avez besoin d’un fichier appelé package.json afin de noter vos dépendances et de pouvoir les réinstaller au besoin.

Prenons un exemple simple, vous venez de terminer votre développement et vous voulez mettre en ligne votre application sur un serveur Debian, vous voulez transférer votre code mais pas vos node_modules pour éviter les conflits d’OS.

C’est dans cette situation que package.json va servir.

Pour créer le fichier package.json, vous devez utiliser une commande à la localisation de votre futur projet :

npm init

Ici, vous allez devoir remplir une configuration. Elle vous sera utile si vous voulez mettre en ligne votre package.

name: (test) testpackage
version: (1.0.0) 1.0.0
description: un package pour mon tuto
entry point: (index.js) index.js
test command: 
git repository: 
keywords: 
author: Gaïlen Collignon
license: (ISC) 
About to write to /home/gailen/test/package.json:

{
  "name": "testpackage",
  "version": "1.0.0",
  "description": "un package pour mon tuto",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "author": "Gaïlen Collignon",
  "license": "ISC"
}

Vous possédez maintenant un projet NodeJS utilisable et dans les normes. Vous pouvez maintenant installer des modules.

Essayons par exemple d’installer express

npm install express

On obtiens cette réponse :

/home/gailen/test
└─┬ express@4.17.1 
  ├─┬ accepts@1.3.7 
  │ ├─┬ mime-types@2.1.26 
  │ │ └── mime-db@1.43.0 
  │ └── negotiator@0.6.2 
  ├── array-flatten@1.1.1 
  ├─┬ body-parser@1.19.0 
  │ ├── bytes@3.1.0 
  │ ├─┬ http-errors@1.7.2 
  │ │ ├── inherits@2.0.3 
  │ │ └── toidentifier@1.0.0 
  │ ├─┬ iconv-lite@0.4.24 
  │ │ └── safer-buffer@2.1.2 
  │ └── raw-body@2.4.0 
  ├── content-disposition@0.5.3 
  ├── content-type@1.0.4 
  ├── cookie@0.4.0 
  ├── cookie-signature@1.0.6 
  ├─┬ debug@2.6.9 
  │ └── ms@2.0.0 
  ├── depd@1.1.2 
  ├── encodeurl@1.0.2 
  ├── escape-html@1.0.3 
  ├── etag@1.8.1 
  ├─┬ finalhandler@1.1.2 
  │ └── unpipe@1.0.0 
  ├── fresh@0.5.2 
  ├── merge-descriptors@1.0.1 
  ├── methods@1.1.2 
  ├─┬ on-finished@2.3.0 
  │ └── ee-first@1.1.1 
  ├── parseurl@1.3.3 
  ├── path-to-regexp@0.1.7 
  ├─┬ proxy-addr@2.0.5 
  │ ├── forwarded@0.1.2 
  │ └── ipaddr.js@1.9.0 
  ├── qs@6.7.0 
  ├── range-parser@1.2.1 
  ├── safe-buffer@5.1.2 
  ├─┬ send@0.17.1 
  │ ├── destroy@1.0.4 
  │ ├── mime@1.6.0 
  │ └── ms@2.1.1 
  ├── serve-static@1.14.1 
  ├── setprototypeof@1.1.1 
  ├── statuses@1.5.0 
  ├─┬ type-is@1.6.18 
  │ └── media-typer@0.3.0 
  ├── utils-merge@1.0.1 
  └── vary@1.1.2 

Ici, si vous ouvrez le dossier node_modules, vous allez trouver le module express et ses dépendances. De plus, si vous ouvrez package.json, vous verrez express et sa version actuelle.

Vous savez maintenant comment installer un module NodeJS pour vos projets.

Gérer vos modules avec package.json

Package.json vous donne beaucoup d’informations. Par exemple, le ^ présent devant la version d’express vous indique qu’il as téléchargé la dernière version officielle et stable disponible.

Toutes ces informations vont vous permettre de cloner les modules d’un autre projet. Imaginons que vous ayez développé un site web, vous mettez le code en ligne mais rien ne marche, vous n’avez pas les nodes_modules

Il vous suffit de faire :

npm install

Et en quelques temps, tout vos modules sont installés et votre application fonctionne parfaitement.

Comment désinstaller des modules npm

Il aussi possible de désinstaller une dépendance avec npm. La solution simple serait de supprimer le dossier nodemodules mais c’est une erreur. Votre application va buger et la dépendance restera dans package.json

Pour supprimer une dépendance, il vous suffit de faire cette commande :

npm uninstall express

Comment installer une version spécifique

Parfois, vous voulez installer une version spécifique. De nouvelles fonctionnalités beta vous intéressent ? Vous voulez utiliser des fonctionnalités deprecated ?

Dans ce cas, il suffit de lancer npm install et de spécifier la version avec un @

npm install express@1.0.0

Ici je spécifie que je veux installer la version 1.0.0 de express

Mettre à jour des modules npm

Il est important de mettre à jour ses modules de temps en temps. Npm vous permets de le faire grâce à 3 commandes.

Vous pouvez avoir des informations sur les modules à mettre à jour grâce à cette commande:

npm outdated

SI un de vos module n’es pas à jour, vous aurez l’information. Ensuite, vous pouvez le mettre à jour grâce à cette commande (ici j’utilise l’exemple d’express) :

npm update express

Si vous voulez mettre à jour tout les modules, vous n’avez qu’à faire cette commande :

npm update

En conclusion

Dans ce tutoriel, je vous ai expliqué les fonctionnalités de bases de npm. Normalement, vous êtes prêts à développer vos applications NodeJS et à gérer vos dépendances sans trop de soucis.

Vous avez vu qu’il y a deux grands types de packages, les globaux et les locaux. Vous savez les installer, les modifier, les supprimer. A partir de là, vous avez toutes les bases pour continuer.

Aujourd’hui, on utilise même NPM pour installer des librairies avec des frameworks comme ReactJS pour ensuite les compiler avec des outils comme webpack. NPM est utilisé partout, c’est même le choix préféré pour installer les outils de compilation windows.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation.

Vous abonner à notre newsletter

* champ requis

L’article Comment fonctionne NPM est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/comment-fonctionne-npm/feed/ 0 2926
Quel éditeur de code choisir en 2020 https://leblogducodeur.fr/editeur-code-2020/ https://leblogducodeur.fr/editeur-code-2020/#respond Wed, 12 Feb 2020 20:08:41 +0000 http://leblogducodeur.fr/?p=2916 Quel éditeur de code choisir en 2020 ? Dans cet article, je réponds à cette question.

L’article Quel éditeur de code choisir en 2020 est apparu en premier sur Le blog du codeur.

]]>
Dans cet article, nous allons voir quel éditeur de texte utiliser pour programmer. Il existe des centaines de logiciels différents et il est compliqué pour un débutant de choisir et de trouver celui qui lui correponds.

Aujourd’hui, les choses sont plutôt simples. Vous ouvrez votre logiciel et vous codez avec une interface belle, propre et qui vous donne même des conseils.

Malheureusement, ça n’as pas toujours été comme ça.. J’ai un amis qui programmait déjà dans les années 80. A l’époque, les développeurs utilisaient le nano, VIM et notepad.

Voici les différents logiciels que nous allons couvrir dans cet article :

  • Atom
  • Visual Studio Code
  • Brackets
  • Sublime Text
  • La suite Jetbrains

C’est quoi un éditeur de texte (IDE)

Un IDE signifie Integrated Devlopment Environmment. C’est un logiciel qui vous permets d’écrire du code de manière intelligente. Bien sûr, il est techniquement possible d’écrire un programme sur un simple bloc note windows, mais vous savez probablement que c’est un suicide.

Les IDE vous permettent d’automatiser certaines tâches comme la création de projet ou le déploiement de serveurs de développement, ils vous donnent des conseils en soulignant vos erreurs et en proposant de meilleurs façon d’écrire du code et surtout, ils facilitent la syntaxe en collorant votre code et en ajoutant des raccourcis clavier.

Par exemple, on ouvre et on ferme une parenthèse avec le même bouton et le curseur se place directement dans la parenthèse.

Atom

Atom est un éditeur de texte extrêmement populaire chez les développeurs web. IL est gratuit et il fonctionne grâce à un système de plugins.

Autrement dit, les fonctionnalités de bases du logiciel sont assez limitées. Mais il existe des dizaines de milliers de plugins qui permettent d’étendre les fonctionnalités et de programmer dans n’importe quel langage et avec n’importe quel outil.

Résultat de recherche d'images pour "atom editor"

Atom est disponible sur toutes les plateformes. C’est un outil mobile, léger et optimisé.

Ses fonctionnalités sont ergonomiques. Il permets par exemple de travailler avec plusieurs fenêtres de code en même temps ou de rechercher une expression spécifique dans une base de code

Résultat de recherche d'images pour "atom multi palenl"

Le logiciel est développé en NodeJS, plus spécifiquement avec ElectronJS. Il est donc possible de créer vos propres modules et de les mettre en ligne pour que d’autres développeurs en profitent.

Visual studio code

Ce logiciel est développé par microsoft et est disponible sur les 3 plateformes majeures.

Il propose une inferface simple, fonctionnelle et ajustable avec de nombreux plugins et modules.

Visual Studio Code est un logiciel classique et connu de tous. Il est nécéssaire pour compiler des modules NodeJS sur windows par exemple.

Résultat de recherche d'images pour "vscode"

Visual Studio Code possède une connexion à GIT, un système de gestion de projets complet, un completage du code dynamique et des conseils pour améliorer votre programme.

Le logiciel est plutôt lourd. Tout les ordinateurs ne le feront pas tourner parfaitement. De plus, il est vraiment optimisé pour windows et possède pas mal de soucis sur les deux autres OS.

Néanmoins, si votre ordinateur est suffisamment puissant et que vous êtes sous WIndows, je pense que vous devriez le tester.

Brackets

Brackets est un logiciel crée par Adobe. Il est simple à utiliser, open source et il possède un système de plugins comme Atom.

Il possède énormément de fonctionnalités vous permettant de gagner du temps. Des templates de code, une complétion automatique, et un système de gestion de fichiers intelligent.

Résultat de recherche d'images pour "brackets code"

Brackets est beaucoup utilisé par les développeurs web. Il n’es pas vraiment utile pour créer des programmes de bureautique ou des scripts.

Si vous faites du Javascript ou du HTML CSS, brackets est vraiment un bon logiciel. Idem si vous êtes designer et que vous devez toucher un peu au code, brackets est vraiment un bon outil.

Notpad ++

Notpad++ est un logiciel un peu particulier. Il est utilisé par les étudiants et les scientifiques pour analyser des données et modifier du code de manière légère.

C’est le logiciel que j’utilisais lorsque je modifiait des programmes et des fichiers de config sur Java. Il n’es pas extrêmement pratique pour coder mais s’avère incroyablement utile pour modifier des choses comme des fichiers.

Même si je ne l’utilise pas tout les jours, Notpad++ est toujours installé sur mes ordinateurs et prêt à l’emploi.

Son interface de base est un peu vieille mais il est possible de la modifier assez facilement

Résultat de recherche d'images pour "notepad++"

Sublime Text

Sublime Text, c’est un peu le grand frère d’Atom. C’est le premier éditeur de code que j’ai vraiment utilisé.

Il fonctionne comme Atom, il possède des fonctionnalités de bases (un peu plus étendues selon mon expérience) et il est possible d’installer des milliers de plugins et modules pour améliorer ses fonctionnalités.

Ce logiciel permets de développer avec tout les langages. Si vous voulez utiliser un nouveau langage / framework ou une nouvelle librairie, une installation de module et c’est réglé.

Pour les fonctionnalités qui facilitent la vie, c’est assez classique. Installation et lancement de serveur de test, complétion automatique du code. Affichage des erreurs. Tout y est.

Résultat de recherche d'images pour "sublime text 3"

Si vous débutez, sublime text est un bon choix. Même si je préfère Atom, je pense que les deux se vallent et méritent qu’ils soient testés.

La suite de logiciels Jetbrains

Ce sont les logiciels que j’utilise tout les jours. Je vous préviens tout de suite, ils sont payants. Néanmoins, il existe des versions gratuites et un mois d’essai. De plus, si vous êtes étudiants, vous n’avez pas à les payer à condition de ne pas créer des logiciels commerciaux.

Les logiciels Jetbrains sont spécialisés dans un seul langage de programmation. Par exemple, Webstorm permets de développer du Javascript, NodeJS et React.

Clion lui permets de développer des logiciels en C et C++

Les logiciels Jetbrains sont incroyablement complets. En quelques cliques, vous pouvez mettre en place une application avec un squelette de base. Télécharger un nouveau framework / superset.

Vous avez des tonnes de raccourcis qui vous font gagner du temps. Importer des modules, exporter des fonctions, créer des classes et relier des systèmes devient simple.

Il y a néanmoins deux points négatifs, les logiciels sont gourmands en RAM. Et ils coûtent de l’argent. Quelques euros par mois pour chaque logiciel. Si vous êtes comme moi et que vous développez sur plusieurs langages, ils proposent une offre avec tout leurs logiciels pour 64€

Résultat de recherche d'images pour "jetbrains"

C’est selon moi la meilleure suite de logiciels si vous avez du budget.

En conclusion

Quel éditeur de code choisir en 2020 ?

Il existe des centaines de logiciels vous permettant de programmer. Certains sortent du lot et je pense que cet article vous permettra de choisir un logiciel répondant à vos besoins.

Si vous débutez, je pense qu’Atom répondra à vos besoins. Pour un logiciel un peu plus costaud, VIsual Studio Code fera l’affaire. Et si vous voulez vous profesionnaliser, la suite Jetbrains correspondra à vos besoins avancés.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation.

Vous abonner à notre newsletter

* champ requis

L’article Quel éditeur de code choisir en 2020 est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/editeur-code-2020/feed/ 0 2916
Comment utiliser les événements avec Node JS https://leblogducodeur.fr/evenements-node-js/ https://leblogducodeur.fr/evenements-node-js/#respond Mon, 10 Feb 2020 09:13:15 +0000 http://leblogducodeur.fr/?p=2904 Nous allons voir comment programmer vos propres événements avec Node JS en quelques lignes de code

L’article Comment utiliser les événements avec Node JS est apparu en premier sur Le blog du codeur.

]]>
Node JS possède un système appelé événements. Il nous permets de créer des systèmes asynchrones intelligents en réagissant à des situations et en émettant des actions.

Dans cet article, nous allons voir comment utiliser les événements Node JS pour construire des applications intelligentes qui vont réagir à ce qui se passe dans votre programme.

Comment fonctionne la programmation événementielle

Le système de programmation classique est plutôt simple. Lorsque l’on as besoin d’effectuer une action, on appelle une fonction et le tour es joué. Si vous voulez exécuter un processus dans un autre, vous n’avez qu’à appeler une fonction ou une méthode dans une autre fonction ou méthode, plutôt simple non ?

Le soucis, c’est que ce système rends l’ajout de fonctionnalités plutôt complexe. Vous devez créer des liens entre vos fonctionnalités, vous ne pouvez pas utiliser de systèmes séparés. Plus l’application grossie, plus le développement devient difficile.

La programmation événementielle est née pour palier à ces problèmes.

L’idée est plutôt simple, on crée un système d’émetteur et de récepteur. On peux émettre un événement de n’importe ou et avec n’importe quels arguments. Une fois l’événement émis, le récepteur va exécuter le code lié à l’événement

On as donc un objet qui s’appelle eventEmitter et deux métodes. emit et on.

Je vais donc créer deux fichiers. Le premier crée les listeners et export notre objet Evénement et le second appel l’evennement grâce à emit

const event = require('events');

let evenemment = new event.EventEmitter();


evenemment.on('enregistrement', function(params){
    console.log(params.prenom);
    console.log(params.motDePasse);
})

module.exports = evenemment;

Ici, on importe le module events. On crée un objet dérivant de la classe EventEmitter. On ajoute des listeners c’est à dire des écouteurs avec un nom et une fonction callback pour exécuter du code. Notez que cette fonction peux recevoir des paramètres.

Pour finir, on exporte notre objet afin de l’utiliser dans d’autres fichiers.

Voici maintenant le fichier qui appel notre événement :

const evennement = require('./index');

evennement.emit('enregistrement', {prenom : 'Gaïlen', motDePasse : 'motdepasse'})

C’est aussi simple que ça. On émets notre événement et on lui passe nos arguments. On obtiens ensuite ce résultat si on appel notre second fichier dans Node JS

Gaïlen
motdepasse

Comme vous le voyez, on appelle notre événement et tout fonctionne parfaitement. On peux bien sûr ajouter d’autres écouteurs et déclencheurs. D’autres fichiers, d’autres objets événements.

Les possibilités sont infinies.

En conclusion

La programmation événementielle permets de gagner beaucoup de temps et de mieux organiser son code. Le principe est simple, on crée un objet EventEmitter, on ajouter des écouteurs avec on() on leur donne un nom et une fonction.

Ensuite, on peux les déclencher en utilisant emit() avec le nom de l’écouteur et éventuellement des paramètres.

Si cet article vous as plu, n’hésitez pas à télécharger mon livre PDF qui vous apprendra à bien débuter la programmation.

Vous abonner à notre newsletter

* champ requis

L’article Comment utiliser les événements avec Node JS est apparu en premier sur Le blog du codeur.

]]>
https://leblogducodeur.fr/evenements-node-js/feed/ 0 2904