Oxalide MorningTech #1 - BigData
1er MorningTech @Oxalide, animé par Ludovic Piot (@lpiot), le 15 décembre 2016.
Pour cette 1ère édition du Morning Tech nous vous proposons une overview sur un des thèmes du moment : le Big Data.
Au delà de ce buzz word nous aborderons :
Les grands concepts
Les étapes clés des projets Big Data et les technologies à utiliser (stockage, ingestion, …)
Les enjeux des architectures Big Data (architecture lambda, …)
L'intelligence artificielle (machine learning, deep learning, …)
Et nous finirons par un cas d'usage du big data sur AWS autour de l'utilisation des données gyroscopiques de vos internautes mobiles
Subject: Oxalide's 1st MorningTech talk about BigData.
Date: 15-dec-2016
Speakers: Ludovic Piot (@lpiot, @oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-morningtech-number-1-bigdata
Lien SlideShare : https://www.slideshare.net/LudovicPiot/oxalide-morningtech-1-bigdata
YouTube Video capture: https://youtu.be/7O85lRzvMY0
Main topics:
* Les grands enjeux du BigData
** les 3 V du Gartner : volume, variété, vélocité
* Le stockage des données
** datalake
** les technos
* L'ingestion des données
** ETL
** datastream
** les technos
* Les enjeux du compute
** map-reduce
** spark
** lambda architecture
* Démo d'une plateforme BigData sur AWS
* L'intelligence artificielle
** datascience exploratoire et notebooks,
** machine learning,
** deep learning,
** data pipeline
** les technos
* Pour aller plus loin
** La gouvernance des données
** La dataviz
Un retour d'expérience concernant l'implémentation d'une nouvelle API RESTful pour exposer du contenu JCR au sein d'une installation Jahia Digital Factory.
Architecture d’une app qui fait 5 millions de visites par moisJulien Carnelos
Basé sur un cas réel dans la presse quotidienne régionale, cette présentation vous montrera quels sont les principes d'architecture à respecter pour concevoir et maintenir un parc d'applications mobiles natives iOS / Android / Windows Phone 8. Nous verrons les différentes étapes de la construction d'un socle commun et générique, résistant à la charge et évolutif. Nous parlerons également des solutions hybrides, de la gestion server-side, de la prise en compte du réseau mobile et des difficultés rencontrées.
Tout le monde dit faire ou vouloir faire une architecture de type Rest, que cela implique-t-il vraiment ?
Où vous situez-vous sur le "Richardson Maturity Model" ? Votre API est à la fois Hypermedia et JSON, « Are you kidding ? »
Si ce sont des questions qui vous taraudent l'esprit et même vous empêchent de dormir, alors venez écouter ce talk pour avoir des pistes de réflexions, des échanges et peut-être des réponses, qui sait ?
Oxalide MorningTech #1 - BigData
1er MorningTech @Oxalide, animé par Ludovic Piot (@lpiot), le 15 décembre 2016.
Pour cette 1ère édition du Morning Tech nous vous proposons une overview sur un des thèmes du moment : le Big Data.
Au delà de ce buzz word nous aborderons :
Les grands concepts
Les étapes clés des projets Big Data et les technologies à utiliser (stockage, ingestion, …)
Les enjeux des architectures Big Data (architecture lambda, …)
L'intelligence artificielle (machine learning, deep learning, …)
Et nous finirons par un cas d'usage du big data sur AWS autour de l'utilisation des données gyroscopiques de vos internautes mobiles
Subject: Oxalide's 1st MorningTech talk about BigData.
Date: 15-dec-2016
Speakers: Ludovic Piot (@lpiot, @oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-morningtech-number-1-bigdata
Lien SlideShare : https://www.slideshare.net/LudovicPiot/oxalide-morningtech-1-bigdata
YouTube Video capture: https://youtu.be/7O85lRzvMY0
Main topics:
* Les grands enjeux du BigData
** les 3 V du Gartner : volume, variété, vélocité
* Le stockage des données
** datalake
** les technos
* L'ingestion des données
** ETL
** datastream
** les technos
* Les enjeux du compute
** map-reduce
** spark
** lambda architecture
* Démo d'une plateforme BigData sur AWS
* L'intelligence artificielle
** datascience exploratoire et notebooks,
** machine learning,
** deep learning,
** data pipeline
** les technos
* Pour aller plus loin
** La gouvernance des données
** La dataviz
Un retour d'expérience concernant l'implémentation d'une nouvelle API RESTful pour exposer du contenu JCR au sein d'une installation Jahia Digital Factory.
Architecture d’une app qui fait 5 millions de visites par moisJulien Carnelos
Basé sur un cas réel dans la presse quotidienne régionale, cette présentation vous montrera quels sont les principes d'architecture à respecter pour concevoir et maintenir un parc d'applications mobiles natives iOS / Android / Windows Phone 8. Nous verrons les différentes étapes de la construction d'un socle commun et générique, résistant à la charge et évolutif. Nous parlerons également des solutions hybrides, de la gestion server-side, de la prise en compte du réseau mobile et des difficultés rencontrées.
Tout le monde dit faire ou vouloir faire une architecture de type Rest, que cela implique-t-il vraiment ?
Où vous situez-vous sur le "Richardson Maturity Model" ? Votre API est à la fois Hypermedia et JSON, « Are you kidding ? »
Si ce sont des questions qui vous taraudent l'esprit et même vous empêchent de dormir, alors venez écouter ce talk pour avoir des pistes de réflexions, des échanges et peut-être des réponses, qui sait ?
Architecture de services web de type ressourceAntoine Pouch
Les services de type ressource sont très répandus, ils se cachent parmi nous sous l'appellation RESTful. Mais ils n'étaient pas là les premiers et leurs ancêtres ont 2-3 choses à nous apprendre. Par ailleurs, ils bénéficieront grandement d'un peu plus d'attention que de simplement les coller sur un framwork MVC. J'expliquerai les différentes couches les composants, les différents systèmes de requête/réponse et leur intégration avec ces fameux frameworks MVC que tout le monde adore.
Au delà de ce buzz word :
Les grands concepts
Les étapes clés des projets Big Data et les technologies à utiliser (stockage, ingestion, …)
Les enjeux des architectures Big Data (architecture lambda, …)
L'intelligence artificielle (machine learning, deep learning, …)
Et un cas d'usage du big data sur AWS autour de l'utilisation des données gyroscopiques de vos internautes mobiles.
Objectif général : Connaître les fondamentaux d’une API REST
Objectifs spécifiques :
Savoir définir une API
Connaître l’architecture REST
Connaître les contraintes du REST
Connaître la structure d’une requêtes HTTP
Connaître les caractéristiques d’une ressources
Se servir des méthodes HTTP
Connaître la structure d’une réponses HTTP
Connaître les codes HTTP
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
NodeJs, GruntJs, Bower, Karma, ... des buzzwords dont nous entendons parler, que nous voyons passer dans les blogs/articles. Mais à quoi servent-ils ?
Comment industrialiser nos développements Javascript ? Mettre en place des tests unitaires dans une application Web ? Générer de la documentation ? Des métriques qualités ? La couverture de code ? Comme avec Maven ? Nous verrons concrètement comment articuler tous ces outils autour d'une application école, pour démystifier tout ça.
Ce support explique les concepts de base de Big Data Processing. Elle aborde les parties suivantes :
Série de vidéos : https://www.youtube.com/watch?v=1JAljjxpm-Q
- Introduction au Big Data
- Système de stockage en Big Data
- Batch Processing et Stream Processing en Big Data
- Aperçu bref de l’écosystème de Hadoop
- Aperçu de l’écosystème des outils du Bid Gata
- Big data stream processing avec Kafka écosystème
- Architecture de Kafka (Brokers, Zookeeper, Procuder, Consumer, Kafka Streams, Connecteurs)
- Comment démarrer un cluster de brokers KAFKA
- Création et configuration des Topics
- Création d’un Java Kafka consumer
- Création d’un Java Kafka Produder
- Kafka Producer et Kafka Consumer dans une application basée sur Spring
- Kafka Streams
- Intégration de Kafka dans Spring Cloud.
Mot clés : Big data, Big Data Processing, Stream Processing, Kafka, Kafka Streams, Java, Spring
Bon apprentissage
#SPSParis quoi de neuf avec le microsoft graphVincent Biret
Slides de la session "quoi de neuf avec le Microsoft Graph?" par Vincent Biret au SharePoint Saturday Paris 2017. Retour sur les nouveautés livrées au cours de 2017
U1 - Quoi de neuf avec le Microsoft Graph - Vincent BiretSPS Paris
Vous aviez jeté un oeuil au Microsoft Graph il y a quelques temps et n’avez pas eu le temps de suivre les nouveautés ? Ou bien vous ne savez pas trop ce que c’est et ce que ça apporte ?
Pendant cette session nous ferons quelques rapides rappels et nous verrons ensuite que le Graph a beaucoup évolué. Il vous permet d’avoir accès maintenant à énormément de données et services depuis n’importe quel langage et facilement.
Nous parlerons aussi des nouveautés à venir.
De nombreuses démonstrations prévues pour cette session adressée aux développeurs et décideurs.
Architecture de services web de type ressourceAntoine Pouch
Les services de type ressource sont très répandus, ils se cachent parmi nous sous l'appellation RESTful. Mais ils n'étaient pas là les premiers et leurs ancêtres ont 2-3 choses à nous apprendre. Par ailleurs, ils bénéficieront grandement d'un peu plus d'attention que de simplement les coller sur un framwork MVC. J'expliquerai les différentes couches les composants, les différents systèmes de requête/réponse et leur intégration avec ces fameux frameworks MVC que tout le monde adore.
Au delà de ce buzz word :
Les grands concepts
Les étapes clés des projets Big Data et les technologies à utiliser (stockage, ingestion, …)
Les enjeux des architectures Big Data (architecture lambda, …)
L'intelligence artificielle (machine learning, deep learning, …)
Et un cas d'usage du big data sur AWS autour de l'utilisation des données gyroscopiques de vos internautes mobiles.
Objectif général : Connaître les fondamentaux d’une API REST
Objectifs spécifiques :
Savoir définir une API
Connaître l’architecture REST
Connaître les contraintes du REST
Connaître la structure d’une requêtes HTTP
Connaître les caractéristiques d’une ressources
Se servir des méthodes HTTP
Connaître la structure d’une réponses HTTP
Connaître les codes HTTP
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
NodeJs, GruntJs, Bower, Karma, ... des buzzwords dont nous entendons parler, que nous voyons passer dans les blogs/articles. Mais à quoi servent-ils ?
Comment industrialiser nos développements Javascript ? Mettre en place des tests unitaires dans une application Web ? Générer de la documentation ? Des métriques qualités ? La couverture de code ? Comme avec Maven ? Nous verrons concrètement comment articuler tous ces outils autour d'une application école, pour démystifier tout ça.
Ce support explique les concepts de base de Big Data Processing. Elle aborde les parties suivantes :
Série de vidéos : https://www.youtube.com/watch?v=1JAljjxpm-Q
- Introduction au Big Data
- Système de stockage en Big Data
- Batch Processing et Stream Processing en Big Data
- Aperçu bref de l’écosystème de Hadoop
- Aperçu de l’écosystème des outils du Bid Gata
- Big data stream processing avec Kafka écosystème
- Architecture de Kafka (Brokers, Zookeeper, Procuder, Consumer, Kafka Streams, Connecteurs)
- Comment démarrer un cluster de brokers KAFKA
- Création et configuration des Topics
- Création d’un Java Kafka consumer
- Création d’un Java Kafka Produder
- Kafka Producer et Kafka Consumer dans une application basée sur Spring
- Kafka Streams
- Intégration de Kafka dans Spring Cloud.
Mot clés : Big data, Big Data Processing, Stream Processing, Kafka, Kafka Streams, Java, Spring
Bon apprentissage
#SPSParis quoi de neuf avec le microsoft graphVincent Biret
Slides de la session "quoi de neuf avec le Microsoft Graph?" par Vincent Biret au SharePoint Saturday Paris 2017. Retour sur les nouveautés livrées au cours de 2017
U1 - Quoi de neuf avec le Microsoft Graph - Vincent BiretSPS Paris
Vous aviez jeté un oeuil au Microsoft Graph il y a quelques temps et n’avez pas eu le temps de suivre les nouveautés ? Ou bien vous ne savez pas trop ce que c’est et ce que ça apporte ?
Pendant cette session nous ferons quelques rapides rappels et nous verrons ensuite que le Graph a beaucoup évolué. Il vous permet d’avoir accès maintenant à énormément de données et services depuis n’importe quel langage et facilement.
Nous parlerons aussi des nouveautés à venir.
De nombreuses démonstrations prévues pour cette session adressée aux développeurs et décideurs.
Similaire à Comprendre, utiliser et créer une API (20)
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24BenotGeorges3
Les informations et évènements agricoles en province du Luxembourg et en Wallonie susceptibles de vous intéresser et diffusés par le SPW Agriculture, Direction de la Recherche et du Développement, Service extérieur de Libramont.
https://agriculture.wallonie.be/home/recherche-developpement/acteurs-du-developpement-et-de-la-vulgarisation/les-services-exterieurs-de-la-direction-de-la-recherche-et-du-developpement/newsletters-des-services-exterieurs-de-la-vulgarisation/newsletters-du-se-de-libramont.html
Bonne lecture et bienvenue aux activités proposées.
#Agriculture #Wallonie #Newsletter #Recherche #Développement #Vulgarisation #Evènement #Information #Formation #Innovation #Législation #PAC #SPW #ServicepublicdeWallonie
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Formation
Suite à l'entrée en vigueur de la « Participation Financière Obligatoire » le 2 mai dernier, les règles du jeu ont changé !
Pour les entreprises, cette révolution du dispositif est l'occasion de revoir sa stratégie de formation pour co-construire avec ses salariés un plan de formation alliant performance de l'organisation et engagement des équipes.
Au cours de ce webinar de 20 minutes, co-animé avec la Caisse des Dépôts et Consignations, découvrez tous les détails actualisés sur les dotations et les exonérations, les meilleures pratiques, et comment maximiser les avantages pour les entreprises et leurs salariés.
Au programme :
- Principe et détails de la « Participation Financière Obligatoire » entrée en vigueur
- La dotation : une opportunité à saisir pour co-construire sa stratégie de formation
- Mise en pratique : comment doter ?
- Quelles incidences pour les titulaires ?
Webinar exclusif animé à distance en coanimation avec la CDC
2. SOMMAIRE
• Carte d’identité d’une API
• Utilisation
• Consommateur
• Producteur
• Marché
• Catégories d’API
• Données véhiculées
• SOAP et REST
• Exemples
• Des idées qui émergent?
• Pour les curieux…
3. CARTE D’IDENTITÉ D’UNE API
• Quoi ? Ensemble de fonctions exposées par un programme tiers pour accéder à tout ou
partie de ses fonctionnalités
• Qui ? Par des développeurs pour des développeurs
• Comment ? N’importe quel langage de programmation !
• Une API ≡ plusieurs implémentations
• Par abus de langage, les API couramment utilisées et entendues comme telles sont des accès à des
web services
• Où et quand ? …
9. UTILISATION : CÔTÉ CONSOMMATEUR
PROS
• Utilisation de fonctionnalités même si expertise et/ou
ressources manquantes en interne
• Standardisation des API garantit des consensus
d’utilisation (ex. : standards HTTP, modèle REST, etc.)
→ grande communauté et possibilité d’entraide
• Mise en pratique rapide avant rachat ou recherche en
interne sur d’autres pistes
CONS
• Dépendance très forte au producteur → maintenance ±
accrue lors d’évolutions (modification des algorithmes,
dépréciation de fonctionnalités, voire cessation de
services)
• Problèmes de compatibilité entre API → boîte noire avec
les dépendances importées
10. UTILISATION :
CÔTÉ
PRODUCTEUR
• Industrialisation et monétisation des algorithmes et/ou des données
• Inclusion de nouveaux acteurs au sein de son marché (recrutement
des utilisateurs, intégration de nouveaux usages via feedbacks…)
• Maîtrise des données échangées : sécurisation des données plutôt que
d’un monolithe applicatif
• Pas de présupposé sur les technologies finales employées : support et
maintenance réduits aux fonctionnalités
• Implémentation respectueuse des standards (guidelines
préexistantes...) → Gain de temps lors des spécifications
• Découpage en micro-services : concentration sur cœur de
métier/fonctionnalité, même en interne
11. Catégories d’API
API de système d’exploitation API de langage de programmation
API d’infrastructure API ou service web
12. SPÉCIFICITÉS DES API POUR DEVICES « MOBILES »
• Prendre en compte les utilisateurs finaux! → ATAWAD
• Besoin d’instantané (AnyTime,AnyWhere)
• Multiplicité des interactions entre applications sur un ou entre appareil(s) (AnyDevice)
• Architecture client-serveur, les clients étant les appareils de X marques
• Optimisation des transmissions de données (requêtes, temps de traitement, etc.)
• Atomisation de l’information
• « Technology-agnostism »
13. MARCHÉ :
UNE EXPLOSION DU
TERME “API” EN
MARKETING
• Concentration sur un service fourni plutôt qu’un
produit – pas de dépendance matérielle!
• Réseaux facilement accessibles : mises à jour en temps
réel, possibilité de traitements asynchrones…
• Régulation des requêtes, meilleur management côté
serveur
• Business model ≡ licences et non produits
• Unités : nombre de données stockées, échangées,
nombre de requêtes effectuées, …
14. OPEN API != OPEN SOURCE !
Il existe une spécification sur ce que doit être une OpenAPI...
Une API incluant le mot « Open » permet de supposer
qu’elle respecte les contraintes de cette spécification.
+ Rarement un accès au code interne
+Très souvent limitées (restrictions via adresse IP, tokens, coût/nombre
par requêtes…)
15. DONNÉES
VÉHICULÉES
• Stateless : 2 états bien distincts, chacun géré par un côté
• État de l’application géré par le client
• État des ressources géré par le serveur
• Principes de la POO (Programmation Orientée-Objet)
• Communiquer via des objets
• Encapsulation des données
• Gestion de données : respecter les opérations CRUD
(Create, Read, Update, Delete)
• Sérialisation des données :
16. SOAP VERSUS REST
• Simple Object Access Protocol – Framework de protocoles
• Par Microsoft
• Verbeux, lisible et compréhensible par les « non-initiés » -- XML
• Nécessite de coder et maintenir des lecteurs et parseurs spécifiques → mise à jour client quand mise à
jour serveur
• REpresentational State Transfer – Style d’architecture
• Thèse de RoyThomas Fielding
• Ontologie et consensus sur l’écriture (verbes, statuts…)
• Les données peuvent changer rapidement → délégation d’une partie des fonctionnalités grâce à une
entente commune
17. POSER UNE QUESTION…
• Où se trouve la ressource ?
• Qu’est-ce qu’on va faire à cette ressource ?
• Qui je suis, pourquoi et comment je veux obtenir cette ressource ?
En quelle langue je parle, avec quel « alphabet » ?
• Des précisions sur ce qu’on va faire à la ressource
• URL
• Method
• Headers
• Body
18. URL
• Uniform Resource Locator
http:// sousdomaine.domaine.gigadomaine :8080 / dossier / sousdossier…
Protocole Chemin « absolu » sur le serveur
Port
Domaine et leurs divisions
UNE URL = UNE ressource (donnée, type de données, traitement…)
URLs = « endpoints »
19. MÉTHODES HTTP
• GET → Récupération d’une ressource
• PUT → Mise à jour/remplacement de ressources
20. MÉTHODES HTTP
• GET → Récupération d’une ressource
• PUT → Mise à jour/remplacement de ressources
• POST → Création d’une ressource
• DELETE → Suppression d’une ressource
21. MÉTHODES HTTP
• GET → Récupération d’une ressource
• PUT → Mise à jour/remplacement de ressources
• POST → Création d’une ressource
• DELETE → Suppression d’une ressource
• HEAD → Informations sur la ressource
• PATCH → Modifier une partie d’une ressource
• TRACE → Retourne ce qui a été reçu (debug)
• OPTIONS → Options de communication d’une ressource
22. … ET RECEVOIR UNE RÉPONSE
• Comment le serveur a réagi à la demande
• Dans quel langue, avec quels protocoles de communication la
ressource va être partagée
• Une mise en forme de ce qui a été demandé
• Status code
• Headers
• Body
23. ETATS DES RÉPONSES REÇUES (CODES HTTP)
• 1xx → Information
• 2xx → Requête réussie
• 3xx → Requête redirigée
• 4xx → Requête mal formulée (côté client)
• 5xx → Impossibilité de répondre à la requête (côté serveur)
24. HEADERS
Authorization → On a obtenu l’autorisation d’accéder aux ressources
Content-Type → Type du fichier demandé, et dans quel codage
Date → Quand est-ce que la requête a été faite ?
Expect → Qu’est-ce qu’on s’attend à avoir comme réponse ?
Host → Quel domaine (et sous-domaine…) a demandé la ressource ?
If-[condition] → Ce qu’on s’attend à avoir si certaines conditions
User-Agent → A partir de quel logiciel/navigateur essaie-t-on de récupérer la ressource ?
25. BODY
• Vide
• Texte « pur » (lisible sans traitement)
• Bits
• Fichiers multimédia
• Données ordonnées
• JSON
• XML
• HTML (directement interprété par le navigateur…)
26. MESURE DE QUALITÉ D’UNE API
• Expérience développeur : taille de la communauté, entraide, blogs, etc.
• Sécurité :
• Des données et traitements internes
• Des demandes des utilisateurs
• Bonne gestion des cas d’erreurs et codes HTTP pertinents
• Possibilité d’évolutions : features, données supplémentaires, optimisations…
32. AVANT TOUT… Conseils et bonnes pratiques
• « Faites des dessins! »
• Penser à son public
• KISS (Keep It Simple, Stupid!)
• « Eating your own dog food »
• ATAWAD (AnyTime, AnyWhere, Any Device)
• Être pessimiste!
• « SISO » à éviter…
34. LEXICOGRAPHIE
• API :Application Programming Interface
• RPC : Remote Procedure Call
• SOAP : Simple Object Access Protocol
• WSDL :Web Service Document Language
• REST : REpresentational StateTransfer
• TTFAC :Time To First Api Call
• URL : Uniform Resource Locator
35. Pour aller plus loin…
• How to Create a REST Protocol
• Learn REST :A Tutorial
• SOAP vs REST differences
• Documenting APIs:A guide for technical writers
• Wikipedia forWebAPIs
• Public APIs for any use