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)|
+---------------------------+
-
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. -
Pont postMessage — Chaque appel SDK (
ais.storage.get(),ais.chat.send(), etc.) envoie unpostMessageà 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é. -
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 :
| Protection | Comment |
|---|---|
| Origine nulle | sandbox="allow-scripts allow-forms" — pas de allow-same-origin, donc l'iframe obtient une origine nulle |
| Pas d'accès au DOM parent | Impossible de lire ou modifier le DOM de la page hôte, localStorage ou cookies |
| Pas d'accès réseau vers l'origine hôte | Impossible de faire des requêtes same-origin vers aiscouncil.net |
| APIs contrôlées par permissions | Chaque méthode SDK au-delà du stockage nécessite une autorisation explicite de l'utilisateur |
| Isolation du stockage par application | Les 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 contenu | Le HTML d'entrée est récupéré et mis en cache lors de l'installation, pas chargé depuis le réseau à chaque lancement |
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 aiscouncil | WeChat Mini Programs | Chrome Extensions | PWAs |
|---|---|---|---|---|
| Runtime | iframe sandboxée | WebView personnalisé | Monde isolé + service worker | Onglet navigateur complet |
| Taille max | 5 Mo (HTML) / 50 Mo (bundle) | 2-20 Mo | Pas de limite stricte | Pas de limite |
| Revue requise | Non (Installation Directe) | Oui (obligatoire) | Oui (Chrome Web Store) | Non |
| Support hors-ligne | Oui (mis en cache à l'install) | Oui | Oui | Oui (Service Worker) |
| APIs plateforme | SDK window.ais | API wx | API chrome | APIs Web uniquement |
| Modèle de sécurité | iframe origine nulle | Sandbox personnalisé | Content Security Policy | Same-origin |
| Distribution | URL, upload fichier, registre | WeChat Store uniquement | Chrome Web Store | URL uniquement |
Trouver et Installer des Applications
Depuis l'App Store
- 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)
- Parcourez la section App Store en bas du panneau des applications
- Cliquez sur Install sur n'importe quelle carte d'application
- Passez en revue les permissions dans la boîte de dialogue et cliquez sur Allow
Par URL (Sideloading)
- Dans le panneau Apps, trouvez la section Sideload
- Collez une URL de manifeste dans le champ de texte
- Cliquez sur Install
- Passez en revue les permissions et approuvez
Par Upload de Fichier
- Dans le panneau Apps, cliquez sur Upload App
- Sélectionnez un fichier
.html(application mono-fichier) ou un bundle.ais(archive ZIP) - 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.storagepour 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
- Référence SDK — Documentation API complète pour
window.ais - Tutoriel : Construisez Votre Première App — Guide étape par étape pour créer un mini-programme
- Référence Manifeste — Documentation du schéma pour
manifest.json - Sideloading Apps — Installer des applications depuis des URLs, fichiers et bundles
- Publication sur le Registre — Distribuez votre application à la communauté