cozy, a personal paas

30
a Personal PaaS

Upload: gelnior

Post on 05-Dec-2014

563 views

Category:

Technology


1 download

DESCRIPTION

A French Talk about the Cozy Architecure + Painless Web Development Manifesto performed @ Open World Forum 2013

TRANSCRIPT

Page 1: Cozy, a Personal PaaS

a Personal PaaS

Page 2: Cozy, a Personal PaaS

Le cloud c'est bien mais...

Page 3: Cozy, a Personal PaaS

nos donnéessont mal exploitées

Page 4: Cozy, a Personal PaaS

plusdevie privée

Page 5: Cozy, a Personal PaaS

Difficile d'y faire de nouvelles choses

Page 6: Cozy, a Personal PaaS
Page 7: Cozy, a Personal PaaS

Cozy est un espace pour vos web applications et vos données

Page 8: Cozy, a Personal PaaS
Page 9: Cozy, a Personal PaaS

+App

Collaboration

Page 10: Cozy, a Personal PaaS

backup et synchronisationfaciles

un seul langageperformant

Page 11: Cozy, a Personal PaaS
Page 12: Cozy, a Personal PaaS

proxy

• Authentification• Routage• Ecrans de

login/enregistrements

Page 13: Cozy, a Personal PaaS

# exemple

https://your-cozy.you.net/apps/notes

Reroute vers (dans la machine):=> http://localhost:9202

Page 14: Cozy, a Personal PaaS
Page 15: Cozy, a Personal PaaS

home

• Front-end pour la gestion des applications

• État des applications• Market place• Synchro proxy

Page 16: Cozy, a Personal PaaS

data-system

• API Rest• Documents JSON• Indexes• fichiers• Droit d'accès• Publication/Souscription

Page 17: Cozy, a Personal PaaS
Page 18: Cozy, a Personal PaaS

pub/sub

Basé sur axon (zmq-like)Wrappé dans une lib maison:    

realtime adapter

Transmission au browser via websocket

Page 19: Cozy, a Personal PaaS

# ODM classiqueNote.create data, (err, note) ->             console.log id

# Indexationnote.index ["title", "content"], callbackNote.search "dragons", (err, notes) ...→

# Fichiersnote.attachFile file.path, {name: file.name}, callbackfileStream = note.getFile name, callback

# EmailsCozyAdapter = require 'juggling-cozy-adapter'data = to: "[email protected]" from: "Cozy-test <[email protected]>" subject: "Test jugglingdb" content: "Content of mail"CozyAdapter.sendMail data, callback

# Pub/Subrealtime = RealtimeAdapter app, ['note.*']realtime.on 'note.update', (event, id) → # do something...

Page 20: Cozy, a Personal PaaS

controller

• Démarrage / arrêt des apps• Installation / suppression• Mises à jour• Déploie aussi le proxy, la

home et le Data System• CLI: cozy-monitor 

Page 21: Cozy, a Personal PaaS

conditions

Un fichier server.js ou server.coffee à la racine

+Manifeste NodeJS (package.json)

+Paramètres Cozy (permissions, widgets) 

Page 22: Cozy, a Personal PaaS

{ "name": "KYou", "description": "With KYou, have a better knowledge of yourself.", "keywords": [ "quantifiedself" ], "licenses": [{ "type": "AGPL v3.0", "url": "http://www.gnu.org/licenses/agpl-3.0.html" }], "version": "0.1.3", "homepage": "http://frankrousseau.github.io/kyou", "author": "Frank <[email protected]>", "contributors": ["Frank <[email protected]>"], "engines": { "node": "*" }, "main": "server.js", "scripts": { "start": "node server.js" }, "dependencies": { "americano": "0.2.5", "americano-cozy": "0.1.2" }, "devDependencies": {}, "repository": { "type": "git", "url": "git://github.com/frankrousseau/kyou" }, "optionalDependencies": {}, "cozy-permissions": { "Mail": { "description": "Track the number of mails you receive each day." }, "Task": { "description": "Track the number of tasks you achieve each day." } }}

Page 23: Cozy, a Personal PaaS

comment le controller déploie

Création d'un utilisateur Unix git clone

npm installIl enregistre les informations de l'application

Page 24: Cozy, a Personal PaaS
Page 25: Cozy, a Personal PaaS

Painless Web Developmentmanifesto

1. Use template2. Isolate your environments3. Deploy fast4. Make front-end dev easy

Page 26: Cozy, a Personal PaaS

$ npm install cozy -g$ npm install brunch -g

Page 27: Cozy, a Personal PaaS

1. Use template

2. Isolate your environements

$ cozy new yourapp

$ cozy dev:init && cozy dev:start

Page 28: Cozy, a Personal PaaS

3. Deploy fast

4. Make front-end dev easy

$ cozy deploy

$ cd client && brunch w

Page 29: Cozy, a Personal PaaS
Page 30: Cozy, a Personal PaaS

write your app for cozyhttp://cozy.io/hack

Crédits photos : blaster_e11 Licences Creative Commons