(10,'Nombre d\'Armstrong', 'armstrongNumber', 'Permetdesavoirsiunnombrefaitpartiedesnombresd\'Armstrong.','/images/functions/armstrongNumber.png','form','<p>Un nombre d\"Armstrong est un nombre entier positif qui est égal à la somme de ses chiffres portés à la puissance du nombre de chiffres le composant. Cette fonction permet de savoir si un nombre fait partie des nombres d\"Armstrong (avec l\"explication).<br>\n<br>\n\n\n\nExemple : 153 est un nombre d\"Armstrong car 1<sup>3</sup> + 5<sup>3</sup> + 3<sup>3</sup> = 153.</p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'CourierNew\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #6a9955;\">/** </span></div><div><span style=\"color: #6a9955;\"> * </span><span style=\"color: #569cd6;\">@description</span><span style=\"color: #6a9955;\"> Vérifie si un nombre fait partie des nombres d\'Armstrong.</span></div><div><spanstyle=\"color: #6a9955;\"> * </span><spanstyle=\"color: #569cd6;\">@param</span><spanstyle=\"color: #6a9955;\"> </span><spanstyle=\"color: #4ec9b0;\">{number}</span><spanstyle=\"color: #6a9955;\"> </span><spanstyle=\"color: #9cdcfe;\">number</span><spanstyle=\"color: #6a9955;\"> - Le nombre à tester</span></div><div><spanstyle=\"color: #6a9955;\"> * </span><spanstyle=\"color: #569cd6;\">@return</span><spanstyle=\"color: #6a9955;\"> </span><spanstyle=\"color: #4ec9b0;\">{boolean}</span><spanstyle=\"color: #6a9955;\"> </span></div><div><spanstyle=\"color: #6a9955;\"> * </span><spanstyle=\"color: #569cd6;\">@example</span><spanstyle=\"color: #6a9955;\"> isArmstrongNumber(153) → true</span></div><div><spanstyle=\"color: #6a9955;\"> */</span><spanstyle=\"color: #d4d4d4;\"> </span></div><div><spanstyle=\"color: #569cd6;\">function</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #dcdcaa;\">isArmstrongNumber</span><spanstyle=\"color: #d4d4d4;\">(</span><spanstyle=\"color: #9cdcfe;\">number</span><spanstyle=\"color: #d4d4d4;\">) {</span></div><div><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #569cd6;\">let</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #9cdcfe;\">numberString</span><spanstyle=\"color: #d4d4d4;\"> = </span><spanstyle=\"color: #9cdcfe;\">number</span><spanstyle=\"color: #d4d4d4;\">.</span><spanstyle=\"color: #dcdcaa;\">toString</span><spanstyle=\"color: #d4d4d4;\">();</span></div><div><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #569cd6;\">let</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #9cdcfe;\">result</span><spanstyle=\"color: #d4d4d4;\"> = </span><spanstyle=\"color: #b5cea8;\">0</span><spanstyle=\"color: #d4d4d4;\">;</span></div><br><div><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #c586c0;\">for</span><spanstyle=\"color: #d4d4d4;\"> (</span><spanstyle=\"color: #569cd6;\">let</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #9cdcfe;\">index</span><spanstyle=\"color: #d4d4d4;\"> = </span><spanstyle=\"color: #b5cea8;\">0</span><spanstyle=\"color: #d4d4d4;\">; </span><spanstyle=\"color: #9cdcfe;\">index</span><spanstyle=\"color: #d4d4d4;\"> < </span><spanstyle=\"color: #9cdcfe;\">numberString</span><spanstyle=\"color: #d4d4d4;\">.</span><spanstyle=\"color: #9cdcfe;\">length</span><spanstyle=\"color: #d4d4d4;\">; </span><spanstyle=\"color: #9cdcfe;\">index</span><spanstyle=\"color: #d4d4d4;\">++) {</span></div><div><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #9cdcfe;\">result</span><spanstyle=\"color: #d4d4d4;\"> += </span><spanstyle=\"color:
(12,'Raccourcisseurs de liens','linkShortener','Une URL trop longue ? Raccourcissez-là !','/images/functions/linkShortener.png','form','<p>Pour faire son propre \"link shortener\" comme Bitly etc. Il faut une simple base de donnée (J\'utiliseMySQL),avec3champs:id,urletshortcut.Leprincipec\'est que vous avez une url prédéfinie (grâce à Express et NodeJS c\'esttrèssimple),quipeutressembleràça:nomdedomaine.fr/?q=shortcutetàlaplacede\"shortcut\"c\'est le shortcut enregistré dans la base de donnée pour accéder à l\'urlraccourci,doncl\'algo va se contenter de chercher dans sa base de donnée si le shortcut existe si oui il va prendre le champ url et faire un simple redirect. Pour que l\'algofonctionnecorrectement,ilfaudraitqueleshortcutsoitunique.</p>', '[{\"name\":\"url\",\"type\":\"text\",\"label\":\"Entrez le lien à raccourcir :\",\"placeholder\":\"(e.g : https://divlo.fr)\"},{\"name\":\"shortcutName\",\"type\":\"text\",\"label\":\"Entrez le nom du raccourci :\",\"placeholder\":\"(e.g : divlo)\"}]', 1, '2019-12-1100:00:00', '2020-05-1207:49:46', 1),
(13,'Liste de choses à faire','toDoList','Prévoyez la liste de choses que vous devez faire.','/images/functions/toDoList.png','page','<p>La To do list c\'estl\'applications que tout les débutants font en programmation, c\'estlemeilleurmoyendemettreenpratiquelesconnaissancespourfairedesapplicationsCRUD(Create.Read.Update.Delete).Surtoutqu\'avec un peu d\'imaginationc\'est une app qui peut-être très grandement amélioré. Pour sauvegarder vos données vous pouvez utilisez le localStorage du navigateur ou encore mieux (ce que j\'utiliseici),unsystèmedeconnexion/inscriptiondesutilisateursetsauvegardedesdonnéesenbasededonnée(MySQLparexemple).Ici,l\'utilisateur peut ajouter une tâche à faire, voir les tâches ajoutées précédemment, déclarer comme fait et supprimer. Libre à vous d\'ajouterdesfonctionnalitéscommeparexemplelapossibiltédemodifierunetâcheouencoredeséparerlestâchesfaîtesdestâchesencours.Sivousapprennezledéveloppementweb,c\'est la 1ère application \"fullstack\" que vous pouvez faire simplement : HTML, CSS, JS et un langage côté serveur (PHP ou NodeJS par exemple).</p>',NULL,1,'2019-12-26 00:00:00','2020-05-12 10:49:48',1),
(14,'Juste Prix','rightPrice','Arriverez-vous à deviner le prix d\'unobjet?', '/images/functions/rightPrice.png', 'page', '<p>Faireunjusteprixcen\"est pas très compliqué, ça se résume en 3 conditions if, pour vérifier si le prix est inférieur/supérieur ou égale, donc très simple mais pour rendre le jeu un peu plus fun surtout à développer. J\"aiimaginédeprendreunproduitd\"Amazon au hasard, d\"afficherletitreetl\"image et de faire deviner le prix du produit. Problème : Amazon ne possède pas d\"API(avecdocumentationetc.),doncpasmoyenderécupérerles3informationsquejeveuxd\"un produit. </p><p>Donc pas le choix, on va faire ce qu\"onappelledu\"Web scraping\",c\"est à dire qu\"onvafaireunscriptquivaallersurlapageAmazonetonvaprendretoutleHTMLdelapage,lestockédansunevariableetfaireunDOMvirtuelpourpouvoiraccéderauxmêmesfonctions/méthodesenJavaScriptcommeledocument.getElementById,document.querySelectoretc.etdoncpouvoirrécupérerlesvaleursvoulues.</p><p>Pourcelaj\"utilise NodeJS avec la librairie <a target=\"blank\" rel=\"noopenernoreferrer\" href=\"https://github.com/segmentio/nightmare\">Nightmare</a> qui permet justement de faire du Web Scraping.<br>\n\nDonc l\"idéec\"est que nous allons faire une fonction qui va nous retourner un Tableau de produits d\"Amazonavecchaqueproduitc\"est un objet contenant comme information : le nom, l\"imageetleprix.\n</p><divclass=\"vscode-editor\"style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'Courier New\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><spanstyle=\"color: #569cd6;\">async</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #569cd6;\">function</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #dcdcaa;\">getAmazonProductList</span><spanstyle=\"color: #d4d4d4;\">(</span><spanstyle=\"color: #9cdcfe;\">subject</span><spanstyle=\"color: #d4d4d4;\">) {</span></div><div><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #569cd6;\">const</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #51b6c4;\">url</span><spanstyle=\"color: #d4d4d4;\"> = </span><spanstyle=\"color: #ce9178;\">`https://www.amazon.fr/s?k=</span><spanstyle=\"color: #569cd6;\">${</span><spanstyle=\"color: #9cdcfe;\">subject</span><spanstyle=\"color: #569cd6;\">}</span><spanstyle=\"color: #ce9178;\">`</span><spanstyle=\"color: #d4d4d4;\">;</span></div><div><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #569cd6;\">const</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #51b6c4;\">Nightmare</span><spanstyle=\"color: #d4d4d4;\"> = </span><spanstyle=\"color: #dcdcaa;\">require</span><spanstyle=\"color: #d4d4d4;\">(</span><spanstyle=\"color: #ce9178;\">\"nightmare\"</span><spanstyle=\"color: #d4d4d4;\">)();</span></div><div><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #c586c0;\">return</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #c586c0;\">await</span><spanstyle=\"color: #d4d4d4;\"> </span><spanstyle=\"color: #9cdcfe;\">Nightmare</span><spanstyle=\"color: #d4d4d4;\">.</span><spanstyle=\"color: #dcdcaa;\">goto</span><spanstyle=\"color: #d4d4d4;\">(</span><spanstyle=\"color: #9cdcfe;\">url</span><spanstyle=\"color: #d4d4d4;\">)</span></div><div><spanstyle=\"color: #d4d4d4;\"> .</span><spanstyle=\"color: #dcdcaa;\">wait</span><spanstyle=\"color: #d4d4d4;\">(</span><spanstyle=\"color: #ce9178;\">\".s-result-item\"</span><spanstyle=\"color: #d4d4d4;\">)</span></div><div><spanstyle=\"color: #d4d4d4;\"> .</span><spanstyle=\"color: #dcdcaa;\">evaluate</span><spanstyle=\"color: #d4d4d4;\">(() </span><spanstyle=\"color: #569c
(15,'Chronomètre','chronometerTimer','Gérer votre temps facilement (et adopter la technique Pomodoro).','/images/functions/chronometerTimer.png','page','<p>Pour faire un chronomètre il faut utiliser la fonction globale setInterval, qui va exécuter une callback toutes les x nombres de millisecondes. Nous dans notre cas, chaque seconde on va incrémenter la variable de 1 pour connaître les secondes.</p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'CourierNew\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">let</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">timeLength</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #b5cea8;\">0</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #dcdcaa;\">setInterval</span><span style=\"color: #d4d4d4;\">(() </span><span style=\"color: #569cd6;\">=></span><span style=\"color: #d4d4d4;\"> {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">timeLength</span><span style=\"color: #d4d4d4;\">++;</span></div><div><span style=\"color: #d4d4d4;\">}, </span><span style=\"color: #b5cea8;\">1000</span><span style=\"color: #d4d4d4;\">);</span></div></div><p>Puis pour afficher le nombre de minutes on va créer une fonction convertSeconds :</p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'CourierNew\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">function</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">convertSeconds</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">seconds</span><span style=\"color: #d4d4d4;\">) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">return</span><span style=\"color: #d4d4d4;\"> {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">minutes:</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #4ec9b0;\">Math</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #dcdcaa;\">floor</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">seconds</span><span style=\"color: #d4d4d4;\"> / </span><span style=\"color: #b5cea8;\">60</span><span style=\"color: #d4d4d4;\">),</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">seconds:</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">seconds</span><span style=\"color: #d4d4d4;\"> % </span><span style=\"color: #b5cea8;\">60</span><span style=\"color: #d4d4d4;\"> </span></div><div><span style=\"color: #d4d4d4;\"> };</span></div><div><span style=\"color: #d4d4d4;\">}</span></div></div><p>Exemple : On exécute la fonction convertSeconds(90) qui va nous retourner l\'objetoùminutesvaudra1etsecondsvaudra30, </p><p>Etglobalementlerestec\'est de la manipulation du DOM en JavaScript.</p>',NULL,1,'2020-04-29 09:28:08','2020-05-12 13:11:48',1);
(16,'Les méthodes des tableaux','arrayMethods','Et si on refaisait les méthodes natives de l\'objetglobal\"Array\"?', '/images/functions/arrayMethods.png', 'article', '<p><strong>JavaScript</strong>estunlangage<strong>orientéobjet</strong>,chaquetypecomme\"String\", \"Number\",...sontenréalitédesobjets. <br>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCesontdes\"<a target=\"_blank\" href=\"https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux\">Objets globaux</a>\",quidisposedeméthodesbienutiles.😎 Pourquoijevousditça?<br>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCaraujourd\"hui nous allons reproduire les méthodes de l\"objetglobal\"<a target=\"_blank\" href=\"https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array\">Array</a>\", c\"est un bon exercice pour progresser.<br>\n<br>\n\n\n\n\n\n\n\n\n\n\n\nNous allons réaliser une classe (syntaxe ES6+) qu\"onvaappeler\"DivloArray\"parexempleetreproduire6méthodes(push,forEach,map,filter,reverseetjoin),bienévidemmentlibreàvousd\"en faire plus. 😊 Je vais expliquer le code une méthode après l\"autredoncboutdecodeparboutdecode,sivousvoulezavoirlecodesourcecomplet,ilestdisponiblesurce<atarget=\"_blank\"href=\"https://gist.github.com/Divlo/4ffc8ed007d293372ee449d2647fcad9\">GitHubGist.</a><br>\n<br>\n\n\n\n\n\n\n\n\n\n\nDonctoutd\"abord, nous devons créer la classe avec un constructor et faire une nouvelle instance de cet objet dans une variable :<br>\n\n\n\n\n\n\n\n\n(Libre à vous de renommer les variables comme bon vous semble.) <br>\n</p><div class=\"vscode-editor\" style=\"color:#d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'Courier New\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">class</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #4ec9b0;\">DivloArray</span><span style=\"color: #d4d4d4;\"> {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #569cd6;\">constructor</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">array</span><span style=\"color: #d4d4d4;\">) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #569cd6;\">this</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #9cdcfe;\">array</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #9cdcfe;\">array</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\"> }</span></div><div><span style=\"color: #d4d4d4;\">}</span></div><br>\n\n<div><span style=\"color: #569cd6;\">const</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">divloArray</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #569cd6;\">new</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #4ec9b0;\">DivloArray</span><span style=\"color: #d4d4d4;\">([</span><span style=\"color: #b5cea8;\">57</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color: #b5cea8;\">4</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color: #b5cea8;\">2</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color: #b5cea8;\">8</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color: #b5cea8;\">16</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color: #b5cea8;\">25</span><span style=\"color: #d4d4d4;\">]);</span></div></div><p><br>\n\n\n\n\n\n\n- Nous allons commencer par créer la première méthode très utilisée qui consiste à ajouter un ou plusieurs éléments à la fin d\"un tableau, je parle bien évidemment de la méthode <strong>push</strong>.</p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'Courier New\', monospace;font-weight:
(17,'Est-ce un palindrome ?','isPalindrome','Un palindrome est un mot (ou phrase) qui peut s\'écriredanslesdeuxsens(ex:kayak).', '/images/functions/isPalindrome.png', 'form', '<p>Pourréfléchirsurunproblème,ilfautle\"découper\"enpetitsautresproblèmes,unpalindromeestunmotquipeuts\"écrire dans les deux sens, donc le mot avec les lettres inversées devrait être exactement le même que le mot initial.<br>\n\n\nDonc pour cela faut d\"abordfaireunefonctionquivaretournerlachaînedecaractèreàl\"envers, par exemple : \"Hello\" devient \"olleH.</p><p>Jevaisvousmontrer2techniquesdifférentespourarriveràécrirelafonction\"reverseString\":</p><p>-1èreméthodeconsisteàsimplementfaireuneboucleàl\"envers :</p><div class=\"vscode-editor\" style=\"color:#d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'Courier New\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">function</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">reverseString</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">string</span><span style=\"color: #d4d4d4;\">) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #569cd6;\">let</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">result</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #ce9178;\">\"\"</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #569cd6;\">const</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #51b6c4;\">stringLength</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #9cdcfe;\">string</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #9cdcfe;\">length</span><span style=\"color: #d4d4d4;\"> - </span><span style=\"color: #b5cea8;\">1</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">for</span><span style=\"color: #d4d4d4;\"> (</span><span style=\"color: #569cd6;\">let</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">index</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #9cdcfe;\">stringLength</span><span style=\"color: #d4d4d4;\">; </span><span style=\"color: #9cdcfe;\">index</span><span style=\"color: #d4d4d4;\"> >= </span><span style=\"color: #b5cea8;\">0</span><span style=\"color: #d4d4d4;\">; </span><span style=\"color: #9cdcfe;\">index</span><span style=\"color: #d4d4d4;\">--) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">result</span><span style=\"color: #d4d4d4;\"> += </span><span style=\"color: #9cdcfe;\">string</span><span style=\"color: #d4d4d4;\">[</span><span style=\"color: #9cdcfe;\">index</span><span style=\"color: #d4d4d4;\">];</span></div><div><span style=\"color: #d4d4d4;\"> }</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">return</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">result</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\">}</span></div></div><p>- 2ème méthode qui tient sur une seule ligne grâce aux méthodes des objets globaux :</p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'Courier New\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">function</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">reverseString</span><span style=\"color: #d4d4d4;\">(</span><s
(18,'Quel est le mot le plus long ?','findLongestWord','Trouve le mot le plus long dans une chaîne de caractères.','/images/functions/findLongestWord.png','form','<p></p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'CourierNew\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">function</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">findLongestWord</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">string</span><span style=\"color: #d4d4d4;\">) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #569cd6;\">const</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #51b6c4;\">arrayString</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #9cdcfe;\">string</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #dcdcaa;\">split</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #ce9178;\">\" \"</span><span style=\"color: #d4d4d4;\">);</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #569cd6;\">let</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">wordLength</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #b5cea8;\">0</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #569cd6;\">let</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">wordResult</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #ce9178;\">\"\"</span><span style=\"color: #d4d4d4;\">;</span></div><br><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">arrayString</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #dcdcaa;\">forEach</span><span style=\"color: #d4d4d4;\">((</span><span style=\"color: #9cdcfe;\">word</span><span style=\"color: #d4d4d4;\">) </span><span style=\"color: #569cd6;\">=></span><span style=\"color: #d4d4d4;\"> {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">if</span><span style=\"color: #d4d4d4;\"> (</span><span style=\"color: #9cdcfe;\">word</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #9cdcfe;\">length</span><span style=\"color: #d4d4d4;\"> > </span><span style=\"color: #9cdcfe;\">wordLength</span><span style=\"color: #d4d4d4;\">) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">wordResult</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #9cdcfe;\">word</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">wordLength</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #9cdcfe;\">word</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #9cdcfe;\">length</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\"> }</span></div><div><span style=\"color: #d4d4d4;\"> });</span></div><br><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">return</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">wordResult</span><span style=\"color: #d4d4d4;\">;</span></div><div><span style=\"color: #d4d4d4;\">}</span></div></div><p>On part du principe que chaque mot est séparé par des espaces. Au début, le mot le plus long a 0 caractère. Puis on fait un
(19,'Suite de Fibonacci','fibonacci','Calcule la suite de Fibonacci.','/images/functions/fibonacci.png','form','<p>La suite de Fibonacci est une suite d\"entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent, voici les 6 premiers chiffres de la suite :<br>\n\n\n\n\n\n0, 1, 1, 2, 3, 5</p><p>Nous allons coder une fonction récursive qui va nous calculer les \"x\" premiers nombres de la suite.</p><p>Pour commencer qu\"est ce qu\"une fonction récursive ? Une fonction récursive est une fonction qui s\"auto appelle dans le corps de la fonction, exemple :</p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'CourierNew\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">function</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">doSomeCode</span><span style=\"color: #d4d4d4;\">() {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">doSomeCode</span><span style=\"color: #d4d4d4;\">();</span></div><div><span style=\"color: #d4d4d4;\">}</span></div><div><span style=\"color: #dcdcaa;\">doSomeCode</span><span style=\"color: #d4d4d4;\">();</span></div></div><p>Bon ici, ça n\"a pas trop de sens, car ça causerait \"une boucle infinie\" on obtiendra une \"InternalError: too much recursion\", par contre si on exécute la fonction ou on retourne une valeur d\"après des conditions, ça peut-être très intéressant.</p><div class=\"vscode-editor\" style=\"color: #d4d4d4;background-color: #1e1e1e;font-family: Consolas, \'CourierNew\', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;\"><div><span style=\"color: #569cd6;\">function</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">fibonacci</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">counter</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color: #9cdcfe;\">result</span><span style=\"color: #d4d4d4;\"> = [], </span><span style=\"color: #9cdcfe;\">number1</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #b5cea8;\">0</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color: #9cdcfe;\">number2</span><span style=\"color: #d4d4d4;\"> = </span><span style=\"color: #b5cea8;\">1</span><span style=\"color: #d4d4d4;\">) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">if</span><span style=\"color: #d4d4d4;\"> (</span><span style=\"color: #9cdcfe;\">counter</span><span style=\"color: #d4d4d4;\"> === </span><span style=\"color: #b5cea8;\">0</span><span style=\"color: #d4d4d4;\">) {</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">return</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">result</span><span style=\"color: #d4d4d4;\">; </span></div><div><span style=\"color: #d4d4d4;\"> }</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">counter</span><span style=\"color: #d4d4d4;\">--;</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #9cdcfe;\">result</span><span style=\"color: #d4d4d4;\">.</span><span style=\"color: #dcdcaa;\">push</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">number1</span><span style=\"color: #d4d4d4;\">);</span></div><div><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #c586c0;\">return</span><span style=\"color: #d4d4d4;\"> </span><span style=\"color: #dcdcaa;\">fibonacci</span><span style=\"color: #d4d4d4;\">(</span><span style=\"color: #9cdcfe;\">counter</span><span style=\"color: #d4d4d4;\">, </span><span style=\"color