Coudifié.
Pour apprendre le CSS3 et le HTML5 en grosso-modo 2h. Très pratique pour se mettre dans le bain de la partie front-web sans prise de tête.
Rappel des définitions
PWA : Progressive Web App.
SPA : Single Page Application (voir ce post).
Introduction
Une PWA est fondamentalement une SPA à laquelle a été ajouté deux choses :
- Elle se comporte comme une application native sur les appareils (Mobile, Tablette et PC).
En d'autres termes, l'utilisateur trouvera sur son bureau une icône du site web développé à partir de la technologie PWA.
Elle peut travailler en mode déconnecté via ce que l'on appelle les Service Workers.
Fondamentalement qu'est-ce que ça change ?
Côté mobile, l’utilisateur installe la PWA de deux façons :
- Soit via un simple bookmark posé sur son bureau.
- Soit via un AppStore qui lui créera une icône sur son bureau.
Il a dont l'impression "d'installer une appli" et non plus de "surfer sur internet".
Si une panne de réseau survient, les Service Workers de la PWA vont prendre le relais et :
- Soit empiler les requêtes en fournissant les données précédentes.
- Soit en calculant les données requises (si possible).
Le Service Worker agit donc un peu comme un proxy, mais côté client, à qui le navigateur délègue l'accès au réseau.
Le gros avantage de la PWA sur les applications natives est qu'il n'est plus nécessaire de développé une version de GUI par plateforme mais tout via des technos web (Aurelia, Angular, Vue, etc).
Différence entre WebApp & SPA
Pour bien comprendre la différence, analysons le schéma placé en lien.
La partie supérieure montre bien qu'à chaque requête, toute la page est rechargée. C'est-à-dire que le navigateur va télécharger du HTML + du contenu (en supposant qu'il dispose déjà dans son cache de tous les CSS et JS dont il a besoin).
En-dessous se trouve la SPA, celle-ci va télécharger tout le HTML et le JS lors de la première requête uniquement. Ensuite, seule des données sont échangées entre le client et le serveur, généralement au format JSON (je précise minifié, ceci afin d'obtenir les meilleures performances possibles).
Quand utiliser quoi ?
- Lorsque vos utilisateurs surfent très peu sur votre site et qu'ils ont besoin d'accéder à du contenu rapidement, alors la WebApp est la solution à privilégier - le coût de chargement de la page étant réduit à l'ensemble des informations servant l'utilisateur).
- À l'inverse si vos utilisateurs sont connectés pendant dès heures sur votre site et qu'ils passent sans arrêt de page en page, alors la SPA est à privilégier - tout simplement parce que le coût de téléchargement de la première page (qui contient en réalité toutes les pages du site) est alors rentabilisé par le surf de longue durée.
Quelles technos pour des SPA ?
Les plus connues sont rangées par ordre décroissant d'importance sur le marché :
- Angular
- Vue JS
- React JS (+ redux)
- Ember JS
- Aurelia (qui est de loin ma préférée)
Introduction Les métriques sont la partie la plus visible d'une architecture de supervision. Ce sont des données en général facile à récupérer et à stocker. Par conséquent, il arrive souvent qu'on n'investisse pas assez de temps dans la compréhension des données collectées, du pourquoi nous les collectons et ce que …
Un tutoriel sur Bluemix. Pour toi Animal.
Pour toi Chlouchloutte.
Un site de tuto pour le chiffrement. En première page, la différence entre Chiffrer et Crypter parce que les mots sont important
Un résumé des formations Zenika sur les micro-services pour 1890 € HT / jour.
Présentation
Une architecture microservices présente des avantages, mais nécessite une grande maturité dans les pratiques de développement, de déploiement et de maintien en conditions opérationnels. Cette formation vise à couvrir les pratiques, techniques et technologies essentielles pour tirer pleinement bénéfice d’un système découpé en microservices.
Objectifs
Sensibiliser les développeurs aux problématiques et à les résoudre dans une architecture microservices
Aider les développeurs à créer des applications s’intégrant facilement et efficacement dans une architecture microservices
Pédagogie :
40% Théorie, 60% Pratique
Public :
Développeur, Architecte
Pré-requis :
Programmation Java
Programme
Introduction et enjeux
REST
Principes
Tests automatisés
Versionning
HATEOAS
Documentation
Mise en application : Spring Boot, Spring MVC, Spring HATEOAS, Swagger, Spring REST Docs
Persistance polyglotte
Découpage d’un monolithe (“bounded context”)
Avantages et inconvénients
Mise en application : Spring Data (JPA, ElasticSearch)
Configuration d’une architecture microservices
Externalisation et centralisation de la configuration
Environnements et profils
Sécurité
Mise en application : Spring Boot, Spring Cloud Configuration Server
Enregistrement et découverte des services
Le besoin d’un registre de services
Approches (load balancer intelligent, registre de services)
Mise en application : Spring Cloud et Netflix Eureka
Routage
Load balancing
Pattern API Gateway
Mise en application : Load balancing avec Netflix Ribbon et Spring Cloud, Gateway Netflix Zuul
Fiabilisation des services
Les appels entre services
Problème du cascading failure
Pattern circuit breaker
Mise en application : Netflix Hystrix
Monitoring
Le monitoring au centre d’un microservice
Métriques et health check
Mise en application : Actuator Spring Boot
Journalisation
Centralisation des logs
Parcours de solutions : ELK, Graylog
Syslog
Identifiant de corrélation
Mise en application : journalisation via UDP dans une application, implémentation d’un ID de corrélation avec Spring Boot
Déploiement d’un architecture microservices
Déploiement continu de dizaines/centaines d’applications
Techniques d’optimisation de déploiement
Introduction à Docker
Mise en application : déploiement d’une application Spring Boot en tant que service Linux, packaging d’un microservice et de l’infrastructure (registre de services, load balancer) via Docker
Solutions d’infrastructure pour les microservices (Kubernetes, Mesos, Swarm)
Solutions Cloud (CloudFoundry, Heroku)
En vrac, voici les notions abordées :
- arrow
- class
- constant
- default
- destructuring-assignment
- generators
- let
- maps
- modules
- promises
- rest-params
- sets
- spread
- symbols
- template-string
- weakmaps
- weaksets
Le concept du Shadow IT pour Animal (parce que nous vendrons du conseil sur ça plus tard hein :D).
Whouuuu les "nouvelles" technologies prennent de l'avance !!! EcmaScript 6 est dans les bacs et propose une tripotée de mise à jour.
Attention à celles et ceux qui ne prendront pas la peine de monter dans le train en marche, cela va leur faire trèèès très mal d'ici un ou deux ans.
Un elfe/lutin nous explique ce qu'est la compétition (je dis cela à cause de sa frimousse qui m'a fait rire). Mais Albert Jacquard, l'homme dont il est question aborde un sujet important avec un réflexion intelligente. Écoutez bien son propos.