Cookies

Utilisation des cookies

Pour le bon fonctionnement du site, nous utilisons des cookies techniques qui permettent de gérer votre connexion.
Nous utilisons des cookies Google Analytics pour le suivi anonyme de la navigation. Vous pouvez désactiver ces derniers à tout moment ici.

Confirmation

Par défaut, nous conservons votre acceptation durant 13 mois.
Gérez vos cookies ici.



Personnaliser

Black Book Éditions, le site de référence des jeux de rôle

[COF] Liste des ressources 371

Forums > Jeux de rôle > JdR Black Book > Chroniques Oubliées

avatar
TricheLumiere

Salut TricheLumiere,

j'ai une question sur ton API: pourquoi tu as autant de propriétés qui doivent encore être parsés après ?

Tu as beaucoup de choses qui sont définis pour être "human readable" mais ce n'est pas pratique d'un point de vu algorithmique, par exemple :

  • code : pourquoi n'est-ce pas un id ou uuid plutôt qu'une chaîne de caractère ?
  • categorie : pourquoi n'est ce pas un tableau d'objets de la forme => "categorie" : [{"id" : 1, "name" : "Armures"}]
  • props : ce devrait être un tableau d'objets => "props: : [ {"DEF" : 3}, {"RD" : 2} ]
  • maitrise_par : même chose, cela devrait être un tableau de chaînes de caractères à minima => "maitrise_par" => ["Arquebusier", "Barde", ...]. Une meilleure version serait de ne retourner qu'un tableau d'id de profils avec une option "expand_profiles" dans la requête qui, si elle est vrai, extrapole en un tableau d'objets contenant les informations de profil de la DB (cela évite un appel API mais retourne beaucoup plus de données, optimisation en temps pas en volume).

D'une manière générale tu devrais garder les chaînes de caractères compréhensible par des humains uniquement pour les infos qui vont être affichés sans traitement. Si traitement il doit y avoir, le but d'une API c'est de simplifier la vie du programmeur. Si je dois écrire des parsers de strings pour utiliser ton API je ne vais pas le faire car celà me met à la merci d'un changement de format ou d'encodage et c'est une plaie à maintenir (tu pourrais vouloir changer le '~' en ',,' par exemple et l'erreur que je recevrais ne m'indique en rien ce qu'il se passe côté API puisque ce sera une erreur de parsing).

Voilà mes 2 cents !

PS: Merci de ton travail c'est top !

avatar

Salut

Merci pour tes remarques, mais :

  • Personne n'a jamais dit qu'une clef primaire devait forcément être une clef technique sous forme d'entier qui s'incrémente tout seul à chaque insertion. Quand j'ai commencé il y a 30 ans, il n'y avait pas de SGBDR qui faisait le boulot, tu choisissais une clef primaire parmi les clefs candidates de ton fichier et en général c'était une clef sémantique (un code client, un no de compte comptable, etc -- et oui, on travaillait presque toujours avec des système de fichiers ISAM). Je me suis construit un petit back-end en PHP pour alimenter la base MySQL exploitée par l'API, mais je n'ai pas tout codé, il m'arrive de faire des INSERT à la main parce que je vais plus vite comme ça, et c'est plus simple pour ma pauvre cervelle fatiguée de manipuler un slug de type 'epee-deux-mains' plutôt que '123' ou '000102030405060708090a0b0c0d0e0f'
  • Pourquoi mettre un tableau d'objet ? Un équipement est dans une catégorie et une seule dans ma BD (je n'ai pas vu la même arme ou la même armure dans plusieurs tableaux différents dans les règles de CO). Je modélise ce qui existe.
  • Pourquoi les propriétés sont sous cette forme ? Parce que le flux retourné est la conversion en JSON du resultset d'une requête SQL, dans laquelle je fais un group by et un group_concat().
  • Même chose pour les maitrises, j'ai d'ailleurs découvert group_concat(distinct ...) hier en faisant des recherches pour ajouter ce dont cofbazar avait besoin.

Je sais que cette API n'est peut-être pas tip top moumoute, mais déjà elle a le mérite d'exister parce que je suis allé au-delà du "j'y ai pensé mais j'ai rien commencé". De plus je l'ai construite au départ pour répondre à mon application cliente Chroniques Mobiles qui pour l'instant fait un .split() sur les quelques champs qui le nécessitent.

Maintenant, si tu connais le moyen de créer des flux JSON plus structurés (avec des champs qui sont des objets ou des tableaux d'objet comme tu le souhaites) à partir d'une simple requête SQL, je suis preneur. Je n'ai pas commencé à creuser les pistes d'amélioration, mais si tu as la connaissance et que tu souhaites la partager, n'hésites pas (en MP pour que ce forum ne tourne pas au cours d'informatique).

Si tu préfères ignorer mon API et construire la tienne, libre à toi. Je peux te fournir la BD si tu en as besoin.

Bien à toi

Stéphane

avatar

Bonjour clin d'oeil

Et si vous créez un fil exprès pour cette appli et votre discussion, ne serait-ce pas plus pratique ?

Merci !

Ce message a reçu 1 réponse de
  • TricheLumiere
avatar
Hamilcar-35359

C'est fait, ça se passe par ici.

avatar

Désolé effectivement ça n'a rien à faire ici.

avatar

Ajout de :

avatar

Bonjour,

Je ne sais pas si c'est bien le lieu, mais je souhaite signaler une grosse mise à jour de cofbazar.

