<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Heritier Lionge</title>
    <description>The latest articles on DEV Community by Heritier Lionge (@herilion).</description>
    <link>https://dev.to/herilion</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F962838%2F876f3971-c2fc-40ee-97a1-3bf1e8cb41a3.jpg</url>
      <title>DEV Community: Heritier Lionge</title>
      <link>https://dev.to/herilion</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/herilion"/>
    <language>en</language>
    <item>
      <title>L'utilisation des Promesses en JavaScript pour une gestion asynchrone efficace</title>
      <dc:creator>Heritier Lionge</dc:creator>
      <pubDate>Tue, 18 Jul 2023 07:33:19 +0000</pubDate>
      <link>https://dev.to/kadea-academy/lutilisation-des-promesses-en-javascript-pour-une-gestion-asynchrone-efficace-bo</link>
      <guid>https://dev.to/kadea-academy/lutilisation-des-promesses-en-javascript-pour-une-gestion-asynchrone-efficace-bo</guid>
      <description>&lt;p&gt;La programmation JavaScript offre une grande flexibilité grâce à sa nature asynchrone, permettant aux développeurs de créer des applications web interactives et réactives. Cependant, cette asynchronicité peut également poser des défis, notamment lorsqu'il s'agit de gérer des opérations longues ou d'effectuer des appels réseau. C'est là que les Promesses (Promises) entrent en jeu.&lt;/p&gt;

&lt;p&gt;Dans cet article, nous explorerons le concept des Promesses en JavaScript et comment elles peuvent être utilisées pour simplifier la gestion asynchrone des opérations. Nous examinerons également comment les Promesses peuvent être combinées pour résoudre des problèmes plus complexes et améliorer la lisibilité du code. Préparez-vous à découvrir une approche plus claire et efficace de la programmation asynchrone avec JavaScript !&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les bases des Promesses&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;Les Promesses sont un objet intégré dans JavaScript, introduit dans ECMAScript 6 (ES6), qui représente la finalité ou l'échec éventuel d'une opération asynchrone. Une Promesse peut être dans l'un des trois états suivants :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;En attente (pending) : L'opération asynchrone est en cours d'exécution et la Promesse est en attente de sa résolution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accomplie (fulfilled) : L'opération asynchrone s'est terminée avec succès et la Promesse est résolue avec une valeur.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rejetée (rejected) : L'opération asynchrone a échoué et la Promesse est rejetée avec une raison d'échec.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Création et utilisation des Promesses :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La création d'une Promesse se fait à l'aide du constructeur Promise. Ce constructeur prend une fonction exécuteur en argument, qui à son tour reçoit deux paramètres : &lt;em&gt;resolve&lt;/em&gt; et &lt;em&gt;reject&lt;/em&gt;. Ces paramètres sont des fonctions qui permettent de résoudre ou de rejeter explicitement la Promesse.&lt;/p&gt;

&lt;p&gt;Voici un exemple simple de création et d'utilisation d'une Promesse en JavaScript :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const promesse = new Promise((resolve, reject) =&amp;gt; {
  // Simulation d'une opération asynchrone
  setTimeout(() =&amp;gt; {
    const réussite = true;

    if (réussite) {
      resolve("Succès !");
    } else {
      reject("Échec !");
    }
  }, 2000);
});

promesse.then((valeur) =&amp;gt; {
  console.log(valeur); // Affiche "Succès !" après 2 secondes
}).catch((raison) =&amp;gt; {
  console.log(raison); // Affiche "Échec !" après 2 secondes
});

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dans cet exemple, nous utilisons &lt;code&gt;setTimeout&lt;/code&gt; pour simuler une opération asynchrone qui se résout avec succès après 2 secondes. La méthode &lt;code&gt;then&lt;/code&gt; est utilisée pour spécifier une fonction de rappel qui sera exécutée lorsque la Promesse est résolue. La méthode &lt;code&gt;catch&lt;/code&gt; est utilisée pour spécifier une fonction de rappel en cas de rejet de la Promesse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chaînage des Promesses&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;L'un des aspects puissants des Promesses est la possibilité de les chaîner pour créer une séquence d'opérations asynchrones. Cela permet de gérer des situations où une opération dépend du résultat d'une autre opération asynchrone.&lt;/p&gt;

&lt;p&gt;Voici un exemple de chaînage de Promesses :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function operationAsynchrone() {
  return new Promise((resolve) =&amp;gt; {
    setTimeout(() =&amp;gt; {
      resolve(10);
    }, 1000);
  });
}

