DéveloppeursDocsFournisseurs
Yeria
Documentation

Introduction

Ce que fait Yeria et ce que le SDK attend de votre backend.

Référence du SDK Yeria, disponible pour JavaScript/TypeScript (@numerum-tech/yeriasdk) et Python (yeriasdk). Les deux implémentations signent de façon byte-identique : une vue construite dans l'une se vérifie dans l'autre.

Chaque spécification de composant contient :

  • Description du composant : rôle, cas d'usage et principes de conception
  • Tableau des champs : référence complète avec types, exigences et descriptions
  • Exemples de code : cas concrets d'utilisation du composant

Par où commencer

  • Intégration provider — de bout en bout : générer votre paire de clés Ed25519, l'enregistrer, vérifier les jetons utilisateurs entrants, récupérer les profils. À lire en premier.
  • YeriaUI & YeriaApp — les deux points d'entrée du SDK. YeriaUI construit les vues (sans clé) ; YeriaApp détient votre clé et signe.

Les vues disponibles

Formulaires

  • FormView — formulaires dynamiques : types de champs variés, règles de validation, action de soumission. Gère le texte, l'e-mail, le mot de passe, les nombres, les dates, les listes déroulantes, l'envoi de fichiers, les coordonnées GPS et davantage.

Affichage de contenu

  • ReaderView — affichage de contenu riche destiné à la lecture. Gère les paragraphes, images, contenus Markdown, listes, liens, tableaux, blocs de code, citations et éléments personnalisés.
  • CardView — fiche compacte mettant en avant un élément unique, avec statistiques, sections et actions. Adaptée à une fiche produit, un profil utilisateur ou le détail d'un événement.
  • CarouselView — carrousel pour mettre en avant un contenu, une annonce ou une promotion. Gère le défilement automatique, la boucle et des réglages d'affichage.
  • TimelineView — frise chronologique pour suivre une progression, des étapes d'inscription ou un fil d'activité. Gère les indicateurs d'état (en attente, actif, terminé, erreur).
  • MediaView — lecteur audio et vidéo avec liste de lecture. Gère plusieurs sources, les affiches et les contrôles de lecture.
  • MapView — carte géographique avec marqueurs, cadrage, contrôles et surcouches. Le backend fournit les données, le moteur de rendu gère le style et les interactions.

Actions

  • ActionListView — liste verticale d'actions pour un menu de navigation, une liste de fonctionnalités ou un centre de commandes. Chaque action peut porter un titre, une description, une vignette et des métadonnées.
  • ActionGridView — grille d'actions pour un tableau de bord ou une navigation par icônes. Nombre de colonnes (1 à 6) et espacement configurables.
  • IconGridView — grille d'icônes compacte, pour une navigation dense où l'icône prime.

Codes QR

  • QRScanView — interface de scan de code QR. L'application mobile implémente le scanner ; la vue décrit quoi scanner et où soumettre. Gère la soumission automatique, la validation et les modes d'aperçu.
  • QRDisplayView — affichage de codes QR pour partager un code d'accès, un billet ou une information de paiement. Gère plusieurs codes, chacun avec son titre, sa description et ses options.

Messages

  • MessageView — affichage de message, notification ou alerte. Gère les niveaux de gravité (information, succès, avertissement, erreur) avec une action principale et une action secondaire. Peut être fermable ou exiger une réponse de l'utilisateur.

Utilisation

Chaque spécification fournit :

  1. La référence complète des champs — tous les champs disponibles avec leur type, leur exigence et leur description
  2. Des exemples concrets — du code réel montrant comment utiliser le composant
  3. Les bonnes pratiques — principes de conception et conventions propres à chaque type de vue

Démarrage rapide

Construire une vue ne demande aucune clé ; la signer, si. C'est pourquoi les deux étapes vivent sur deux objets distincts.

javascript
1import { YeriaUI, YeriaApp } from '@numerum-tech/yeriasdk';
2
3// Détient votre clé privée Ed25519 — signe, vérifie, dialogue avec Yeria.
4const app = new YeriaApp({
5    appId: 'my-app',
6    baseUrl: process.env.YERIA_BASE_URL,
7    privateKey: process.env.SERVICE_ED25519_PRIVATE_KEY,
8});
9
10// Fabrique sans clé — jamais instanciée, utilisée comme Math ou JSON.
11const form = YeriaUI.createFormView('registration', 'User Registration')
12    .addTextField('name', 'Name', true)
13    .submitButton('Register', 'POST');
14
15// Signature en enveloppe v3 : { payload, signature }
16res.json(app.serve(form));

En Python, même protocole :

python
1from yeriasdk import YeriaApp, YeriaAppConfig, YeriaUI
2
3app = YeriaApp(YeriaAppConfig(
4    app_id="my-app",
5    base_url=os.environ["YERIA_BASE_URL"],
6    private_key=os.environ["SERVICE_ED25519_PRIVATE_KEY"],
7))
8
9form = (YeriaUI.create_form_view("registration", "User Registration")
10        .add_text_field("name", "Name", True)
11        .submit_button("Register", "POST"))
12
13envelope = app.serve(form)

Pour le détail de chaque composant, reportez-vous aux spécifications listées ci-dessus.