Angular Signals : cap sur la performance
"Des applications réactives, offrant de meilleures performances", voici la promesse d'Angular Signals. Voyons en quoi cela consiste avec Guillaume !
Réveil aux aurores ce vendredi 26 mai 2023, direction le DevFest 2023 au Grand Palais de Lille.
Arrivé sur place à 8h45, je rentre dans la grande salle avec un mon café et parcours les différents stands.
On débute cette journée dès 9:00 avec la Keynote d'ouverture en salle Grand Théâtre.
La première conférence à laquelle j’assiste, organisé par Alexandre Touret, débute à 10:00.
Direction la salle Marie Curie. En place à 10:05, stylo en main !
Cette conférence, présentée par Alexandre Touret, Développeur Java et Architecte senior chez Worldline, nous plonge dans un cycle de développement d'une API REST dont le workshop est sur Github.
Il nous présentera une architecture micro-service, ainsi que des mécanismes de versioning mis en place afin permettre des évolutions pour chaque consommateur de cette API REST.
Au programme :
Alexandre soulève que cela peut générer des problèmes de compatibilités et impacter la chaine de livraison, sur l’organisation du code, sur la sécurité.
Il présente ensuite des sections à versionner : le business Layer, la database… Ainsi que des changements à apporter : bloquant, non bloquant par Github...
Je gribouille quelques notes : "Comment spécifier une version ? Par l'URL (dans le path, à la racine), Header HTTP(X-API-VERSION: v1)."
D’autres outils/notions tel que Gitflow, Changelogs, Configurations serveurs (Configs Map), Kibana (observabilités), model RBAC et ABAC, ont été présentés brièvement comme solutions ou améliorations possibles.
Direction la salle Grand Théâtre. En place à 11h05, carnet sur les genoux...
Cette conférence est présentée par Katia Himeur, CTO et cofondatrice de CockpitIO (spécialiste du Cloud & DevOps).
Le vendor locking correspond à la dépendance d'un client à l'égard d'un fournisseur cloud.
FaaS est l'acronyme de "function as a Service" et correspond à un type de service de cloud computing, tel que Lambda (AWS), serverless, qui permet aux utilisateurs de développer, d'exécuter et de gérer les fonctionnalités d une application sans avoir à fournir et à gérer les ressources informatiques sous-jacentes.
Ansi, chacun dispose du temps et des ressources nécessaires pour se concentrer sur sa propre activité plutôt que sur l'infrastructure qui la supporte.
En somme, une belle présentation technique, tel un POC, permettant de réaliser, avec OpenFaas et Kuberbenetes, ce type de système.
Direction la salle Louis Pasteur. Je me trouve un siège dès 14h00.
Cette conférence est présentée par Mehdi Boissat-Bron, Développeur backend pour LeBonCoin.
Dans cette présentaton, Mehdi propose un retour d'experience. Nous avons découvert le parcours qui lui a permis de mener à bien ce choix technique, et l'intérêt de la clean architecture.
A noter : La clean architecture (et la Dependency Rule) s'applique aux langages agnostiques: Backend, Frontend.
Différent points ont été évoqués: l'arborescence, la centralisation du code métier dans la couche usecase (comme le montre le schéma ci-dessous), le domaine accessible partout dans l'application… Avant de poursuivre sur des cas d'utilisations et d'exercices sous forme de devinettes.
🟦 Représentation sous forme de cercles concentriques. Chaque couche N peut accéder à la couche N-1
Nous avons également pu comprendre les bénéfices, tel que l'augmentation de la maintenabilité du code, et les inconvénients de la clean architecture, tel que la difficulté à la mettre en place sur du code legacy.
Belle présentation technique, quoique un peu courte !
Direction la salle Grand Théâtre pour la seconde fois.
Cette conférence est présentée par Hubert Sablonnière, Ingénieur Logiciel pour Clever Cloud.
Hubert nous a présenté différentes règles et astuces pour mieux gérer notre cache HTTP, en passant par les différentes étapes d'une requête HTTP.
Il nous présentera par la suite les 2 différents types de cache HTTP : privé (navigateur) et partagé (CDN, reverse proxy).
🔥 Par exemple, dans Mozilla, vous pouvez taper dans l URL: about:cache?storage=disk afin de visualiser votre cache privé.
🔥 Un autre exemple proposé est d'utiliser l'en-tête HTTP cache-control afin de gagner en efficacité. D'autres en-tête HTTP nous ont été présenté tels que : etag, last-modified, vary (mais attention avec cette dernière).
En conclusion, une belle conférence, particulièrement intéressante d'un point de vue technique.
Direction la salle Marie Curie pour la seconde fois.
Cette conférence est présenté par Jérôme Tama, TechLead pour Onepoint.
Cette présentation reflète son expérience lors du déploiement d'OpenTelemetry, sur une application en production, développée avec Angular, Quarkus et déployée dans un cluster Kubernetes.
Nous avons également pu découvrir rapidement des outils tels que : ElasticSearch, Apache Kafka, PostgreSQL et Apache Nifi, Grafana (Tempo), Prometheus.
Dans son REX, il nous fait part de définition, du fonctionnement d'OpenTelemetry et de la réalité qui s'est révélée plus complexe que prévue.
Il s'agit, pour ma part, d'un pied à l'étrier dans l'univers OpenTelemetry qui permet d’augmenter l'observabilité de nos services.
Nous croyons en un nouveau modèle de consulting où l’excellence commence par l’écoute, le partage et une vraie vision