Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !


Cozycloud

Cozycloud est votre serveur de cloud personnel libre. A la différence des autres serveurs cloud personnels auto-hébergeables, Cozy met l'accent sur les applications et la collaboration de ses applications autour de vos données personnelles. Cozy est une solution de PaaS (Platform as a Service) personnel qui vous permet de déployer des applications web personnelles en un clic. Il ne s'agit pas là de simples greffons mais d'applications web riches. Vous pouvez choisir parmi les applications Cozy existantes (Notes, Todos, Agenda, Contacts, Photos…), adapter une application Node.js existante ou commencer votre propre application web « from-scratch »(documentation et tutoriaux disponibles).

Une particularité de Cozy est la centralisation du stockage des différentes applications dans une base de données commune avec des données typées et un contrôle des accès par type de donnée. De cette manière les différentes applications travaillent avec la même source de données (contacts, mails, notes…). Cozycloud est pour le moment centré sur Node.js mais le support d'applications Python et Ruby est prévu.

13/10/2015: CozyCloud est désormais disponible sous forme d'un paquet pour Ubuntu 14.04. C'est la méthode conseillée. La documentation ci-dessous est probablement obsolète.
Cozycloud n'est pas encore un logiciel mature. Si vous rencontrez un problème pendant l'installation, l'équipe de Cozycloud est présente sur le canal IRC #cozycloud sur irc.freenode.net ou par mail contact@cozycloud.cc N'hésitez surtout pas à leur demander de l'aide !

Pré-requis

L'installation a été testée sur Ubuntu 12.04 LTS.

L'installation est réalisée grâce à une librairie Python de provisioning, Fabric, que vous devez installer sur votre machine.

apt-get install python python-pip
sudo pip install fabric fabtools

Installation depuis un script

L'installation de Cozycloud se réalise avec la ligne suivante :

curl http://cozy.io/install_cozy.sh | HOST=root@ip sh
Si vous voulez installer Cozycloud en local, utilisez "localhost" pour le champ "ip"

La plateforme Cozycloud est constituée de plusieurs logiciels qui seront automatiquement installés et configurés par le script :

  • NodeJS (environnement d'exécution principale de la plateforme et des applications)
  • Supervisor (daemonizer)
  • CouchDB (la base de données)
  • Postfix (pour envoyer des mails)
  • Whoosh (indexer Python de la base de données)
  • Nginx (reverse proxy et gestion d'HTTPS)

Ainsi qu'un ensemble d'applications NodeJS nécessaire au bon fonctionnement de la plateforme :

  • Data-System (gère la persistance et les autorisations des applications à accéder aux données : CouchDB + indexer + système de fichier)
  • Cozy-Contoller (basé sur Haibu, c'est la brique "PaaS" de Cozy)
  • Cozy-Monitor (outil d'administration en ligne de commande de Cozy)
  • Cozy-Proxy et Cozy-Home (permettent l'installation d'apps et la navigation dans la plateforme)
A cause du nombre de logiciels requis pour le bon fonctionnement de Cozy, il est fortement recommandé de l'installer au sein d'une machine virtuelle.

Pour les curieux, vous pouvez consulter le code source du script d'installation sur le dépôt Github de l'installeur.

Installation manuelle

La documentation de Cozycloud détaille les étapes à effectuer pour installer manuellement la plateforme.

Troubleshooting

Si vous rencontrez un problème lors de l'installation, il s'agit peut-être d'un problème connu en cours de résolution. Vous pouvez consulter la page d'aide dédiée sur leur wiki.

Une fois l'installation terminée, rendez-vous à l'adresse à laquelle vous avez installé Cozy avec votre navigateur en utilisant le protocole HTTPS.

Ecran d'enregistrement de Cozycloud

Comme c'est votre première connexion, vous devrez enregistrer votre compte (email et mot de passe).

Le mot de passe que vous choisirez deviendra aussi la clé qui permettre aux applications de Cozy de chiffrer certaines informations dans la base de données.

Vous arriverez alors sur la page d'accueil de Cozy qui affiche les différentes applications installées. Le fonctionnement est similaire à celui d'un smartphone : vous allez dans le "marketplace" (onglet "+Apps") et installez les applications déjà existantes ou bien les vôtres (si elles sont sur un dépôt github).

Ecran d'accueil de Cozycloud

Développer une application pour Cozy

Le développement d'application pour Cozycloud est un aspect à part entière mais qui mérite d'être mentionné : Cozy est un PaaS ce qui signifie que le développement d'une application ne dépend pas d'un SDK (comme c'est le cas d'une application Android ou iPhone par exemple). Vous créez une application web comme vous en avez l'habitude (ou presque) et vous pourrez la déployer dans Cozy ou n'importe où ailleurs !

Les principaux avantages sont :

  • vous démarrez rapidement votre web application: pas besoin de passer deux weekends à configurer votre framework, la base de données et le déploiement
  • cela reste une web app classique vous pouvez donc réutiliser l'application dans un autre contexte.
  • vous pouvez partager facilement votre application avec d'autres utilisateurs Cozy
  • vous ne gérez pas l'authentification
  • déploiement en quelques clics ou une ligne de commande (via un dépôt public git en ligne seulement pour l'instant)
  • environnement de développement intégré à une machine virtuelle prête à l'emploi

Les principales contraintes sont :

  • développement backend en NodeJS (support de Python et Ruby prévu à moyen terme)
  • utilisation du "Data-System" pour la persistance (Cozy propose un driver d'un ORM existant, JugglingDB, ce qui facilite l'exécution hors Cozy des apps)

La documentation propose plusieurs ressources (en anglais) pour développer des applications.

Pour désinstaller la plateforme, il suffit à nouveau d'exécuter un script :

curl http://cozy.io/uninstall_cozy.sh | HOST=root@ip:port sh

Comme le site le dit bien : "you will stay because you can leave" !

  • cozycloud.1448186918.txt.gz
  • Dernière modification: Le 22/11/2015, 11:08
  • par Jean-Dom