Devise - commentaires Devise 2020-03-12T02:17:35Z https://files.spip.net/Plugin-Devise#comment504254 2020-03-12T02:17:35Z <p>Bonjour l'hyperlien Plaztika pointe sur un site bizarre.</p> <p>Ce plugin est utilisé sur le site d'arts Plaztika, pour afficher le prix lorsqu'on sélectionne un tableau.</p> Devise 2020-03-10T18:11:21Z https://files.spip.net/Plugin-Devise#comment504241 2020-03-10T18:11:21Z <p>Bon du coup c'est compat 3.2 et passé en «<small class="fine d-inline"> </small>test<small class="fine d-inline"> </small>», comme ça c'est fait.</p> Devise 2020-03-10T14:46:53Z https://files.spip.net/Plugin-Devise#comment504232 2020-03-10T14:46:53Z <p>Hello,</p> <p>Pour info, les devises sont gérées nativement dans la v1.1 du plugin <a href="https://contrib.spip.net/4993" class="spip_out" rel='nofollow external'>API prix</a> (encore en dev, mais ça devrait bientôt être passé en stable). Il ne s'agit pas encore d'une gestion complète multi-devises, mais ça prend déjà en charge tout ce que fait ce plugin et même plus (multilinguisme complet, etc.).</p> <p>J'avais prévu de faire quelques évolutions sur le master pour le rendre au moins compatible spip 3.2 / php 7.2 (<a href="https://git.spip.net/spip-contrib-extensions/devise/commit/f2271c8917d35ee0e3ba12ef705f6eb0d15f7e27" class="spip_out" rel='nofollow external'>ça c'est fait</a>) ainsi que d'autres évolutions éventuelles, mais du coup comme tout est déjà dans Prix je vais arrêter là.</p> <p>Je pense que ça pourrait au moins être reporté dans la branche 3 (et la passer en stable).</p> <p>Quand au évolutions futures de ce plugin quelques réflexions ici : <a href="https://git.spip.net/spip-contrib-extensions/devise/wiki/evolutions#user-content-version-4" class="spip_url spip_out auto" rel="nofollow external">https://git.spip.net/spip-contrib-extensions/devise/wiki/evolutions#user-content-version-4</a></p> Devise 2012-10-05T12:00:33Z https://files.spip.net/Plugin-Devise#comment461899 2012-10-05T12:00:33Z <p>Fonctionne t il en spip 3<small class="fine d-inline"> </small>? Je ne le trouve pas<small class="fine d-inline"> </small>! Merci</p> Devise 2011-09-14T06:10:23Z https://files.spip.net/Plugin-Devise#comment449712 2011-09-14T06:10:23Z <p>En effet. C'est fait dans le dernier commit. Merci de l'indice<small class="fine d-inline"> </small>! Je vais effacer la question dans l'article, du coup.</p> Devise 2011-09-14T04:42:50Z https://files.spip.net/Plugin-Devise#comment449707 2011-09-14T04:42:50Z <p>Au sujet de «<small class="fine d-inline"> </small>saisies<small class="fine d-inline"> </small>»</p> <blockquote class="spip"> <p>Par ailleurs, dans la page de préférences d'un auteur, la sélection de la devise montre juste les codes à 3 lettres. Il serait plus agréable d'avoir les noms en toutes lettres, mais je n'ai pas trouvé de moyen de trier ça proprement.</p> </blockquote> <p>Je crois qu'il faut créer une «<small class="fine d-inline"> </small>vue<small class="fine d-inline"> </small>» correspondant au type de saisie (devise) dans le répertoire extra-vue...</p> Devise 2011-09-01T02:24:58Z https://files.spip.net/Plugin-Devise#comment449079 2011-09-01T02:24:58Z <p>Je ne comprends pas bien pourquoi le travail serait à refaire : le plugin Prix pourra (et devra) déclarer une dépendance sur le plugin Devise, ce qui lui permettra d'utiliser les chaînes de langues fournies par ce dernier.</p> Devise 2011-09-01T02:20:54Z https://files.spip.net/Plugin-Devise#comment449078 2011-09-01T02:20:54Z <p>Ah... J'avais pas remarqué que le formatage de l'affichage des prix ne tenais pas compte de la devise (en fait j'ai rencontré des boutiques du continent qui affichaient leur prix en euros —avec le symbole à droite— et en dollars américains —avec le symbole à gauche—) mais effectivement avec ton exemple la position devient un formatage national (donc une information liée à un pays ou une région)</p> <p>Je ne savais pas qu'il y avait un plugin prix, je vais y jeter un coup d'œil. Mais intégrer la position du montant dans doit se faire dans la chaine de langue ou alors les autres plugins seront obligés de dupliquer le travailler pour pouvoir faire une bonne intégration (même si c'est logiquement au plugin prix de proposer un filtre ou une balise associant montant et nom de devise, ce qui est un autre aspect qui ne devra qu'exploiter ces chaines de langue)</p> Devise 2011-09-01T02:03:51Z https://files.spip.net/Plugin-Devise#comment449077 2011-09-01T02:03:51Z <p>Je n'avais pas vu le champ position dans ta structure de table. Attention, une devise et un pays sont deux choses différentes, et la position du symbole monétaire est fonction du pays, pas de la devise. Par exemple certains pays écrivent « € 3.25 ».</p> <p>Quant aux formatages de montants, je crois vraiment que <var><:devise:s_EUR :></var> doit continuer à renvoyer « euro » tout court, et comme tu le dis ça serait le rôle d'un filtre <var>|montant</var> de présenter ça. Par contre, tout cela est hors du rôle du plugin Devises, d'autant plus qu'un plugin Prix existe<small class="fine d-inline"> </small>; il n'intègre pas encore la notion de devise (il présuppose que tout est en euros), mais ses auteurs comptent changer ça. C'est donc sur ce plugin qu'il faut travailler si tu veux intégrer tes idées (bonnes au demeurant).</p> Devise 2011-09-01T01:57:34Z https://files.spip.net/Plugin-Devise#comment449076 2011-09-01T01:57:34Z <p>C'est vrai pour le nouveau fil... En fait le sujet ayant été abordé, j'ai enchainé sans trop réfléchir... Et entre temps j'ai complété ma réponse avant de voir la tienne.</p> <p>C'est vrai aussi qu'il s'agit de constantes et que je suis sceptique aussi quand au fait de mettre en base, mais on manque de recul pour savoir ce qui est mieux (utiliser plus de ram et d'accès disques ou faire plus de requêtes SQL —ceci semble très à la mode quand je vois que de plus en plus de cms mettent quasiment tout en base...) Je pense que pays et devises vont servir de cas concret pour comparer les deux approches (théoriquement ils se défendent et ont leurs faiblesses) Pour ce qui est de la maintenabilité en bdd, c'est je pense lié à la structure qui fait un peu bloc pour être simple à l'usage (ce qu'on gagne d'un côté on le perd de l'autre<small class="fine d-inline"> </small>?)</p> Devise 2011-09-01T01:46:47Z https://files.spip.net/Plugin-Devise#comment449075 2011-09-01T01:46:47Z <p>Le champ <code class="spip_code spip_code_inline" dir="ltr">position</code> que je suggère dans la table indiquerait l'emplacement du symbole monétaire par rapport au nombre (en France par exemple on <var>12 €</var> et aux États-Unis on a <var>$ 12</var>). Il serait donc bien que l'information soit disponible si certains veulent l'utiliser pour mieux localiser leur affichage.</p> <p>Par contre, quand on utilise le nom complet, la position de celle-ci dépend de la langue (en français comme en anglais on a bien <var>12 euros/dollars/pesos/...</var> mais dans d'autres langues ce sera <var>euros/dollars/pesos/... 12</var>) Cette information, lorsqu'on utilise les fichiers de langue doit être présente... Donc il serait plus pertinent que. par exemple, <code class="spip_code spip_code_inline" dir="ltr"><:devise:s_EUR:></code> revoie directement <code class="spip_code spip_code_inline" dir="ltr">un euro</code> en français et <code class="spip_code spip_code_inline" dir="ltr">one euro</code> en anglais (enfin, l'idéal quand on a des nombres inférieurs à cent et qui ne sont pas trop long en texte, ou quand il s'agit juste d'un chiffre est de l'écrire en toutes lettres...)<small class="fine d-inline"> </small>; tandis que <code class="spip_code spip_code_inline" dir="ltr"><:devise:p_EUR:></code> sera alors dans les deux cas <code class="spip_code spip_code_inline" dir="ltr">@nbr@ euros</code><br class="manualbr">Par rapport à cela, il serait bien d'avoir un filtre <code class="spip_code spip_code_inline" dir="ltr">|montant_devise</code> qui comme son nom l'indique recevra un nombre et un code (idéalement dans cet ordre pour correspondre à son nom) et qui en fait ferait pour cet exemple <code class="spip_code spip_code_inline" dir="ltr">[(#NOMBRE|singulier_ou_pluriel{devise:s_EUR, devise:p_EUR, nbr})]</code> <br class="manualbr">Ou au lieu d'un filtre, on peut envisager plutôt une balise dynamique <code class="spip_code spip_code_inline" dir="ltr">#MONTANT_DEVISE{code_devise,montant}</code> (il revoie directement le singulier si le montant est 1 ou 0 et le pluriel sinon) voir mieux : <code class="spip_code spip_code_inline" dir="ltr">#MONTANT_DEVISE{code_devise,montant_facultatif}</code> (quand le montant est omis, on renvoie juste le nom de la devise, ici comme si on avait fait <code class="spip_code spip_code_inline" dir="ltr"><:devise:EUR:></code>) <br class="manualbr">Finalement, les fichiers de langue peuvent permettre des trucs intéressants<small class="fine d-inline"> </small>; et le plugin peut être très utile sans avoir à gérer les les liaisons avec les différents objets (ce qui en soit n'a pas de sens puisqu'il ne s'agit pas d'un objet à lier à d'autres mais juste des données à exploiter)</p> Devise 2011-09-01T01:32:39Z https://files.spip.net/Plugin-Devise#comment449073 2011-09-01T01:32:39Z <p>Je n'aime pas l'approche du plugin Pays justement, car selon moi la base de données ne doit pas servir à fournir des constantes, et par ailleurs passer par multi est tout sauf maintenable.</p> <p>Pour ces raisons je préfère passer par des fichiers de langue, mais ça pose quand même la question de l'utilisation en RAM (mais il faudrait faire des tests pour voir si c'est si horrible que ça). SPIP manque d'un mécanisme pour gérer ce genre de listes (pays et devises sont deux bons exemples de ce besoin).</p> <p>Par contre, tu aurais dû créer un nouveau fil pour ce point, car ça n'a rien à voir avec le sujet initial.</p> Devise 2011-09-01T01:02:39Z https://files.spip.net/Plugin-Devise#comment449072 2011-09-01T01:02:39Z <p>Pour la table en bdd, on peut (comme le fait le plugin pays) avoir simplement</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>spip_devises( code CHAR(3 NOT NULL), nom TEXT NOT NULL, symbole VARCHAR(10) NOT NULL, position BOOL, PRIMARY KEY(code) )</code></pre></div> <p>où <code class="spip_code spip_code_inline" dir="ltr">nom</code> contient <code class="spip_code spip_code_inline" dir="ltr"><multi>[fr]nom en français[en]english name[??]...</multi></code>. Du coup on récupère le nom et/ou le symbole (qui sera l'entité HTML nommé ou en code décimal car toutes les bases et tous les sites ne sont pas forcément en Unicode —UTF8 ou autre) dans une petite boucle à laquelle on passe le code <tt> :-)</tt></p> <p>Mais l'approche par fichier de langue est intéressante aussi (et peut-être meilleure à l'usage car utilisable aussi bien dans les squelettes SPIP via <code class="spip_code spip_code_inline" dir="ltr"><:devise:le_code:</code> qu'en PHP avec <code class="spip_code spip_code_inline" dir="ltr">:_T('devise/le_code')</code>...)</p> Devise 2011-09-01T00:47:09Z https://files.spip.net/Plugin-Devise#comment449071 2011-09-01T00:47:09Z <p>Et oui, on peut avoir besoin des devises sur tous les objets : articles/produits, catégories/rubriques, auteur/(re)vendeur/fournisseur/client/acheteur, etc. Et pour l'interface, je pense qu'il faut faire pareil pour ces trois objets de base (auteurs, articles, rubriques) : ajouter un champ et le gérer via ChampsExtra2 <tt> :-)</tt> Ceci dit, il ne faut pas trop se préoccuper de l'interface car c'est à chaque plugin de proposer l'interface qui lui convient<small class="fine d-inline"> </small>; je vois plus ce plugin comme une brique logicielle pour avoir centraliser la traduction des noms et les proposer aux plugins qui utilisent les codes monétaires ISO, un peu comme le fait le plugin pays. <tt> :-)</tt> (qui ne gère pas de tables de liaison<small class="fine d-inline"> </small>!) <br class="manualbr">La variable/valeur globale/méta permettra juste d'avoir une devise pour tout le site, utile pour ceux qui n'ont pas besoin d'avoir des devises différentes pour chaque auteur ou article (tous les besoins étant possibles)</p> Devise 2011-08-31T20:31:31Z https://files.spip.net/Plugin-Devise#comment449064 2011-08-31T20:31:31Z <p>Oui. Il va y avoir aussi le besoin d'avoir des devises sur les produits (voir plugin Produits en cours de développement).</p> <p>Peut-être que le plus pertinent serait une table <i>spip_devises</i> avec des champs <i>objet</i>, <i>id_objet</i>, <i>devise</i>, pour généraliser à la fois :</p> <ul class="spip"><li> les devises par auteur (choix somme toute très arbitraire, correspondant à mon besoin propre),</li><li> les devises sur les produits,</li><li> les devises sur les rubriques, où la devise du site reviendrait à poser une devise sur la rubrique 0,</li><li> et plus généralement sur tous types d'objets, par exemple tout bêtement par article si quelqu'un en a le besoin</li></ul> <p>Par contre en termes d'interface dans l'espace privé il faut réfléchir à comment présenter ça...</p> Devise 2011-08-31T13:14:25Z https://files.spip.net/Plugin-Devise#comment449044 2011-08-31T13:14:25Z <p>outre les auteurs, ne serait-il pas pertinent d'avoir une devise globale (pour tout le site) configurable (enregistré comme méta) qui serait la devise par défaut<small class="fine d-inline"> </small>? (valeur de la balise employée hors contexte ou si pas de devise spécifiée)</p>