? WA-Tech&DevNews N°16

? WA-Tech&DevNews N°16

Bienvenue Étranger

L’éditoC’est “l’introduction”, mais cela fait davantage journal, écrit comme ça.

Ceci est un texte, il est là pour compenser un manque d’inspiration et créer une cohérence visuelle entre les différentes parties de ce document. 

JavascriptLe saviez-vous, le premier nom de ce langage était LiveScript. Son créateur Brendan Eich l’a nommé ainsi pour le navigateur Netscape – Pour en savoir plus c’est ici 

#Vanilla – Un guide complet sur les API de stockage WebStockage local et stockage de session en JavaScript.
>> C’est par ici

#Vanilla – Le guide ultime pour résoudre les problèmes de performances JavaScript dans les outils de développement de navigateur.
>> C’est par ici

#Angular – Concevoir un détecteur de dimensions avec Angular – Mise en place d’un event pour gérer les éléments responsive nécessitant du javascript.
>> C’est par ici

#All – Petit guide pour mettre en place des conventions de formatage avec Prettier et VS Code.
Le formatage du code de manière cohérente est une douleur, en particulier lorsque vous travaillez en équipe. Prettier est là pour vous aider.
>> C’est par ici

#Vanilla – 13 points notables extraits du Guide Javascript de Google.
>> C’est par ici

#Vanilla – Déjà partagé par le passé mais un rappel de fait pas de mal. Je vous propose de découvrir ce guide sur la différence entre la méthode map et la méthode foreach.
>> C’est par ici

PHPLe saviez-vous,  Dans l’enquête 2019 de stack overflow les développeur(euse)s du monde entier ont mis PHP dans le top 5 des langages les plus craints – Pour en savoir plus c’est ici 

#Laravel – Je vous propose le flux Twitter de @Enlightn_app et les 100 astuces pour Laravel qu’il a partagé tous les jours depuis le 1er Février 2021
>> C’est par ici

#Symfony #Docker – Une stack docker pour votre projet symfony c’est pas top ? Découvrez tout cela à travers l’article de maxpou.fr – “Un conteneur pour les gouverner tous” ( Stack à mettre à jour l’article est sur PHP7 )

  • NGINX : le serveur web ;
  • PHP-FPM : le service qui exécutera le code PHP (PHP7 s’il vous plait !) ;
  • Application : un conteneur qui portera le code symfony ;
  • MySQL : Un SGBDR que l’on ne présente plus ;
  • Redis : Un SGBD clé-valeur avec lequel j’aime bien jouer en ce moment ;
  • ELK : Le trio de choc : Elasticsearch – Logstash – Kibana… parce qu’il y a mieux que les | tail / | grep pour visualiser ses logs !

N’hésitez pas à vous rapprocher de l’équipe infra ou de Lead Php pour tester tout ça !
>> C’est par ici  –  Il existe cet autre projet OpenSource avec encore plus de clusters si vous voulez 🙂

#Symfony #ApiPlatform – Je sais que vous êtes déjà nombreux à regarder ces vidéos. Pour certains vous avez appris à développer avec ! Aujourd’hui il la fait, la formation Graphikart.fr sur API Platform est en ligne et continue à recevoir du contenu toutes les semaines ! Déjà 5H de vidéos et 19 chapitres de quoi monter en compétence rapidement sur une formation ultra récente ! Développeurs PHP cela devrait presque être une obligation pour vous de la regarder.
>> C’est par ici

#Symfony – On reste sur Graphikart.fr avec la mise en ligne d’un tutoriel autour de Symfony UX ( que je découvre au moment d’écrire cette newsletter ).
Symfony UX est une initiative de la part de l’équipe Symfony qui permet de donner un accès simple à des composants d’interface avancés.
>> C’est par ici

DevOpsUne des compétences d’un DevOps c’est d’être aussi Agile qu’ un astéroïde

Découverte de l’architecture Serverless du projet BestBidder
A Paris, un nouveau projet a démarré il y a peu. On a décidé de tester un nouveau type d’infra serveur ou plutôt une infrastructure sans serveur ! On a même poussé le bouchon un peu loin car il n’y a même pas de framework pour les APIs.

Pour ce faire, on utilise différents services AWS. Je vous présente un schéma largement simplifié pour le besoin de cette news


Présentation des différentes services et du fonctionnement ( pour gagner du temps je vous copie colle les présentations Amazon )

Amazon Route 53 est un service Web de système de noms de domaine (DNS) dans le cloud hautement disponible et évolutif. Il est conçu pour offrir aux développeurs et aux entreprises un moyen extrêmement fiable et rentable d’acheminer les utilisateurs finaux vers des applications Internet en traduisant des noms comme www.example.com par des adresses IP de type 192.0.2.1, que les ordinateurs utilisent pour se connecter l’un à l’autre. De plus, Amazon Route 53 est entièrement conforme au protocole IPv6.

