Présentation du projet
Cloud in a Bottle (CiB) se décrit comme un cloud personnel open‑source. Le cœur du service est une machine Ubuntu qui exécute un serveur web, un tableau de bord et un routeur HTTP(s) vers des applications conteneurisées. L’objectif affiché est de rendre l’auto‑hébergement comparable à l’usage d’un smartphone : une connexion unique donne accès à toutes les applications, sans comptes séparés. Le projet a été testé en interne pendant plus de six mois avant son lancement public et est disponible à la fois en version auto‑hébergée et en version gérée, cette dernière proposée avec un crédit de 10 $.
Architecture et mécanismes de conteneurisation
CiB repose sur des conteneurs rootless et durcis, ce qui minimise les privilèges accordés aux processus applicatifs. Chaque application tourne dans son propre espace de noms Linux, isolée du système hôte et des autres conteneurs. Le tableau de bord agit comme un reverse‑proxy qui redirige les requêtes HTTP(s) vers le conteneur ciblé en fonction du nom de domaine ou du chemin. Cette approche évite les modifications majeures du code source des applications : la plupart des logiciels web existants peuvent être empaquetés avec peu d’ajustements, grâce à la compatibilité avec les images Docker standards.
Analyse de la sécurité et de l’expérience utilisateur
Le modèle rootless limite l’impact d’une compromission éventuelle d’une application, car aucun conteneur n’a les droits d’administration du système. Contrairement à Yunohost, où une application vulnérable peut affecter l’ensemble du serveur, CiB confine chaque faille à son sandbox. L’authentification unifiée repose sur un système d’identités centralisé : une fois connecté au tableau de bord, l’utilisateur reçoit un jeton partagé avec les applications qui acceptent l’API d’intégration. Cette méthode reproduit les API d’accès inter‑applicatives d’Android ou iOS, mais dans un contexte serveur, permettant le partage de données et de notifications sans duplication d’identifiants. Cependant, la solution dépend de la bonne implémentation de ces API par les développeurs tiers, ce qui peut introduire des vecteurs d’escalade si les permissions ne sont pas correctement restreintes.
Modèle économique et perspectives
Imbue, l’entreprise derrière CiB, propose une version hébergée qui exécute exactement le même code que la version open‑source. Le revenu généré par les abonnements gérés finance le développement continu, tout en conservant la transparence du code. Le catalogue d’applications, actuellement limité, suit une politique de sélection stricte afin de garantir une expérience utilisateur comparable aux services propriétaires. Cette approche crée un cercle vicieux : un catalogue restreint décourage les nouveaux utilisateurs, mais la croissance du catalogue dépend de la communauté qui, à son tour, nécessite une base d’utilisateurs suffisante. Le projet devra donc accélérer l’on‑boarding tout en maintenant les exigences de sécurité et d’intégration pour éviter que la plateforme ne devienne un simple « hub de conteneurs » sans valeur ajoutée.