SlideShare une entreprise Scribd logo
a Personal PaaS
Le cloud c'est bien mais...
nos données
sont mal exploitées
plus
de
vie
privée
Difficile d'y faire de
nouvelles choses
Cozy est un espace pour
vos web applications et
vos données
+
App
Collaboration
backup et synchronisation
faciles
un seul langage
performant
proxy
• Authentification
• Routage
• Ecrans de
login/enregistrements
# exemple
https://your-cozy.you.net/apps/notes
Reroute vers (dans la machine):
=> http://localhost:9202
home
• Front-end pour la
gestion des applications
• État des applications
• Market place
• Synchro proxy
data-system
• API Rest
• Documents JSON
• Indexes
• fichiers
• Droit d'accès
• Publication/Souscription
pub/sub
Basé sur axon (zmq-like)
Wrappé dans une lib maison:   
realtime adapter
Transmission au browser via websocket
# ODM classique
Note.create data, (err, note) ->            
console.log id
# Indexation
note.index ["title", "content"], callback
Note.search "dragons", (err, notes) ...→
# Fichiers
note.attachFile file.path, {name: file.name}, callback
fileStream = note.getFile name, callback
# Emails
CozyAdapter = require 'juggling-cozy-adapter'
data =
to: "test@cozycloud.cc"
from: "Cozy-test <test@cozycloud.cc>"
subject: "Test jugglingdb"
content: "Content of mail"
CozyAdapter.sendMail data, callback
# Pub/Sub
realtime = RealtimeAdapter app, ['note.*']
realtime.on 'note.update', (event, id) →
# do something...
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 
conditions
Un fichier server.js ou server.coffee
à la racine
+
Manifeste NodeJS (package.json)
+
Paramètres Cozy (permissions, widgets) 
{
"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 <frank@cozycloud.cc>",
"contributors": ["Frank <frank@cozycloud.cc>"],
"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."
}
}
}
comment le controller déploie
Création d'un utilisateur Unix 
git clone
npm install
Il enregistre les informations de l'application
Painless Web Development
manifesto
1. Use template
2. Isolate your environments
3. Deploy fast
4. Make front-end dev easy
$ npm install cozy -g
$ npm install brunch -g
1. Use template
2. Isolate your environements
$ cozy new yourapp
$ cozy dev:init && cozy dev:start
3. Deploy fast
4. Make front-end dev easy
$ cozy deploy
$ cd client && brunch w
write your app for cozy
http://cozy.io/hack
Crédits photos : blaster_e11 
Licences Creative Commons

Contenu connexe

Tendances

Mpdf 2
Mpdf 2Mpdf 2
Mpdf 2
Moez Moezm
 
Mpdf 7
Mpdf 7Mpdf 7
Mpdf 7
Moez Moezm
 
Mpdf 3
Mpdf 3Mpdf 3
Mpdf 3
Moez Moezm
 
Mpdf 13
Mpdf 13Mpdf 13
Mpdf 13
Moez Moezm
 
Mpdf 4
Mpdf 4Mpdf 4
Mpdf 4
Moez Moezm
 
php
phpphp
Mpdf 6
Mpdf 6Mpdf 6
Mpdf 6
Moez Moezm
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême
OVHcloud
 
Mpdf 10
Mpdf 10Mpdf 10
Mpdf 10
Moez Moezm
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
SOAT
 
Mpdf 5
Mpdf 5Mpdf 5
Mpdf 5
Moez Moezm
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
Moez Moezm
 
Serveur Web (2)
Serveur Web (2)Serveur Web (2)
Serveur Web (2)
Saïd Radhouani
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
Noël
 
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
MongoDB
 
Linux_best_practices
Linux_best_practicesLinux_best_practices
Linux_best_practices
TinarivosoaAbaniaina
 
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
Moez Moezm
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chabergeshiruh
 
Java Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitJava Content Repository avec Jackrabbit
Java Content Repository avec Jackrabbit
Emmanuel Hugonnet
 
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshopMigrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Nuxeo
 

Tendances (20)

Mpdf 2
Mpdf 2Mpdf 2
Mpdf 2
 
Mpdf 7
Mpdf 7Mpdf 7
Mpdf 7
 
Mpdf 3
Mpdf 3Mpdf 3
Mpdf 3
 
Mpdf 13
Mpdf 13Mpdf 13
Mpdf 13
 
Mpdf 4
Mpdf 4Mpdf 4
Mpdf 4
 
