Documentation

Tout ce qu'il faut pour créer, faire évoluer et gérer une app StreakApps. Besoin d'un exemple complet ? Va voir les cas d'usage.

Créer une app

Sur le portail, clique « Créer mon app », choisis un nom disponible : ton app vivra sur ton-nom.streakapps.com. « Réclamer » (enrôler) une app la lie à ton identité — tu en deviens propriétaire.

  1. Choisis un nom (minuscules, chiffres, tirets).
  2. Identifie-toi (wallet ou email) — tu reçois un bonus de bienvenue.
  3. Tu arrives sur ton app, prêt à parler à gl1tch.

Connexion

Deux façons de t'identifier :

  • Wallet (MetaMask) — un porte-clés dans ton navigateur. Aucun mot de passe : tu signes pour prouver que c'est toi. Guide MetaMask →
  • Email — email + mot de passe classiques. Un wallet « custodial » est créé et géré pour toi automatiquement.

Le propriétaire d'une app est le wallet qui l'a réclamée. Une même connexion vaut pour toutes tes apps.

Parler à gl1tch

gl1tch est l'agent IA qui fabrique ton app. Ouvre le widget de chat (en bas à droite de ton app, visible par le propriétaire) et décris ce que tu veux — en français, simplement.

  • Il écrit le code (HTML/CSS/JS) et le met en ligne en direct.
  • Tu ajustes en continuant la conversation (« mets le titre en vert », « ajoute un bouton »).
  • Chaque tour est versionné : depuis /admin, tu vois l'historique et tu peux restaurer une version antérieure en un clic.
Bon à savoir : gl1tch construit ton app ; l'assistant d'aide (bouton « 💬 Aide », présent sur le site) ne construit rien — il t'explique juste comment utiliser la plateforme.

Données

Chaque app a deux tiers de données, sans rien à installer. gl1tch écrit les requêtes pour toi ; voici ce qui se passe sous le capot.

Base privée (par visiteur)

Une base SQLite par utilisateur : chacun garde ses propres données (préférences, brouillons, suivi perso). Personne ne voit la base d'un autre.

await fetch('/_app/db/exec', {
  method: 'POST',
  body: JSON.stringify({
    sql: 'INSERT INTO notes(txt) VALUES (?)',
    params: ['ma note privée']
  })
});

Base partagée (collective)

Une base commune à tous les visiteurs de l'app : forum, votes, catalogue, classement. L'identité de l'auteur est fournie par le serveur (impossible à usurper).

await fetch('/_app/adb/exec', {
  method: 'POST',
  body: JSON.stringify({
    sql: "INSERT INTO messages(author, txt) VALUES (current_setting('app.wallet'), $1)",
    params: ['bonjour à tous']
  })
});
Utilise toujours des paramètres (? en privé, $1 en partagé) — jamais de concaténation d'entrée utilisateur (injection SQL).

Secrets & API tierces

Pour appeler une API tierce avec une clé sans jamais l'exposer au navigateur :

  1. Range ta clé dans le coffre à secrets (/admin → Secrets), par ex. OPENWEATHER_KEY.
  2. Dans l'app, appelle l'API via le proxy serveur avec un placeholder {{secret:NOM}} :
await fetch('/_app/proxy', {
  method: 'POST',
  body: JSON.stringify({
    url: 'https://api.exemple.com/v1/data',
    headers: { Authorization: 'Bearer {{secret:OPENWEATHER_KEY}}' }
  })
});

Le serveur remplace le placeholder par la vraie valeur et exécute l'appel : la clé n'atteint jamais le client. Un secret peut être partagé entre toutes tes apps.

Fichiers

Uploade des fichiers (images, CSV, JSON, PDF, polices — pas d'exécutables) depuis /admin → Fichiers. Ils atterrissent sous uploads/ et gl1tch les utilise dans ton app : <img src="uploads/logo.png">, lecture d'un uploads/data.csv, etc.

Domaines custom

Sers ton app sur ton propre domaine (app.tonsite.com) en plus de ton-app.streakapps.com :

  1. /admin → Domaines custom → ajoute ton domaine.
  2. Chez ton registrar, pointe le DNS : sous-domaine → CNAME vers ton-app.streakapps.com ; domaine racine → enregistrement A vers l'IP indiquée.
  3. Clique « Vérifier » — le certificat HTTPS est émis automatiquement, ton app est servie sur ton domaine.

La gestion (admin, gl1tch) reste sur ton-app.streakapps.com.

Console admin

Sur ton-app.streakapps.com/admin :

  • Consommation & coûts — trafic, latence, erreurs, ressources et coût facturé par jour.
  • Historique — versions de l'app, restauration en un clic.
  • Secrets, Fichiers, Domaines custom, choix du modèle IA.
  • Bascule entre toutes les apps que tu possèdes.

Solde & recharge

L'usage (IA gl1tch + ressources) est facturé à ton solde en USD, mutualisé entre tes apps.

  • Un bonus de bienvenue t'est offert à la première connexion.
  • Recharge via « Top up » dans le widget : envoi d'USDC on-chain (Arbitrum).
  • Tu paies au token pour l'IA et à l'usage pour les ressources — détail dans /admin.

Obtenir de l'aide

Clique le bouton « 💬 Aide » présent sur le site : un assistant répond à tes questions sur l'utilisation de StreakApps (création, wallet, données, domaines, tarifs…). Pour construire ou modifier ton app, c'est gl1tch, dans le widget de ton app.

Guide MetaMask Cas d'usage