Au menu des changements :

  • Ajout de l'onglet cartes pour la génération des cartes d'équipement (Uniquement les objets de type arme et armure sont disponibles pour l'instant)
  • Ajout de l'onglet ressources contenant :
    • Une feuille de personnage permettant de placer les cartes equipements sur son personnage
    • La signification de tous les icones utilisés dans l'interface, les cartes ou la feuille de peronnage
  • Sur l'interface principale :
    • Ajout des boutons permettant de réinitialiser les filtres, vider le panier, ajouter tous les éléments visibles au panier
    • Ajout du champ de saisie pour filtrer par nom d'objet

Comme toujours, remarques, encouragements, idées et corrections sont les bienvenues !

Bonne fin de week-end

Christophe

PS : Pour la génération des cartes, il est préférable d'utiliser le navigateur chrome

avatar

Bonjour,

Je ne sais pas si c'est bien le lieu, mais je souhaite signaler une grosse mise à jour de cofbazar.

cofbazar

Yep, c'est la place ! clin d'oeil

Et ça fait remonter le sujet pour le rendre plus visible !

Et ça peut permettre à certains de le découvrir !

avatar

Bonjour,

Encore quelques modlfs cette semaine sur cofbazar:

  • Ajout des cartes d'anneaux de protection
  • Ajout des cartes de capes de protection
  • Ajout des cartes de robes de mage
  • Ajout des cartes de casques
  • Ajout des cartes de boucliers
  • Ajout des cartes de materiels
  • Ajout des cartes pour les armures (finalisation)
  • Ajout des cartes pour les bracelets de defense

Bon week-end

Christophe

avatar

Bonjour,

J'ai fait une adaptation des Chroniques pour un monde aquatique : Malik'han, Chroniques Océanes. J'ai créé un fil spécifique pour partager les fichiers et échanger d'une façon générale sur cette adaptation.

A bientôt et merci pour ce que vous faites (c'est en partie grâce à la dynamique de la communauté que je me suis mis à cette adaptation)

Ce message a reçu 1 réponse de
  • Boze
avatar
Okeran

D'après ce que j'ai vu, rapidement, c'est pour du CO Contemporain que tu as fait ça, non ? Auquel cas il y a un fil dédié pour les ressources COC ! clin d'oeil

Ce message a reçu 1 réponse de
  • Okeran
avatar

J'aurai du le faire plus tôt (mea culpagêné), j'ai ajouté ça en début du topic :

Cousinade : lien vers les ressources pour Chroniques Oubliées Contemporain

avatar
Boze

Désolé, je change de crémerie !

merci

avatar

Bonjour,

Encore quelques ajouts cette semaine sur cofbazar:

  • Ajout des cartes de baguettes
  • Ajout des cartes de parchemins
  • Ajouts des cartes de potion

Bon week-end

Christophe

avatar

Salut !

Je partage ici un google doc avec tous les profils customs que j'ai accumulé ces derniers mois.

@Boze, si tu considères que c'est un ajout pertinent, n'hésite pas à l'intégrer sur la liste des ressources de profil !

https://docs.google.com/document/d/1CgNJkTW17Z_vYE7xAdhd5wz9G9mMNgS60LagOJkwhZo/edit?usp=sharing

Certains des profils sont un peu OP, et certaines voies conviennent sans doute plus à des voies de prestige, mais bon le jeu originel est-il vraiment équilibré ? plaisantin Chaque profil propose un assortiment de voies de personnage, avec 1 ou plus voie complètement originales, bien que parfois combinant des pouvoirs existants.

Pour comprendre un peu certaines règles:

  • J'utilise un système 3d6 décrit ici: forums.php?topic_id=16253&tid=377974#msg377974
  • J'uilise le système d'init variable décrit dans COC pour le cyberpunk (ce qui explique l'importance donnée à l'Init dans certains profils)
  • Je divise par 2 de base toutes les vitesses de déplacment pour les aligner sur DnD
  • J'utilise les attaques différenciées décrites p. 174 des règles
  • J'utilise les points de récupération, mais pas la mana
  • J'utilise des points de chance qui se récupèrent aussi vite que ceux de récupération, mais ne confèrent qu'un bonus de +1d6 à un test

Voilà en espérant que ça vous plaira !

Vous pouvez commenter directement sur le document si vous voulez, par contre je ne m'engage pas à intégrer toutes vos remarques si ça prend beaucoup trop de temps plaisantin

Bonne journée !

Ce message a reçu 1 réponse de
  • Boze
avatar
Aragon

C'est fait ! clin d'oeil

Ajout de :

avatar

Bonjour,

Voici ma contribution aux Disparus de Clairval, quelques cartes grâce à l'excellent travail de Gogots.

Vous trouverez aussi quelques Tokens prêts à être utilisés.

La suite viendra rapidement

Ce message a reçu 1 réponse de
  • Boze
avatar
Antwan

Ajouté sous la catégorie "Tables virtuelles" clin d'oeil

avatar

Bonjour,

Quelques petits ajouts (cartes comprises) cette semaine sur cofbazar:

  • Ajout des objets de quêtes 'Retour à Clairval'
  • Ajout des objets de quêtes 'Anathazerïn' chapitres 1 à 5
  • Ajout des objets de pouvoir
  • Ajout des objets de puissance
  • Ajout des munitions

Ajout de goodies lettre, messages, etc (ce qui ne tient pas sur une carte) pour la campagne Anathazerïn. A aller chercher directement dans les sections :

Bon week-end

Christophe