php
phpphp
php
 
Mpdf 6
Mpdf 6Mpdf 6
Mpdf 6
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême
 
Mpdf 10
Mpdf 10Mpdf 10
Mpdf 10
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
 
Mpdf 5
Mpdf 5Mpdf 5
Mpdf 5
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
 
Serveur Web (2)
Serveur Web (2)Serveur Web (2)
Serveur Web (2)
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
 
Linux_best_practices
Linux_best_practicesLinux_best_practices
Linux_best_practices
 
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chaberge
 
Java Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitJava Content Repository avec Jackrabbit
Java Content Repository avec Jackrabbit
 
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshopMigrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
 

En vedette

Calaveras
CalaverasCalaveras
Calaverastony
 
第一次分享
第一次分享第一次分享
第一次分享cyrustsai
 
UKS orientation
UKS orientationUKS orientation
UKS orientationneilp9
 
AITN - Folder For Investors English
AITN - Folder For Investors   EnglishAITN - Folder For Investors   English
AITN - Folder For Investors English
Jorge Leonardo Duarte de Oliveira
 
Windows Live Writer rebcorl bar camp 2010
Windows Live Writer rebcorl bar camp 2010Windows Live Writer rebcorl bar camp 2010
Windows Live Writer rebcorl bar camp 2010
Chris Griffith
 
Ibe (his)
Ibe (his)Ibe (his)
Ibe (his)shibom
 
An ASAP Validation Implementation Approach by Qualit Consulting
An ASAP Validation Implementation Approach by  Qualit ConsultingAn ASAP Validation Implementation Approach by  Qualit Consulting
An ASAP Validation Implementation Approach by Qualit Consulting
aesww
 
BCI Eurobib Schulz Speyer Information Counter Catalog
BCI Eurobib Schulz Speyer Information Counter CatalogBCI Eurobib Schulz Speyer Information Counter Catalog
BCI Eurobib Schulz Speyer Information Counter CatalogBCIEurobib
 
Syllabus mca 2 rdbms i
Syllabus mca 2 rdbms iSyllabus mca 2 rdbms i
Syllabus mca 2 rdbms iemailharmeet
 
Linked In for business
Linked In for businessLinked In for business
Linked In for business
alancole99
 
Assignment#4 gorosito
Assignment#4 gorositoAssignment#4 gorosito
Assignment#4 gorosito
AnnyaM
 
Lecture 00 introduction to course
Lecture 00 introduction to courseLecture 00 introduction to course
Lecture 00 introduction to course
emailharmeet
 
Thang danh gia dinh duong trong dat
Thang danh gia dinh duong trong datThang danh gia dinh duong trong dat
Thang danh gia dinh duong trong datcinnamonVY
 
http://taiwanheart.ning.com
http://taiwanheart.ning.comhttp://taiwanheart.ning.com
http://taiwanheart.ning.com
muchmm
 
facebookを使ってみよう!
facebookを使ってみよう!facebookを使ってみよう!
facebookを使ってみよう!
Hidekazu Ishikawa
 
MBA Thesis by Hikmet Tagiyev
MBA Thesis by Hikmet TagiyevMBA Thesis by Hikmet Tagiyev
MBA Thesis by Hikmet Tagiyev
sshikmet
 
MIT game jam參戰心得
MIT game jam參戰心得MIT game jam參戰心得
MIT game jam參戰心得
tppr2046
 
Elearning Северная Столица: Секреты фирмы
Elearning Северная Столица: Секреты фирмыElearning Северная Столица: Секреты фирмы
Elearning Северная Столица: Секреты фирмыDmitri Kunin
 
BCI Eurobib Library Furniture Catalog (2010)
BCI Eurobib Library Furniture Catalog (2010)BCI Eurobib Library Furniture Catalog (2010)
BCI Eurobib Library Furniture Catalog (2010)
BCIEurobib
 

En vedette (20)

Calaveras
CalaverasCalaveras
Calaveras
 
第一次分享
第一次分享第一次分享
第一次分享
 
UKS orientation
UKS orientationUKS orientation
UKS orientation
 
AITN - Folder For Investors English
AITN - Folder For Investors   EnglishAITN - Folder For Investors   English
AITN - Folder For Investors English
 
Windows Live Writer rebcorl bar camp 2010
Windows Live Writer rebcorl bar camp 2010Windows Live Writer rebcorl bar camp 2010
Windows Live Writer rebcorl bar camp 2010
 
