Développeurs

Écrire un module pour le livret.

Le kit de développement et les modules officiels sont publiés sous licence Apache‑2.0. La plateforme elle-même ne l’est pas.

Modèle de sécurité

Chaque module est présumé malveillant.

Jusqu’à preuve du contraire. C’est la règle qui protège les codes et les voyageurs des hôtes.

  • SignéUn module non signé ne s’exécute pas. La provenance est suivie par empreinte.
  • Dans un bac à sableMémoire, temps d’exécution et réseau limités.
  • Sans accès aux donnéesIl ne lit rien de la plateforme en dehors de ce qu’on lui transmet.
  • Sans code dans la pageIl décrit une interface ; il ne peut pas injecter de script dans le livret.

Installé avec accord.

Un module communautaire arrive « non relu ». Il ne s’installe que si l’hôte l’accepte, sur Starter et Pro.

Capacités

Ce qu’un module peut faire.

  • Des écrans dans le livretDécrits par le module, rendus par le livret. Jamais injectés dans la page.
  • Du stockage clé-valeurLimité, propre au module et au logement.
  • Des emails au voyageur3 par séjour et par 24 h, 10 par séjour au total.
  • Des appels réseau HTTPSUniquement vers les domaines déclarés dans le manifeste.
  • Écrit en RustCompilé en WebAssembly, exécuté dans le bac à sable.
src/lib.rsRUST · MODULE MÉTÉO
portaki_sdk::portaki_module!(    id = "weather",    author = "Portaki",    module_type = ModuleType::Official,    maturity = Maturity::Stable,); #[portaki_sdk::capability(required, id = "core.storage")]pub const STORAGE: &str = "core.storage"; #[portaki_sdk::custom_connector(    id = "open-weather",    base_url = "https://api.openweathermap.org",)]pub struct ModuleOpenWeather;

Le module déclare ses besoins dans son code ; portaki build en tire le manifeste. Rien d’autre ne lui est accordé.

La documentation sur developer.portaki.app ↗

Publier

Du code au catalogue, en quatre étapes.

  1. 01

    Écrire le module avec le SDK

    Un manifeste déclare ce dont le module a besoin. Rien d’autre ne lui sera accordé.

  2. 02

    Le tester dans le bac à sable

    portaki dev --watch

    Chaque modification se recharge, dans les mêmes limites qu’en production.

  3. 03

    Le publier depuis votre CI

    portaki publish

    Une batterie de vérifications de conformité, sans aucun secret dans la CI.

  4. 04

    Il arrive au catalogue

    Marqué « non relu ». Les hôtes Starter et Pro peuvent l’installer, s’ils l’acceptent.

Recevoir les nouvelles du SDK. Le kit arrive.

On écrit quand une version du kit sort ou quand le catalogue ouvre aux modules communautaires.