Aller au contenu

Site en construction — contenu fourni à titre informatif, sans valeur contractuelle. WOPR est en cours de constitution.

Tous les guides

Comment Olena fonctionne sans serveurs

« Nous n’avons pas de serveurs » sonne comme un slogan. C’est une décision d’architecture aux conséquences concrètes, bonnes et mauvaises, et elle se vérifie de l’extérieur sans avoir à nous croire.

Mis à jour le

Ce que « sans serveurs » veut dire exactement

C’est une phrase très employée et presque toujours mal, alors autant être précis. Elle veut dire trois choses, et seules les trois ensemble comptent.

Il n’y a pas de base de données du studio contenant vos tâches. Pas de table utilisateurs, pas de table taches, pas de copie de votre inbox sur une machine que nous contrôlons.

Il n’y a pas de compte à créer. Pas d’inscription, pas de mot de passe, pas de courriel de vérification, parce qu’il n’y a rien à quoi donner accès. L’application ne sait pas qui vous êtes, et ce n’est pas une posture : il n’y a nulle part où le noter.

Il n’y a pas de requêtes réseau vers nous. Ni analyse d’usage, ni télémétrie, ni vérification de licence contre un serveur propre, ni rapports d’erreur avec identifiant d’utilisateur.

Ce qu’il y a, ce sont les services d’Apple, que vous utilisez déjà : iCloud pour la synchronisation et l’App Store pour l’encaissement. C’est cette distinction qui compte, et c’est celle que presque personne n’explique.

Où vivent les données

Sur l’appareil, dans une base de données locale. Quand vous ouvrez l’application, tout ce que vous voyez vient de là ; aucun écran n’attend une réponse du réseau pour s’afficher.

Cela a un effet secondaire qui se remarque plus qu’on ne croit : l’application va aussi vite dans le train, dans une vallée sans couverture ou en mode avion. Pas d’états de chargement, pas de roues qui tournent, pas de « réessayer ». La vitesse d’une application locale n’est pas une optimisation, c’est une conséquence de l’endroit où sont les données.

Les événements de l’agenda sont un cas à part et cela mérite d’être dit clairement : ils ne sont pas copiés. Ils sont lus depuis l’agenda du système chaque fois qu’il le faut, avec l’autorisation que vous accordez dans les réglages d’iOS. Olena ne conserve pas votre agenda ; elle le regarde.

Comment elle synchronise, alors

Par votre conteneur iCloud privé. C’est la partie qui accroche le plus de monde, donc allons doucement.

iCloud propose deux types de stockage aux applications. Le premier est la base de données publique, où l’éditeur range ce qui est commun à tous les utilisateurs et à laquelle il a bien accès. Le second est le conteneur privé : un espace à l’intérieur de votre compte iCloud, lié à votre compte Apple, où l’éditeur de l’application ne peut pas entrer. Ce n’est pas une promesse de notre part ; c’est la façon dont le système est construit, et c’est Apple qui l’impose, pas nous.

Olena utilise le second. Vos tâches voyagent de l’iPhone à l’iPad par votre compte, avec le chiffrement et l’infrastructure d’Apple, et le studio n’a aucune clé. Si demain nous voulions regarder vos données — nous ne le voulons pas — nous ne saurions pas par où commencer.

L’espace occupé compte sur votre quota iCloud, pas sur un quota à nous. Dans une application de tâches, on parle de kilo-octets : ce sont des textes, des dates et des références, pas des fichiers.

Ce qui se passe quand il n’y a pas de réseau

Tout continue de fonctionner : créer, modifier, terminer, planifier, réviser. Les changements sont enregistrés en local et se propagent au retour de la connexion.

Quand deux appareils ont modifié la même chose hors ligne, il faut décider qui gagne, et autant être honnête : sans serveur propre, cette décision revient au système de synchronisation d’Apple avec ses règles, pas à des règles sur mesure de notre part. Pour des tâches et des projets — où les changements portent en général sur des champs différents et viennent d’un seul appareil à la fois — cela marche bien. Pour un document que deux personnes modifient en même temps, ce serait insuffisant, et c’est pour cela qu’Olena n’est pas ce genre d’application.

Ce que cette architecture vous retire

Aucune décision d’architecture n’est gratuite, et celles qu’on vend comme de purs avantages sont en général mal racontées. Celle-ci vous retire des choses précises.

Il n’y a pas de collaboration. Ni projets partagés, ni attribution de tâches à quelqu’un d’autre, ni vue sur ce que fait votre équipe. Partager pour de bon exige un lieu commun, et un lieu commun est un serveur.