Ibe (his)
Ibe (his)Ibe (his)
Ibe (his)
 
An ASAP Validation Implementation Approach by Qualit Consulting
An ASAP Validation Implementation Approach by  Qualit ConsultingAn ASAP Validation Implementation Approach by  Qualit Consulting
An ASAP Validation Implementation Approach by Qualit Consulting
 
BCI Eurobib Schulz Speyer Information Counter Catalog
BCI Eurobib Schulz Speyer Information Counter CatalogBCI Eurobib Schulz Speyer Information Counter Catalog
BCI Eurobib Schulz Speyer Information Counter Catalog
 
Syllabus mca 2 rdbms i
Syllabus mca 2 rdbms iSyllabus mca 2 rdbms i
Syllabus mca 2 rdbms i
 
Linked In for business
Linked In for businessLinked In for business
Linked In for business
 
Assignment#4 gorosito
Assignment#4 gorositoAssignment#4 gorosito
Assignment#4 gorosito
 
Lecture 00 introduction to course
Lecture 00 introduction to courseLecture 00 introduction to course
Lecture 00 introduction to course
 
Thang danh gia dinh duong trong dat
Thang danh gia dinh duong trong datThang danh gia dinh duong trong dat
Thang danh gia dinh duong trong dat
 
http://taiwanheart.ning.com
http://taiwanheart.ning.comhttp://taiwanheart.ning.com
http://taiwanheart.ning.com
 
facebookを使ってみよう!
facebookを使ってみよう!facebookを使ってみよう!
facebookを使ってみよう!
 
MBA Thesis by Hikmet Tagiyev
MBA Thesis by Hikmet TagiyevMBA Thesis by Hikmet Tagiyev
MBA Thesis by Hikmet Tagiyev
 
ENG 105 Module 1 PPT
ENG 105 Module 1 PPTENG 105 Module 1 PPT
ENG 105 Module 1 PPT
 
MIT game jam參戰心得
MIT game jam參戰心得MIT game jam參戰心得
MIT game jam參戰心得
 
Elearning Северная Столица: Секреты фирмы
Elearning Северная Столица: Секреты фирмыElearning Северная Столица: Секреты фирмы
Elearning Северная Столица: Секреты фирмы
 
BCI Eurobib Library Furniture Catalog (2010)
BCI Eurobib Library Furniture Catalog (2010)BCI Eurobib Library Furniture Catalog (2010)
BCI Eurobib Library Furniture Catalog (2010)
 

Similaire à Cozy, a Personal PaaS

4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
Nathalie Richomme
 
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSOSL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
Clément OUDOT
 
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
sebastienmoreno
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
SAIDRAISS2
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
GreenIvory
 
LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)
Clément OUDOT
 
LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2
Clément OUDOT
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
Hervé Leclerc
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows Azure
Microsoft
 
Tout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pasTout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pas
Bruno Bonnin
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
Microsoft
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
benjguin
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
stefounet
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
Microsoft
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
Alexis Hassler
 
Meetup du 21 septembre 2017
Meetup du 21 septembre 2017Meetup du 21 septembre 2017
Meetup du 21 septembre 2017
AFUP_Limoges
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
Microsoft
 
Paris RailsCamp 2009
Paris RailsCamp 2009Paris RailsCamp 2009
Paris RailsCamp 2009
Olivier Gutknecht
 

Similaire à Cozy, a Personal PaaS (20)

4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
 
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSOSL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO
 
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)LemonLDAP::NG et le support SAML2 (RMLL 2010)
LemonLDAP::NG et le support SAML2 (RMLL 2010)
 
LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2LemonLDAP::NG et le support SAML2
LemonLDAP::NG et le support SAML2
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows Azure
 
Tout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pasTout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pas
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
 
Meetup du 21 septembre 2017
Meetup du 21 septembre 2017Meetup du 21 septembre 2017
Meetup du 21 septembre 2017
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
Paris RailsCamp 2009
Paris RailsCamp 2009Paris RailsCamp 2009
Paris RailsCamp 2009
 

Plus de Frank Rousseau

Synchronisation de périphériques avec Javascript et PouchDB
Synchronisation de périphériques avec Javascript et PouchDBSynchronisation de périphériques avec Javascript et PouchDB
Synchronisation de périphériques avec Javascript et PouchDB
Frank Rousseau
 
