Les applications client-side

Banner

Depuis le début du projet, nous voulons que Cozy soit une plateforme. Nous voulons donner aux développeurs indépendants la possibilité de créer des applications. Avec l’accord de l’utilisateur et au sein de la plateforme, ces applications peuvent accéder aux données personnelles et fournir des services intéressants. Nous avons eu d’excellentes contributions par notre communauté, dont certaines ont fait l’objet d’un article sur ce blog.

L’architecture Cozy permet à chaque applications d’être un micro-serveur au sein du serveur Cozy. Cela ouvre de nombreuses possibilités. Par exemple, l’application “sync” expose une API utilisée par les téléphones pour synchroniser les contacts et l’application “Konnector” accède à des données extérieures. Cependant, ces capacités ont un coût : créer une application pour Cozy n’est pas évident car il faut comprendre et concevoir le côté serveur, le côté client et la connexion entre les deux.

Durant les derniers mois, notre développeur Félix Lambert a ajouté une nouvelle fonctionnalité à Cozy : la possibilité d’installer des applications “client-side”. Ces applications s’installent, comme d’habitude, via la page “Ajouter” du Cozy. Cependant, elles n’ont pas besoin de serveur. La plateforme Cozy se substitue au serveur de l’application pour les cas les plus simples : les applications qui manipulent la donnée uniquement à l’intérieur du Cozy.

Cela devrait rendre la conception de ce type d’application plus aisée et plus rapide. Si vous êtes développeur et curieux de ces nouvelles possibilités, rendez-vous au bas de l’article pour quelques indications sur comment s’y mettre.

Bénéfice collatéral : cette nouvelle architecture nous a permis de porter quelques applications “HTML5” existantes. Elles seront bientôt disponible via l’applithèque, mais en attendant, vous pouvez copier-coller leurs URLs dans le champs “Installer une application depuis son dépôt Git” de la page “Ajouter” de votre Cozy :

  • Le fameux jeu 2048 par Gabriele Cirulli : https://github.com/frankrousseau/2048
  • Le jeu Esviji par Nicolas Hoizey : https://github.com/jsilvestre/cozy-esviji

Je suis développeur, par où je commence ?

Notre documentation pour développeur (eng) a été mise à jour pour inclure le choix entre Les applications Node.js habituels et les applications “client-side”.

Ce tuto vous guidera pas à pas pour créer votre application, en faire un paquet pour Cozy et utiliser Cozy SDK pour accéder aux données de l’utilisateur. Le tutoriel est disponible en vanilla javascript (sans framework) ou avec le populaire framework Angular.js. Si vous rencontrez des problèmes, nous sommes, comme d’habitude disponibles par [mail](mailto:contact at cozycloud dot cc), sur le forum, par IRC ou via les issues github

Et après ?

L’autre avantage de ces applications client-side est la portabilité: Il est théoriquement possible de prendre la même application et de l’empaqueter comme app cozy, mobile et desktop. Dans le futur, cela pourrait permettre à Cozy de proposer une expérience unifié pour tous les appareils, que l’ont soit en ligne ou hors ligne.