Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2020-07-10T02:54:32+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Choisir un bon paquet de lancer de dés, message #2236372020-07-10T02:54:32+02:00Helmasaur/@Helmasaurhttps://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p223637<p>J’ai oublié de répondre à ce sujet suite à mon choix donc voici mon retour.</p>
<p>Tout d’abord, j’ai exclus dice-roller-dnd même s’il m’intéressait pour éviter l’ajout de deux dépendances et quelques avec la cascade.</p>
<p>Finalement, mon choix s’est portée sur trpg-dice car je préfère le résultat (en particulier sur les données de chaque lancé) qui est retourné par ce paquet comparé aux deux autres. Son point négatif est le fait que le paquet n’est plus maintenu.</p>
<p>Pour l’instant, il fait ce dont j’ai besoin et je n’ai pas encore exploité toutes les possibilités de ce paquet car je n’ai pas encore implémenté tout ce que je souhaites. Au final, ça fait l’affaire et vu qu’il ne s’agit pas d’une dépendance importante dans mon projet, je l’utilise sans inquiétude et ça sera assez simple de le remplacer par un autre.</p>
<p>Merci à tous <img src="/static/smileys/svg/clin.svg" alt=";)" class="smiley"> !</p>NPM et bonnes pratiques : modules à usage personnel, message #2198442020-04-28T13:50:28+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219844<blockquote>
<p>Pour simplifier quelques projets écrits en JavaScript, je suis en train d’extraire certaines parties vers un module externe dont ils dépendraient. </p>
</blockquote>
<p>Tu peux aussi inclure un fichier particulier d’une de tes dépendances :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span></div><pre><code class="hljs language-isbl"><span class="hljs-variable">const</span> <span class="hljs-variable">isEmail</span> = <span class="hljs-function"><span class="hljs-title">require</span>(<span class="hljs-string">'validator/lib/isEmail'</span>)</span>
<span class="hljs-variable">const</span> <span class="hljs-variable">dependance</span> = <span class="hljs-function"><span class="hljs-title">require</span>(<span class="hljs-string">'dependance/lib/core.js'</span>)</span>
</code></pre></div>NPM et bonnes pratiques : modules à usage personnel, message #2198422020-04-28T13:43:46+02:00viki53/@viki53https://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219842<p>Héhé, c’est une fonctionnalité que j’ai découverte l’été dernier, après 4 ans de développement avec Node… ça sauve des vies ! <img src="/static/smileys/heureux.png" alt=":D" class="smiley"> </p>NPM et bonnes pratiques : modules à usage personnel, message #2198402020-04-28T13:40:14+02:00Amaury/@Amauryhttps://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219840<p>D’accord, merci à vous ! Je vais plutôt passer par un dépôt git directement, alors. Quitte à publier plus tard si j’estime que la bibliothèque en vaut le coup… mais chaque chose en son temps.</p>
<blockquote>
<p>Pour info (ou pour d’autres qui passeraient par là avec un cas similaire) en local tu peux utiliser npm link pour te simplifier la tâche pour développer ta dépendance en même temps que ton projet depuis un répertoire local plutôt qu’avec une référence distante.</p>
</blockquote>
<p>Ceci risque de m’être <em>très</em> utile. Actuellement je passe par une dépendance en <code>file://</code> avec un chemin relatif, pour ça, mais c’est du temporaire, ça ne peut pas être publié vu que ça ne fonctionnerait qu’en local. Merci beaucoup !</p>NPM et bonnes pratiques : modules à usage personnel, message #2198392020-04-28T13:35:46+02:00viki53/@viki53https://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219839<p>Si tu n’as pas besoin de partager, utiliser un repo Git fonctionne très bien, ça fait des tâches en moins et tu ne dépends ainsi pas de npm en plus du reste.</p>
<p>C’est d’ailleurs à ça que sert la propriété <code>private</code> du <code>package.json</code> : éviter que le paquet soit publié sur npm.</p>
<hr>
<p>Pour info (ou pour d’autres qui passeraient par là avec un cas similaire) en local tu peux utiliser <code>npm link</code> pour te simplifier la tâche pour développer ta dépendance en même temps que ton projet depuis un répertoire local plutôt qu’avec une référence distante.</p>NPM et bonnes pratiques : modules à usage personnel, message #2198382020-04-28T13:31:36+02:00Heziode/@Heziodehttps://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219838<figure><blockquote>
<p>Merci pour l’outil, je note en cas de besoin (de moi ou de connaissances) !</p>
<p>Mais j’aurais dû préciser quelque chose : les modules en question sont de toute façon <em>open source</em>, donc je n’ai aucun problème avec l’idée de les avoir dans un dépôt public. La question que je me posais, c’était surtout sur le fait de “polluer” le dépôt public de NPM avec un module qui n’a pour utilisateur cible que moi-même.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219836">Amaury</a></figcaption></figure>
<p>T’inquiète pas, NPM est déjà pollué d’une montagne de paquet dans ce genre-là, qui ne sont, soit pas documenté, soit pour un cas tellement précis que ça n’a d’utilité que pour le créateur.</p>NPM et bonnes pratiques : modules à usage personnel, message #2198362020-04-28T13:21:19+02:00Amaury/@Amauryhttps://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219836<p>Merci pour l’outil, je note en cas de besoin (de moi ou de connaissances) !</p>
<p>Mais j’aurais dû préciser quelque chose : les modules en question sont de toute façon <em>open source</em>, donc je n’ai aucun problème avec l’idée de les avoir dans un dépôt public. La question que je me posais, c’était surtout sur le fait de “polluer” le dépôt public de NPM avec un module qui n’a pour utilisateur cible que moi-même.</p>NPM et bonnes pratiques : modules à usage personnel, message #2198352020-04-28T13:18:41+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219835<p>Bonjour,</p>
<p>Un ami m’a conseillé d’utiliser Verdaccio : <a href="https://github.com/verdaccio/verdaccio">https://github.com/verdaccio/verdaccio</a>.</p>
<p>Pour l’instant, je ne l’ai pas essayé ; le besoin n’étant plus à l’ordre du jour. Si des agrumes l’ont testé, ça m’intéresse un retour d’expériences.</p>
<p>En ce qui concerne le dépôt officiel NPM, tu peux payer pour avoir des dépôts privés : <a href="https://www.npmjs.com/products">https://www.npmjs.com/products</a>.</p>NPM et bonnes pratiques : modules à usage personnel, message #2198322020-04-28T13:00:25+02:00Amaury/@Amauryhttps://zestedesavoir.com/forums/sujet/14002/npm-et-bonnes-pratiques-modules-a-usage-personnel/?page=1#p219832<p>Bonjour,</p>
<p>Pour simplifier quelques projets écrits en JavaScript, je suis en train d’extraire certaines parties vers un module externe dont ils dépendraient. C’est un module documenté et tout, certes, mais extrêmement centré sur mon cas spécifique d’usage. Cela dit, pour pouvoir en dépendre facilement et déployer sans problèmes, j’aimerais pouvoir le mettre dans un dépôt externe.</p>
<p>Quelle est la bonne pratique dans ce genre de cas ? Est-ce que le mettre directement sur NPM se fait, pour pouvoir le référencer juste avec son nom en dépendance, ou vaut-il mieux dépendre d’un dépôt git quelconque directement ? Et que recommanderiez-vous ?</p>
<p>Merci d’avance !</p>Choisir un bon paquet de lancer de dés, message #2131312020-01-05T09:50:45+01:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213131<figure><blockquote>
<p>Je ne sais pas ce que fait babel mais je le vois souvent en tant que dépendance. Ça rejoint le dernier point de <a href="/membres/voir/Spacefox/" rel="nofollow" class="ping ping-link">@<span class="ping-username">Spacefox</span></a> qui est la recherche du nombre de dépendance le plus faible. C’est encore plus le cas quand il s’agit de paquet « simple » comme ce type. Si certains paquet n’ont pas de dépendance pour le lancer de dés, alors il est possible de faire sans. Encore, s’il s’agit d’une petite dépendance qui ne dépend pas encore d’autre chose, pourquoi pas, mais si on rajoute les cascades, je n’en veux pas pour quelque chose de petit.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213126">Helmasaur</a></figcaption></figure>
<p>Babel convertit tout le code Javascript supérieur à ECMAScript 2015+ en ES2015 pour assurer la compatibilité pour les plus vieilles version de node (ou du navigateur). C’est pour ça que je décris ce module comme une commande plutôt qu’une bibliothèque qui va ajouter une API ou un framework.</p>Choisir un bon paquet de lancer de dés, message #2131282020-01-05T03:06:09+01:00SpaceFox/@SpaceFoxhttps://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213128<p>En fait tu as deux façons de tirer un dé.</p>
<ul>
<li>Soit « naturellement » : tu choisis un entier qui correspond au résultat du dé,</li>
<li>Soit de façon probabiliste : tu connais d’avance la fonction de répartition des résultats, tu tires un nombre dans les valeurs possibles pour cette fonction (entre 0 et 1 si tu as normalisé ta fonction dans cet intervalle) et ça te sors l’information voulue. <a href="https://anydice.com/">AnyDice</a> permet de visualiser et de récupérer les pourcentages de telles fonctions si tu n’as pas envie de faire les calculs.</li>
</ul>
<p>Par exemple, avec une fonction <code>1d4</code> normalisée pour un tirage entre 0 et 1 :</p>
<ul>
<li>Tu sais qu’entre 0 et 0.25 tu as 1, entre 0.25 et 0.50 tu as 2, etc.</li>
<li>Ou tu sais que si tu dois faire <code>2+</code>, tu dois tirer un nombre supérieur à 0.25,</li>
<li>Ou tu sais que si tu dois faire moins de 3, tu dois tirer un nombre inférieur à 0.50,</li>
<li>etc.</li>
</ul>
<p>Alors évidemment pour un seul dé, ça n’a absolument aucun intérêt.</p>
<p>Par contre, ça devient intéressant dès que tu dois lancer des brouettes de dés, parce que tu n’a besoin de calculer qu’une seule fois cette fonction, puis de faire un seul tirage quel que soit le nombre de dés à « lancers » dans le jeu demandé. Par exemple, si tu as besoin de lancer <code>1000d6</code>, et d’en faire la somme, tu n’as qu’un nombre aléatoire à génerer avec lequel tu fais tes calculs, au lieu de sommer les résultats de la génération de 1000 nombres aléatoires. C’est surtout important si :</p>
<ul>
<li>Ta fonction de nombres aléatoires est lente,</li>
<li>Si tu laisses les utilisateurs jouer avec le système (et donc qu’un petit malin tente de calculer la somme d’un milliard de dés, pour voir)</li>
</ul>Choisir un bon paquet de lancer de dés, message #2131262020-01-05T02:08:44+01:00Helmasaur/@Helmasaurhttps://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213126<p>Je n’avais pas du tout penser à vérifier à licence alors que c’est essentiel (non pas au niveau fonctionnel au niveau légal).</p>
<figure><blockquote>
<ul>
<li>Si tu as besoin de faire beaucoup de lancers et/ou de performance, il te faut un paquet qui <a href="https://anydice.com/">calcule la distribution et fait un seul tirage</a> au lieu de faire un « random » par « dé » (je crois que c’est le cas d’aucune de celles que tu cites)</li>
</ul>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213110">SpaceFox</a></figcaption></figure>
<p>Sinon, il y a ce point que je n’ai pas compris. ̈Pourrais-tu me l’expliquer ?</p>
<p>Concernant les autres points, je vais essayer de voir avec les paquets que j’ai cité ce qui m’arrange le plus.</p>
<figure><blockquote>
<p>C’est agaçant les plugins avec babel quand on utilise une version récente de node… Pour moi c’est éliminatoire.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213120">A-312</a></figcaption></figure>
<p>Je ne sais pas ce que fait babel mais je le vois souvent en tant que dépendance. Ça rejoint le dernier point de <a href="/membres/voir/Spacefox/" rel="nofollow" class="ping ping-link">@<span class="ping-username">Spacefox</span></a> qui est la recherche du nombre de dépendance le plus faible. C’est encore plus le cas quand il s’agit de paquet « simple » comme ce type. Si certains paquet n’ont pas de dépendance pour le lancer de dés, alors il est possible de faire sans. Encore, s’il s’agit d’une petite dépendance qui ne dépend pas encore d’autre chose, pourquoi pas, mais si on rajoute les cascades, je n’en veux pas pour quelque chose de petit.</p>
<p>C’est bien d’avoir des gestionnaires de paquets mais en trouvant autant faisant la même chose, je trouve cela dommage. Il serait tellement mieux que chacun travaille sur quelques paquets pour avoir la chose la plus optimisée et maintenue. Mais bon, ce n’est pas comme ça…</p>Choisir un bon paquet de lancer de dés, message #2131202020-01-04T22:46:22+01:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213120<blockquote>
<p>Une mention spéciale pour <a href="https://www.npmjs.com/package/dice-roller-dnd">dice-roller-dnd</a> qui s’utilise d’une manière qui me plaît bien mais par contre, il y a des dépendances.</p>
</blockquote>
<p>C’est agaçant les plugins avec babel quand on utilise une version récente de node… Pour moi c’est éliminatoire.</p>
<p><em>(Bien qu’on peut facilement forker le projet et enlever ces deps qui sont plus des commandes que des bibliothèques/api).</em></p>Choisir un bon paquet de lancer de dés, message #2131102020-01-04T19:51:15+01:00SpaceFox/@SpaceFoxhttps://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213110<p>Je pense que ça dépend surtout de ce que tu veux en faire ?</p>
<ul>
<li>Tu as besoin d’un paquet dont la licence est compatible avec ton projet.</li>
<li>Si tu as besoin de lire des entrées arbitraires de la part de l’utilisateur (du type <code>4d12+42</code> avec une syntaxe pas toujours très propre), il te faut un paquet qui permet de lire ce genre de syntaxe sans être trop chiant.</li>
<li>Si tu as besoin de faire beaucoup de lancers et/ou de performance, il te faut un paquet qui <a href="https://anydice.com/">calcule la distribution et fait un seul tirage</a> au lieu de faire un « random » par « dé » (je crois que c’est le cas d’aucune de celles que tu cites).</li>
<li>Si tu as besoin de validations spéciales, il te faut un paquet que le supporte.</li>
<li>Si tu as des contraintes fortes sur la compatibilité ou la taille du paquet, elles sont à prendre en compte (et leurs dépendances).</li>
<li>Etc.</li>
</ul>Choisir un bon paquet de lancer de dés, message #2131062020-01-04T19:38:12+01:00Helmasaur/@Helmasaurhttps://zestedesavoir.com/forums/sujet/13440/choisir-un-bon-paquet-de-lancer-de-des/?page=1#p213106<p>Bonsoir,</p>
<p>Cela fait quelques temps que j’avais écrit ce sujet sans le poster. En fait, je cherche un module de lancer de dés sur npm. Or, il y en a tellement que je ne sais pas ver quoi me tourner. Je fais attention à trois choses :</p>
<ul>
<li>la date de dernière publication</li>
<li>le numéro de version</li>
<li>les dépendances</li>
</ul>
<p>En utilisant les mots clés « dice », je pense que les meilleurs choix se portent sur :</p>
<ul>
<li><a href="https://www.npmjs.com/package/trpg-dice">trpg-dice</a></li>
<li><a href="https://www.npmjs.com/package/mini-dice">mini-dice</a></li>
<li><a href="https://www.npmjs.com/package/dice-notation-js">dice-notation-js</a></li>
</ul>
<p>Une mention spéciale pour <a href="https://www.npmjs.com/package/dice-roller-dnd">dice-roller-dnd</a> qui s’utilise d’une manière qui me plaît bien mais par contre, il y a des dépendances.</p>
<p>Quels conseils pouvez-vous me donner pour choisir un bon module (en général avec ce cas particulier comme exemple ?</p>Quel module dois-je utiliser pour générer de la documentation ?, message #2084962019-09-11T14:17:09+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/12876/quel-module-dois-je-utiliser-pour-generer-de-la-documentation/?page=1#p208496<figure><img src="/media/galleries/6585/6a291d46-5c14-43d5-9727-9dcf5326f481.png" alt="image.png"><figcaption>image.png</figcaption></figure>
<p>Une vrai catastrophe jsdoc + docdash, c’est de l’a peu près… <img src="/static/smileys/triste.png" alt=":(" class="smiley"> (J’en suis déjà à 2 PR)</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-puppet">/**
* Create the App Server with express.
*
* @name AppExpress.createAppServer
* @<span class="hljs-keyword">param</span> {eventEmitter} <span class="hljs-keyword">eventEmitter</span> <span class="hljs-keyword">eventEmitter</span>
* @<span class="hljs-keyword">return</span> {Express} <span class="hljs-keyword">Returns</span> <span class="hljs-keyword">a</span> <span class="hljs-keyword">new</span> <span class="hljs-keyword">instance</span> <span class="hljs-keyword">of</span> <span class="hljs-keyword">Express</span>.
*/
AppExpress.prototype.createAppServer = function(eventEmitter) {
</code></pre></div>
<p>Je suis obligé de forcer le nom avec <code>AppExpress.createAppServer</code> sinon j’ai <code>AppExpress#createAppServer</code> mais je perd le paramètre… <img src="/static/smileys/triste.png" alt=":(" class="smiley"></p>
<p><strong>EDIT :</strong> Je dois forcer le truc avec : <code>* @function</code></p>Quel module dois-je utiliser pour générer de la documentation ?, message #2084612019-09-10T08:11:06+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/12876/quel-module-dois-je-utiliser-pour-generer-de-la-documentation/?page=1#p208461<p>Comment je m’y prend pour créer une branche gh-pages vide ?</p>Serverline : Avoir l'input et l'output en même temps, message #2083222019-09-05T14:31:44+02:00Shikamarus_Shadows/@Shikamarus_Shadowshttps://zestedesavoir.com/forums/sujet/12889/serverline-avoir-linput-et-loutput-en-meme-temps/?page=1#p208322<p>Merci <img src="/static/smileys/hihi.png" alt="^^" class="smiley"></p>Serverline : Avoir l'input et l'output en même temps, message #2083162019-09-05T13:59:36+02:00entwanne/@entwannehttps://zestedesavoir.com/forums/sujet/12889/serverline-avoir-linput-et-loutput-en-meme-temps/?page=1#p208316<figure><blockquote>
<p>Le module est propre à js mais son fonctionemment serait reproductible dans n’importe quel langage non ?</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/12889/serverline-avoir-linput-et-loutput-en-meme-temps/?page=1#p208303">Shikamarus_Shadows</a></figcaption></figure>
<p>Comme je disais tu as <code>rlwrap</code> qui fait en partie cela, juste qu’il n’a pas moyen d’identifier le prompt donc il le traite comme n’importe quel texte, mais la zone de saisie reste sur la dernière ligne de l’écran, non mélangée à la sortie.</p>
<p>Et ça gère d’autres fonctionnalités comme l’édition de ligne et l’historique.</p>Serverline : Avoir l'input et l'output en même temps, message #2083062019-09-05T11:46:37+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/12889/serverline-avoir-linput-et-loutput-en-meme-temps/?page=1#p208306<figure><blockquote>
<p>Le module est propre à js mais son fonctionemment serait reproductible dans n’importe quel langage non ?</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/12889/serverline-avoir-linput-et-loutput-en-meme-temps/?page=1#p208303">Shikamarus_Shadows</a></figcaption></figure>
<p>Oui, il suffit d’utiliser la logique des 3 lignes que j’ai cité <img src="/static/smileys/smile.png" alt=":)" class="smiley"> Par contre, le plus compliqué est dans le refresh du prompt selon le langage. <img src="/static/smileys/clin.png" alt=";)" class="smiley"></p>Serverline : Avoir l'input et l'output en même temps, message #2083032019-09-05T11:30:12+02:00Shikamarus_Shadows/@Shikamarus_Shadowshttps://zestedesavoir.com/forums/sujet/12889/serverline-avoir-linput-et-loutput-en-meme-temps/?page=1#p208303<p>Le module est propre à js mais son fonctionemment serait reproductible dans n’importe quel langage non ?</p>