Device Synchronization with Javascript and PouchDB
Device Synchronization with Javascript and PouchDBDevice Synchronization with Javascript and PouchDB
Device Synchronization with Javascript and PouchDB
Frank Rousseau
 
Node.js et NPM: de la récupération de dépendances à la publication de paquets
Node.js et NPM: de la récupération de dépendances à la publication de paquetsNode.js et NPM: de la récupération de dépendances à la publication de paquets
Node.js et NPM: de la récupération de dépendances à la publication de paquets
Frank Rousseau
 
Newebe, un Réseau Social ou Chacun est Indépendant
Newebe, un Réseau Social ou Chacun est IndépendantNewebe, un Réseau Social ou Chacun est Indépendant
Newebe, un Réseau Social ou Chacun est Indépendant
Frank Rousseau
 
Conseils sur le Design pour les Développeurs par un Développeur
Conseils sur le Design pour les Développeurs par un DéveloppeurConseils sur le Design pour les Développeurs par un Développeur
Conseils sur le Design pour les Développeurs par un Développeur
Frank Rousseau
 
Développement web sans souffrance avec Cozy
Développement web sans souffrance avec CozyDéveloppement web sans souffrance avec Cozy
Développement web sans souffrance avec Cozy
Frank Rousseau
 
Newebe, a social network where all users are independent
Newebe, a social network where all users are independentNewebe, a social network where all users are independent
Newebe, a social network where all users are independent
Frank Rousseau
 
Cozy Cloud, Pour un meilleur web
Cozy Cloud, Pour un meilleur webCozy Cloud, Pour un meilleur web
Cozy Cloud, Pour un meilleur web
Frank Rousseau
 
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Frank Rousseau
 
20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdevFrank Rousseau
 
A startup with no office, hipster tools and open source products
A startup with no office, hipster tools and open source productsA startup with no office, hipster tools and open source products
A startup with no office, hipster tools and open source products
Frank Rousseau
 
How to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with CozyHow to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with Cozy
Frank Rousseau
 
How to quickly make REST APIs with CompoundJS
How to quickly make REST APIs with CompoundJSHow to quickly make REST APIs with CompoundJS
How to quickly make REST APIs with CompoundJS
Frank Rousseau
 
Haibu: dev deployment is fast and easy again
Haibu: dev deployment is fast and easy againHaibu: dev deployment is fast and easy again
Haibu: dev deployment is fast and easy again
Frank Rousseau
 
Cozy Cloud, JDLL 2012
Cozy Cloud, JDLL 2012Cozy Cloud, JDLL 2012
Cozy Cloud, JDLL 2012
Frank Rousseau
 
Newebe, JDLL 2012
Newebe, JDLL 2012Newebe, JDLL 2012
Newebe, JDLL 2012
Frank Rousseau
 
Newebe for RMLL 2012
Newebe for RMLL 2012Newebe for RMLL 2012
Newebe for RMLL 2012
Frank Rousseau
 
Cozy Cloud for RMLL 2012
Cozy Cloud for RMLL 2012Cozy Cloud for RMLL 2012
Cozy Cloud for RMLL 2012
Frank Rousseau
 

Plus de Frank Rousseau (18)

Synchronisation de périphériques avec Javascript et PouchDB
Synchronisation de périphériques avec Javascript et PouchDBSynchronisation de périphériques avec Javascript et PouchDB
Synchronisation de périphériques avec Javascript et PouchDB
 
Device Synchronization with Javascript and PouchDB
Device Synchronization with Javascript and PouchDBDevice Synchronization with Javascript and PouchDB
Device Synchronization with Javascript and PouchDB
 
Node.js et NPM: de la récupération de dépendances à la publication de paquets
Node.js et NPM: de la récupération de dépendances à la publication de paquetsNode.js et NPM: de la récupération de dépendances à la publication de paquets
Node.js et NPM: de la récupération de dépendances à la publication de paquets
 
Newebe, un Réseau Social ou Chacun est Indépendant
Newebe, un Réseau Social ou Chacun est IndépendantNewebe, un Réseau Social ou Chacun est Indépendant
Newebe, un Réseau Social ou Chacun est Indépendant
 
Conseils sur le Design pour les Développeurs par un Développeur
Conseils sur le Design pour les Développeurs par un DéveloppeurConseils sur le Design pour les Développeurs par un Développeur
Conseils sur le Design pour les Développeurs par un Développeur
 