operationAsynchrone().then((valeur) =&amp;gt; {
  return valeur * 2;
}).then((valeur) =&amp;gt; {
  console.log(valeur); // Affiche 20 après 1 seconde
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dans cet exemple, la fonction &lt;code&gt;operationAsynchrone&lt;/code&gt; retourne une Promesse qui se résout avec la valeur 10 après 1 seconde. En utilisant la méthode &lt;code&gt;then&lt;/code&gt; de manière chaînée, nous multiplions cette valeur par 2 et affichons le résultat. Cela permet d'obtenir une séquence d'opérations asynchrones de manière claire et lisible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;Les Promesses en JavaScript offrent un moyen efficace de gérer la programmation asynchrone. Elles simplifient la gestion des opérations longues et des appels réseau, tout en améliorant la lisibilité du code. En comprenant les bases des Promesses et en les utilisant correctement, vous pourrez créer des applications web réactives et performantes.&lt;/p&gt;

&lt;p&gt;En explorant davantage les fonctionnalités avancées des Promesses, telles que l'utilisation de &lt;code&gt;Promise.all&lt;/code&gt; ou &lt;code&gt;Promise.race&lt;/code&gt;, vous pouvez gérer des scénarios plus complexes et résoudre des problèmes asynchrones de manière élégante.&lt;/p&gt;

&lt;p&gt;N'hésitez pas à expérimenter avec les Promesses en JavaScript et à les intégrer dans vos projets pour améliorer l'efficacité de votre gestion asynchrone.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Les notions élémentaires de JavaScript pour le web</title>
      <dc:creator>Heritier Lionge</dc:creator>
      <pubDate>Wed, 31 May 2023 08:52:01 +0000</pubDate>
      <link>https://dev.to/kadea-academy/les-notions-elementaires-de-javascript-pour-le-web-3ehd</link>
      <guid>https://dev.to/kadea-academy/les-notions-elementaires-de-javascript-pour-le-web-3ehd</guid>
      <description>&lt;p&gt;JavaScript est l'un des langages de programmation les plus couramment utilisés dans le développement web. Il permet d'ajouter de l'interactivité et de la dynamique aux sites web, ce qui le rend essentiel pour créer des expériences utilisateur enrichissantes. Dans cet article, nous allons passer en revue les notions élémentaires de JavaScript pour le web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction à JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript est un &lt;strong&gt;langage de programmation&lt;/strong&gt; de &lt;strong&gt;haut niveau&lt;/strong&gt; qui peut être exécuté côté client (dans le navigateur web) ainsi que côté serveur (avec l'utilisation de Node.js). Il a été créé pour ajouter des fonctionnalités interactives aux pages web et permettre une manipulation dynamique du contenu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Variables et types de données&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript utilise le mot-clé var pour déclarer une variable. Les variables en JavaScript sont dynamiquement typées, ce qui signifie qu'elles peuvent contenir différents types de données tels que les nombres, les chaînes de caractères, les booléens, les tableaux et les objets.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Exemple&lt;/em&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var age = 25;
var nom = "Jean";
var estMajeur = true;
var liste = [1, 2, 3, 4];
var personne = { nom: "Jean", age: 25 };

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;1.Opérateurs&lt;/p&gt;

&lt;p&gt;JavaScript prend en charge différents opérateurs pour effectuer des calculs et des manipulations sur les données. Les opérateurs arithmétiques (+, -, *, /) sont utilisés pour les calculs mathématiques, les opérateurs de comparaison (==, ===, !=, !==, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=) permettent de comparer les valeurs, et les opérateurs logiques (&amp;amp;&amp;amp;, ||, !) sont utilisés pour combiner des expressions booléennes.&lt;/p&gt;

&lt;p&gt;2.Structures de contrôle&lt;/p&gt;

&lt;p&gt;JavaScript utilise des structures de contrôle telles que les boucles (&lt;em&gt;for, while&lt;/em&gt;) et les instructions conditionnelles (i_f, else, switch_) pour contrôler l'exécution du code en fonction des conditions.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Exemple&lt;/em&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for (var i = 0; i &amp;lt; 5; i++) {
  console.log(i);
}

if (age &amp;gt;= 18) {
  console.log("Vous êtes majeur.");
} else {
  console.log("Vous êtes mineur.");
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Fonctions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Les fonctions en JavaScript permettent d'organiser le code en blocs réutilisables. Elles peuvent prendre des paramètres en entrée, effectuer des opérations et renvoyer une valeur.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Exemple :&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function calculerSomme(a, b) {
  return a + b;
}

