SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
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

[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êmeOVHcloud
 
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éesSOAT
 
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 webNoë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
 
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 JackrabbitEmmanuel 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 - workshopNuxeo
 

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
 
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 2010Chris 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 Consultingaesww
 
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 businessalancole99
 
Assignment#4 gorosito
Assignment#4 gorositoAssignment#4 gorosito
Assignment#4 gorositoAnnyaM
 
Lecture 00 introduction to course
Lecture 00 introduction to courseLecture 00 introduction to course
Lecture 00 introduction to courseemailharmeet
 
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.commuchmm
 
facebookを使ってみよう!
facebookを使ってみよう!facebookを使ってみよう!
facebookを使ってみよう!Hidekazu Ishikawa
 
MBA Thesis by Hikmet Tagiyev
MBA Thesis by Hikmet TagiyevMBA Thesis by Hikmet Tagiyev
MBA Thesis by Hikmet Tagiyevsshikmet
 
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 WebSSOClé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 entrepriseSAIDRAISS2
 
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 SAML2Clé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 noSQLHervé 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 AzureMicrosoft
 
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 pasBruno 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 cloudstefounet
 
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 webmediaMicrosoft
 
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. 2012Alexis Hassler
 
Meetup du 21 septembre 2017
Meetup du 21 septembre 2017Meetup du 21 septembre 2017
Meetup du 21 septembre 2017AFUP_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 KeynoteMicrosoft
 

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 PouchDBFrank Rousseau
 
Device Synchronization with Javascript and PouchDB
Device Synchronization with Javascript and PouchDBDevice Synchronization with Javascript and PouchDB
Device Synchronization with Javascript and PouchDBFrank 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 paquetsFrank 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épendantFrank 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éveloppeurFrank 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 CozyFrank 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 independentFrank Rousseau
 
Cozy Cloud, Pour un meilleur web
Cozy Cloud, Pour un meilleur webCozy Cloud, Pour un meilleur web
Cozy Cloud, Pour un meilleur webFrank 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 productsFrank 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 CozyFrank 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 CompoundJSFrank 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 againFrank Rousseau
 
Cozy Cloud for RMLL 2012
Cozy Cloud for RMLL 2012Cozy Cloud for RMLL 2012
Cozy Cloud for RMLL 2012Frank 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