Amazon CloudFront est un réseau rapide de diffusion de contenu (CDN) qui distribue en toute sécurité des données, des vidéos, des applications et des API à vos utilisateurs, avec une faible latence et des vitesses de transfert élevées, le tout dans un environnement convivial pour les développeurs.

Amazon API Gateway est un service entièrement opéré, qui permet aux développeurs de créer, publier, gérer, surveiller et sécuriser facilement des API à n’importe quelle échelle. Les API servent de « porte d’entrée » pour que les applications puissent accéder aux données, à la logique métier ou aux fonctionnalités de vos services backend. À l’aide d’API Gateway, vous pouvez créer des API RESTful et des API WebSocket qui permettent de concevoir des applications de communication bidirectionnelle en temps réel. API Gateway prend en charge les charges de travail conteneurisées et sans serveur, ainsi que les applications web.





AWS Lambda est un service de calcul sans serveur qui vous permet d’exécuter du code sans provision ou gérer des serveurs, créer une logique de dimensionnement de cluster prenant en charge la charge de travail, maintenir les intégrations d’événements ou gérer les environnements d’exécution. Avec Lambda, vous pouvez exécuter du code pour pratiquement n’importe quel type d’application ou service backend , sans aucune tâche administrative.

Amazon DynamoDB est une base de données de clé-valeur et de documents, offrant des performances de latence de l’ordre de quelques millisecondes, quelle que soit l’échelle. Il s’agit d’une base de données multi-région, multi-active et durable entièrement gérée. Elle possède des systèmes intégrés de sécurité, de sauvegarde, de restauration et de mise en cache en mémoire pour les applications à l’échelle d’Internet. DynamoDB peut traiter plus de 10 mille milliards de demandes par jour et supporte des pics de 20 millions de demandes par seconde.

Amazon Timestream est un service de base de données de séries chronologiques rapide, évolutive et sans serveur pour l’IoT et les applications opérationnelles.Timestream possède des fonctions analytiques de séries chronologiques intégrées, vous permettant d’identifier, quasiment en temps réel, des tendances et des modèles dans les données. Amazon Timestream est serverless et se met à l’échelle automatiquement pour ajuster la capacité et les performances. Vous n’avez pas besoin de gérer l’infrastructure sous-jacente et pouvez ainsi vous concentrer sur la construction de vos applications. 


Amazon TimeStream a été choisi pour répondre une problématique projet sur la mise en ligne d’un processus d’enchères en temps réel avec des enchères programmées et d’autres directes. Ainsi que le besoin de pouvoir annuler ou de revenir en arrière sur la chaîne d’enchères.

Pourquoi on a choisi de faire ça ?

C’est le deuxième projet parisien ou nous avons à gérer des charges serveurs attendues très importantes. ( Des centaines de milliers d’utilisateurs en quelques minutes ). Sur le projet précédent on a appris à gérer le dimensionnement des serveurs avec AWS AutoScaling mais on a aussi remarqué que configurer tout cela est compliqué. Le maintenir encore plus. Avec une architecture serverless et la provision de charge de AWS Lambda le trafic n’est plus un problème. C’est amazon qui s’occupe de gérer la charge et d’allouer à chaque utilisateur notre configuration.
Les frais d’hébergement attendus sont aussi plus optimisés et théoriquement moindres d’après nos estimations. Le découpage des API dans AWS Lambda permet aussi de rendre indépendante chaque fonctionnalité. C’est du vrai micro-service !

Comment sont développées les APIs ?

On a choisi de partir sur le langage Node.js. Comme nous avons un front-end Angular cela permet d’avoir un seul langage maître pour tout le projet : Javascript. Les développeurs alloués sur ce projet peuvent donc travailler en front ou en back. Les futurs évolutions et la TMA seront aussi plus faciles à staffer puisque javascript est un langage très populaire.

Petit point sur l’authentification ?

Le plus gros sujet sur ce projet c’est l’authentification. On travaille avec AWS Lambda et Cognito, je vous partage un petit schéma du fonctionnement attendu :

Si vous avez d’autres questions sur le sujet, n’ hésitez pas à me contacter. Nous envisageons de présenter l’infrastructure plus en détails lors d’une soirée sur Discord. On pourra rentrer en détail dans la technique, sur le code et sur la base de données également.

Pas de HTML, CSS ou autre cette semaine, la news est déjà bien garnie 🙂

Rédaction :William Krieg
Relecture :Timothée GARNAUD, Sonia KLEIN
Participation indirecte :༼ つ ◕_◕ ༽つ

William

Super Héro du web / CTO Si vous venez dans nos bureaux je vous fais un café ☕ et on discute sur Rocket League

Related Posts

[WA Tools] JSON Visio, pour vous aider a visualiser votre json

[WA Tools] JSON Visio, pour vous aider a visualiser votre json

Le Web3 c’est quoi ?

Le Web3 c’est quoi ?

? WA-Tech&DevNews N°21 0 commentaire

? WA-Tech&DevNews N°21

? WA-Tech&DevNews N°20 0 commentaire

? WA-Tech&DevNews N°20

No Comment

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.