var resultat = calculerSomme(2, 3);
console.log(resultat); // Affiche 5

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Manipulation du DOM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le DOM (Document Object Model) représente la structure HTML d'une page web et permet de manipuler les éléments de la page à l'aide de JavaScript. On peut accéder aux éléments du DOM, modifier leur contenu, ajouter ou supprimer des éléments, et réagir à des événements tels que les clics de souris ou les soumissions de formulaire.&lt;/p&gt;

&lt;p&gt;_Exemple _:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var titre = document.getElementById("titre");
titre.innerHTML = "Nouveau titre";

var bouton = document.getElementById("bouton");
bouton.addEventListener("click", function() {
  console.log("Le bouton a été cliqué.");
});

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ces notions élémentaires de JavaScript sont indispensables pour commencer à développer des fonctionnalités interactives sur le web. Avec une solide compréhension de ces concepts, vous pouvez explorer des sujets plus avancés tels que la manipulation des tableaux, la gestion des erreurs, les requêtes AJAX, etc.&lt;/p&gt;

&lt;p&gt;En conclusion, JavaScript est un langage puissant et polyvalent qui joue un rôle essentiel dans le développement web moderne. En maîtrisant les notions élémentaires que nous avons abordées dans cet article, vous êtes prêt à vous lancer dans la création de sites web dynamiques et interactifs. Bonne programmation !&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>La fonction next() dans Express.js</title>
      <dc:creator>Heritier Lionge</dc:creator>
      <pubDate>Wed, 02 Nov 2022 07:07:10 +0000</pubDate>
      <link>https://dev.to/kadea-academy/la-fonction-next-dans-expressjs-ln7</link>
      <guid>https://dev.to/kadea-academy/la-fonction-next-dans-expressjs-ln7</guid>
      <description>&lt;p&gt;Express.js est un framework web populaire basé sur Node.js qui facilite la création d'applications web robustes et flexibles. L'une des fonctionnalités clés d'Express.js est la fonction Next(), qui joue un rôle crucial dans le flux de contrôle des requêtes HTTP. Comprendre le fonctionnement de Next() est essentiel pour exploiter pleinement le potentiel d'Express.js et créer des applications web efficaces. Dans cet article, nous explorerons la fonction Next() et comment l'utiliser pour gérer les middleware et améliorer la gestion des routes dans vos applications Express.js.&lt;/p&gt;

&lt;p&gt;Pour savoir plus sur le middleware; consulter &lt;a href="https://medium.com/@valentinhonvj1/comment-utiliser-le-middleware-dans-express-js-44b1d1edb32f"&gt;ici&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Il existe de nombreuses fonctions middleware dans Express.js comme la fonction Express.js app.use() , et bien d'autres. Le middleware app.use() est essentiellement utilisé pour définir le gestionnaire de la demande particulière faite par le client.&lt;/p&gt;

&lt;p&gt;Syntaxe:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app.use(path,(req,res,next))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Il accepte les deux paramètres mentionnés ci-dessus.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;path : il s'agit du chemin pour lequel la fonction middleware est appelée. Il peut s'agir d'une chaîne représentant un chemin ou un modèle de chemin ou un modèle d'expression régulière pour faire correspondre les chemins.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;callback : il s'agit de la fonction de rappel qui contient l'objet de requête, l'objet de réponse et la fonction next() pour appeler la fonction middleware suivante si la réponse du middleware actuel n'est pas terminée. Dans le deuxième paramètre, nous pouvons également passer le nom de la fonction du middleware.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Installation du module&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Avant toute chose; on commence par installer le module express à l'aide de la commande suivante:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm installer express
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Serveur sans fonction next() vs Serveur avec fonction next()&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Expliquons les deux cas avec des exemples:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemple 1 : Serveur sans fonction next()&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Importation du module express recemment installé
const express = require("express");
const app = express()

// création du premier Middleware
app.use("/", (req, res, next) =&amp;gt; {
    console.log("Hello");
    // sans la fonction next()
})

// création du second middleware
app.get("/", (req, res, next) =&amp;gt; {
    console.log("Bonjour requête")
})

// Execution du server
app.listen(3000, () =&amp;gt; {
    console.log("Server is Running")
})

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En Sortie : sans la fonction next(), nous remarquons que le middleware n'appelle pas le middleware suivant, même s'il demande un chemin identique.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemple 2 : Serveur avec la fonction next()&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Importation du module express récemment installé
const express = require("express");
const app = express()

// Création du premier Middleware
app.use("/", (req, res, next) =&amp;gt; {
    console.log("Hello");
    // The next() function called
    next();
})

// création du second middleware
app.get("/", (req, res, next) =&amp;gt; {
    console.log("Get Request")
})

// Execution the server
app.listen(3000, () =&amp;gt; {
    console.log("Server is Running")
})

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>express</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
