Aller au contenu principal

Présentation des Mini-Programmes

Les mini-programmes sont des applications web sandboxées qui s'exécutent directement dans la plateforme AISCouncil. Ils étendent la plateforme avec des fonctionnalités personnalisées — des outils de synchronisation d'appareils aux constructeurs de pages visuels — tout en s'exécutant dans un environnement sécurisé et contrôlé par permissions.

Que Sont les Mini-Programmes ?

Un mini-programme est une application web standard HTML/CSS/JS qui s'exécute dans une iframe sandboxée au sein de la plateforme. Au lieu de naviguer vers un site web séparé, les utilisateurs lancent les mini-programmes depuis la section Apps dans la barre latérale. L'application remplace la zone de chat et a accès aux APIs de la plateforme via le SDK window.ais.

Les mini-programmes peuvent :

  • Lire et envoyer des messages de chat pour interagir avec les modèles IA
  • Stocker des données localement avec un stockage isolé par application
  • Accéder à la configuration du bot pour savoir quel modèle est actif
  • Afficher des notifications et des boîtes de dialogue via l'interface de la plateforme
  • Lire les informations utilisateur pour la personnalisation
  • Enregistrer des hooks pour étendre le comportement de la plateforme

Comment Ils Fonctionnent

+---------------------------+
| AISCouncil |
| (page hôte) |
| |
| +---------------------+ |
| | iframe sandboxée | |
| | (origine nulle) | |
| | | |
| | SDK window.ais | |
| | | | |
| +---|------------------+ |
| | postMessage |
| v |
| Pont de messages |
| (vérification des perms) |
| (répartition des méthodes)|
+---------------------------+
  1. Injection du SDK — Lorsqu'un mini-programme se lance, la plateforme crée une iframe sandboxée et injecte le SDK window.ais (~2 Ko) comme préambule <script> avant le code de votre application.

  2. Pont postMessage — Chaque appel SDK (ais.storage.get(), ais.chat.send(), etc.) envoie un postMessage à la page hôte. L'hôte valide les permissions de l'application appelante et répartit la requête vers le module de plateforme approprié.

  3. Réponses — Les résultats sont renvoyés à l'iframe via postMessage, où le SDK résout la Promise correspondante.

Modèle de Sécurité

Les mini-programmes s'exécutent dans un bac à sable de sécurité strict :

ProtectionComment
Origine nullesandbox="allow-scripts allow-forms" — pas de allow-same-origin, donc l'iframe obtient une origine nulle
Pas d'accès au DOM parentImpossible de lire ou modifier le DOM de la page hôte, localStorage ou cookies
Pas d'accès réseau vers l'origine hôteImpossible de faire des requêtes same-origin vers aiscouncil.net
APIs contrôlées par permissionsChaque méthode SDK au-delà du stockage nécessite une autorisation explicite de l'utilisateur
Isolation du stockage par applicationLes clés de stockage sont préfixées avec mp:{app-name}: — les applications ne peuvent pas lire les données des autres
Cache adressé par contenuLe HTML d'entrée est récupéré et mis en cache lors de l'installation, pas chargé depuis le réseau à chaque lancement
avertissement

Les mini-programmes peuvent toujours faire des requêtes réseau vers des origines externes (leur propre CDN, APIs tierces, etc.) puisque allow-scripts permet fetch() et XMLHttpRequest. La permission network:fetch est pour les futures requêtes proxifiées via la plateforme, pas pour restreindre l'accès réseau sortant.

Boîte de Dialogue de Permission

Lorsqu'un utilisateur installe un mini-programme, une boîte de dialogue de permission affiche le nom de l'application, sa description et la liste des permissions demandées. L'utilisateur doit approuver avant que l'installation ne procède. Les applications qui demandent uniquement storage (toujours autorisé) affichent toujours la boîte de dialogue par transparence.

Comparaison avec D'Autres Plateformes

FonctionnalitéMini-Programmes aiscouncilWeChat Mini ProgramsChrome ExtensionsPWAs
Runtimeiframe sandboxéeWebView personnaliséMonde isolé + service workerOnglet navigateur complet
Taille max5 Mo (HTML) / 50 Mo (bundle)2-20 MoPas de limite strictePas de limite
Revue requiseNon (Installation Directe)Oui (obligatoire)Oui (Chrome Web Store)Non
Support hors-ligneOui (mis en cache à l'install)OuiOuiOui (Service Worker)
APIs plateformeSDK window.aisAPI wxAPI chromeAPIs Web uniquement
Modèle de sécuritéiframe origine nulleSandbox personnaliséContent Security PolicySame-origin
DistributionURL, upload fichier, registreWeChat Store uniquementChrome Web StoreURL uniquement

Trouver et Installer des Applications

Depuis l'App Store

  1. Cliquez sur l'icône Apps dans la barre latérale gauche (ou l'icône de grille d'apps dans l'en-tête sur mobile)
  2. Parcourez la section App Store en bas du panneau des applications
  3. Cliquez sur Install sur n'importe quelle carte d'application
  4. Passez en revue les permissions dans la boîte de dialogue et cliquez sur Allow

Par URL (Sideloading)

  1. Dans le panneau Apps, trouvez la section Sideload
  2. Collez une URL de manifeste dans le champ de texte
  3. Cliquez sur Install
  4. Passez en revue les permissions et approuvez

Par Upload de Fichier

  1. Dans le panneau Apps, cliquez sur Upload App
  2. Sélectionnez un fichier .html (application mono-fichier) ou un bundle .ais (archive ZIP)
  3. Passez en revue les permissions et approuvez

Voir Sideloading Apps pour tous les détails sur les méthodes d'installation.

Lancer et Fermer des Applications

Lancer : Cliquez sur le bouton Open sur n'importe quelle carte d'application installée. L'application remplace la zone de chat et prend le panneau de contenu principal.

Fermer : Les applications peuvent se fermer elles-mêmes en appelant ais.close(), ou l'utilisateur peut cliquer sur le bouton X dans la barre de titre des applications pour revenir à la vue de chat.

Lorsqu'une application est fermée :

  • L'iframe est détruite et son gestionnaire de messages est supprimé
  • La zone de chat est restaurée
  • Tout état non sauvegardé dans l'application est perdu (les applications devraient utiliser ais.storage pour persister les données)

Applications Intégrées

La plateforme est livrée avec deux mini-programmes intégrés :

Synchronisation d'Appareil

Synchronisez les profils, clés API et paramètres entre appareils. Supporte trois méthodes de transfert :

  • Sync LAN — Connexion directe entre appareils sur le même réseau
  • Code QR — Scannez un code pour coupler des appareils
  • Relais Internet — Signalisation WebRTC via l'API pour les appareils sur des réseaux différents

Permissions : storage, config:read, auth:read, ui:toast, secrets:sync

Constructeur d'Applications

Construisez des pages web visuellement avec génération de contenu IA. Choisissez un modèle, modifiez les sections en utilisant le modèle IA actif, et exportez en tant qu'URL ou fichier HTML. Publiez directement sur bcz.co avec un slug personnalisé.

Permissions : storage, chat:read, chat:write, ui:toast, auth:read, pages:publish

Prochaines Étapes