Développement web sans souffrance avec Cozy
Développement web sans souffrance avec CozyDéveloppement web sans souffrance avec Cozy
Développement web sans souffrance avec Cozy
 
Newebe, a social network where all users are independent
Newebe, a social network where all users are independentNewebe, a social network where all users are independent
Newebe, a social network where all users are independent
 
Cozy Cloud, Pour un meilleur web
Cozy Cloud, Pour un meilleur webCozy Cloud, Pour un meilleur web
Cozy Cloud, Pour un meilleur web
 
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
Comment les grands acteurs du web s'improvisent magiciens et jouent avec nos ...
 
20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev
 
A startup with no office, hipster tools and open source products
A startup with no office, hipster tools and open source productsA startup with no office, hipster tools and open source products
A startup with no office, hipster tools and open source products
 
How to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with CozyHow to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with Cozy
 
How to quickly make REST APIs with CompoundJS
How to quickly make REST APIs with CompoundJSHow to quickly make REST APIs with CompoundJS
How to quickly make REST APIs with CompoundJS
 
Haibu: dev deployment is fast and easy again
Haibu: dev deployment is fast and easy againHaibu: dev deployment is fast and easy again
Haibu: dev deployment is fast and easy again
 
Cozy Cloud, JDLL 2012
Cozy Cloud, JDLL 2012Cozy Cloud, JDLL 2012
Cozy Cloud, JDLL 2012
 
Newebe, JDLL 2012
Newebe, JDLL 2012Newebe, JDLL 2012
Newebe, JDLL 2012
 
Newebe for RMLL 2012
Newebe for RMLL 2012Newebe for RMLL 2012
Newebe for RMLL 2012
 
Cozy Cloud for RMLL 2012
Cozy Cloud for RMLL 2012Cozy Cloud for RMLL 2012
Cozy Cloud for RMLL 2012
 

Cozy, a Personal PaaS

  • 2. Le cloud c'est bien mais...
  • 3. nos données sont mal exploitées
  • 5. Difficile d'y faire de nouvelles choses
  • 6.
  • 7. Cozy est un espace pour vos web applications et vos données
  • 8.
  • 10. backup et synchronisation faciles un seul langage performant
  • 11.
  • 12. proxy • Authentification • Routage • Ecrans de login/enregistrements
  • 13. # exemple https://your-cozy.you.net/apps/notes Reroute vers (dans la machine): => http://localhost:9202
  • 14.
  • 15. home • Front-end pour la gestion des applications • État des applications • Market place • Synchro proxy
  • 16. data-system • API Rest • Documents JSON • Indexes • fichiers • Droit d'accès • Publication/Souscription
  • 17.
  • 18. pub/sub Basé sur axon (zmq-like) Wrappé dans une lib maison:    realtime adapter Transmission au browser via websocket
  • 19. # ODM classique Note.create data, (err, note) ->             console.log id # Indexation note.index ["title", "content"], callback Note.search "dragons", (err, notes) ...→ # Fichiers note.attachFile file.path, {name: file.name}, callback fileStream = note.getFile name, callback # Emails CozyAdapter = require 'juggling-cozy-adapter' data = to: "test@cozycloud.cc" from: "Cozy-test <test@cozycloud.cc>" subject: "Test jugglingdb" content: "Content of mail" CozyAdapter.sendMail data, callback # Pub/Sub realtime = RealtimeAdapter app, ['note.*'] realtime.on 'note.update', (event, id) → # do something...
  • 20. 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 
  • 21. conditions Un fichier server.js ou server.coffee à la racine + Manifeste NodeJS (package.json) + Paramètres Cozy (permissions, widgets) 
  • 22. { "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 <frank@cozycloud.cc>", "contributors": ["Frank <frank@cozycloud.cc>"], "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." } } }
  • 23. comment le controller déploie Création d'un utilisateur Unix  git clone npm install Il enregistre les informations de l'application
  • 24.
  • 25. Painless Web Development manifesto 1. Use template 2. Isolate your environments 3. Deploy fast 4. Make front-end dev easy
  • 26. $ npm install cozy -g $ npm install brunch -g
  • 27. 1. Use template 2. Isolate your environements $ cozy new yourapp $ cozy dev:init && cozy dev:start
  • 28. 3. Deploy fast 4. Make front-end dev easy $ cozy deploy $ cd client && brunch w
  • 29.
  • 30. write your app for cozy http://cozy.io/hack Crédits photos : blaster_e11  Licences Creative Commons