Il n’y a pas de version web. Vous ne pouvez pas ouvrir vos tâches depuis l’ordinateur du travail ou depuis un navigateur emprunté. Si c’est non négociable pour vous, ce n’est pas votre application et il vaut mieux le savoir avant.

Il n’y a pas d’intégrations avec des services externes. Rien qui exige de conserver des identifiants quelque part.

Et nous ne pouvons pas réparer vos données à distance. Si quelque chose se corrompt, il n’y a pas de console depuis laquelle aller regarder. Nous ne pouvons que publier une version qui répare de l’intérieur. C’est plus lent et parfois plus frustrant pour tout le monde.

Ce qu’elle vous donne en échange

La question de savoir où sont vos données a une réponse d’une ligne. Pas besoin de lire neuf pages de politique de confidentialité pour savoir qui y touche : personne.

Il n’y a rien à faire fuir. La plupart des fuites de données de ces dernières années venaient de bases centrales. Une base de données qui n’existe pas ne peut pas fuir, et c’est le seul système de sécurité qui marche à tous les coups.

Il n’y a pas de coût mensuel qui pousse le prix. Les serveurs se paient tous les mois, que les recettes montent ou non, et ce coût finit dans la cotisation. Sans cette facture, un abonnement à cinq euros par an est tenable ; avec elle, il ne le serait pas. C’est raconté en détail dans le guide sur les abonnements, et ce que cela change face à un achat unique est dans le guide sur les applications GTD en achat unique.

Si le studio disparaît, l’application reste. C’est ce qu’on dit le moins et ce qui devrait compter le plus. Une application qui dépend d’un serveur cesse de fonctionner quand ce serveur s’éteint, et il s’éteint quand l’entreprise ferme ou perd intérêt. Une application locale reste sur votre appareil, avec vos données, tant que le système l’accepte.

Comment le vérifier vous-même

Tout ce qui précède, c’est nous qui le disons, et vous n’avez pas à nous croire. Cela se vérifie de l’extérieur, sans être programmeur.

Regardez les connexions qu’elle fait. Il existe des outils pour macOS qui montrent à quoi se connecte chaque application, et sous iOS vous pouvez utiliser un profil d’analyse réseau ou un routeur qui journalise le trafic. Une application sans serveur propre parle aux services d’Apple et à personne d’autre.

Regardez dans les réglages iCloud. Dans Réglages → votre nom → iCloud apparaissent les applications qui stockent des données dans votre compte, et ce qu’elles occupent. Si les données sont dans votre conteneur, elles y figurent.

Mettez-la en mode avion et utilisez-la. C’est le test le plus simple et le plus éloquent. Si l’application fonctionne entièrement sans réseau, c’est que les données n’étaient pas ailleurs.

Lisez la fiche de confidentialité de l’App Store. Apple oblige à déclarer ce que chaque application collecte, et y mentir a des conséquences réelles pour le développeur.

Aucun de ces quatre points ne dépend de votre confiance en nous, ce qui est exactement l’objectif. Une affirmation sur la vie privée qui ne peut pas se vérifier de l’extérieur ne vaut pas plus qu’un slogan.

Questions fréquentes

S’il n’y a pas de serveur, comment mes données passent-elles de l’iPhone à l’iPad ?

Par votre propre conteneur iCloud privé. Apple déplace les données entre vos appareils avec votre compte, exactement comme pour Photos ou Notes. Le studio n’a aucun accès à ce conteneur ni aucun moyen de le lire : il est à vous, pas à nous.

Mes données sont-elles alors dans le cloud ou pas ?

Elles sont sur vos appareils et, si iCloud est activé, aussi dans votre conteneur iCloud privé. La distinction qui compte n’est pas appareil contre cloud : c’est à qui appartient le compte. Dans une application avec serveur propre, vos données sont dans la base de l’éditeur. Ici, elles sont dans la vôtre.

Que se passe-t-il si je désactive iCloud ?

L’application continue de fonctionner entièrement sur cet appareil, avec ses données locales. Ce que vous perdez, c’est la synchronisation avec les autres appareils et la sauvegarde iCloud. Aucune fonction ne dépend d’être connecté.

Puis-je récupérer mes données si j’arrête un jour ?

C’est précisément pour cela que l’endroit où elles vivent compte. Comme elles sont sur votre appareil et dans votre compte, vous ne dépendez de personne pour vous les rendre. C’est la différence entre demander un export et l’avoir déjà.

N’est-ce pas plus fragile qu’un serveur propre ?

Sur certains points oui, et il faut le dire. Un serveur propre permet de résoudre les conflits avec des règles sur mesure, de migrer les données de tous les utilisateurs d’un coup et de corriger un problème sans publier une version. Sans serveur, chaque appareil doit se débrouiller seul et les migrations voyagent dans l’application.