Bruno Le Fellic (CTO SpikeeLabs) présente l'outil Anypoint DesignCenter de MuleSoft qui permet :
- de spécifier des APIs interactivement
- de tester en ligne avec la génération automatique de mock
- d'exporter un Swagger ou RAML pour l'intégrer à son projet
La vidéo du meetup et de la démo sont disponible sur cette URL : https://bit.ly/3BYWwr7
Cette Refcard est un condensé de bonnes pratiques qui s'adresse autant aux consommateurs qu'aux développeurs d'API GraphQL.
Elle aborde notamment la documentation, le versioning, le code first, le monitoring, la découvrabilité, la sécurité et le design de schéma.
Une base de données, pourquoi faire ? Le SQL, c’est quoi ce langage ? Un DBA, ça sert à quoi ? Cette session est là pour démystifier la base de données du point de vue des développeurs. Au programme : des bonnes pratiques, de la méthodologie, quelques tips techniques… De quoi rapprocher les développeurs et les DBA.
Bruno Le Fellic (CTO SpikeeLabs) présente l'outil Anypoint DesignCenter de MuleSoft qui permet :
- de spécifier des APIs interactivement
- de tester en ligne avec la génération automatique de mock
- d'exporter un Swagger ou RAML pour l'intégrer à son projet
La vidéo du meetup et de la démo sont disponible sur cette URL : https://bit.ly/3BYWwr7
Cette Refcard est un condensé de bonnes pratiques qui s'adresse autant aux consommateurs qu'aux développeurs d'API GraphQL.
Elle aborde notamment la documentation, le versioning, le code first, le monitoring, la découvrabilité, la sécurité et le design de schéma.
Une base de données, pourquoi faire ? Le SQL, c’est quoi ce langage ? Un DBA, ça sert à quoi ? Cette session est là pour démystifier la base de données du point de vue des développeurs. Au programme : des bonnes pratiques, de la méthodologie, quelques tips techniques… De quoi rapprocher les développeurs et les DBA.
Sur RxJava, on trouve facilement des guides pour démarrer, et la documentation de référence couvre bien l'ensemble des opérateurs. Mais les exemples d'utilisations concrètes sont plus rares. Dans cette présentation, vous apprendrez comment Hawkular Metrics utilise RxJava pour implémenter:
- une interface REST avec JAX-RS
- le stockage des métriques dans Apache Cassandra
- les calculs d'aggrégats
- l'interaction avec les autres composants Hawkular via JMS
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.
De l'open source à l'open API avec RestletJerome Louvel
L'arrivée en force des APIs web ouvertes révolutionne notre façon de développer sur le Web, d'une façon encore plus importante que l'open source.
Nous expliquerons ce qu'est une API web, ferons un tour d'horizon des APIs les plus marquantes, des clés de leur succès et présenterons les principales solutions pour faciliter leur création, leur hébergement, leur gestion et leur utilisation.
Nous expliquerons plus en détail comment développer une API web RESTful en Java grâce à Restlet Framework, le premier projet open source pour le développement REST en Java qui sort sa version 2.1 accompagné du livre "Restlet in Action" publié par Manning.
Pour finir nous présenterons APISpark, une nouvelle plate-forme cloud tout-en-un pour les APIs web, basée sur Restet Framework.
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
Cette étude vise à présenter les concepts clés d’une base de données orientée graphe. La modélisation et la mise en œuvre des cas d’utilisation seront réalisées avec la base de données NEO4J, version 3.1.
JavaScript: bonnes pratiques, astuces, et cauchemarsFabian Vilers
JavaScript est un langage omniprésent dans le paysage du développeur moderne. Aimé ou détesté, personne ne reste indifférent face à ses qualités... et ses défauts!
Sur RxJava, on trouve facilement des guides pour démarrer, et la documentation de référence couvre bien l'ensemble des opérateurs. Mais les exemples d'utilisations concrètes sont plus rares. Dans cette présentation, vous apprendrez comment Hawkular Metrics utilise RxJava pour implémenter:
- une interface REST avec JAX-RS
- le stockage des métriques dans Apache Cassandra
- les calculs d'aggrégats
- l'interaction avec les autres composants Hawkular via JMS
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.
De l'open source à l'open API avec RestletJerome Louvel
L'arrivée en force des APIs web ouvertes révolutionne notre façon de développer sur le Web, d'une façon encore plus importante que l'open source.
Nous expliquerons ce qu'est une API web, ferons un tour d'horizon des APIs les plus marquantes, des clés de leur succès et présenterons les principales solutions pour faciliter leur création, leur hébergement, leur gestion et leur utilisation.
Nous expliquerons plus en détail comment développer une API web RESTful en Java grâce à Restlet Framework, le premier projet open source pour le développement REST en Java qui sort sa version 2.1 accompagné du livre "Restlet in Action" publié par Manning.
Pour finir nous présenterons APISpark, une nouvelle plate-forme cloud tout-en-un pour les APIs web, basée sur Restet Framework.
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
Cette étude vise à présenter les concepts clés d’une base de données orientée graphe. La modélisation et la mise en œuvre des cas d’utilisation seront réalisées avec la base de données NEO4J, version 3.1.
JavaScript: bonnes pratiques, astuces, et cauchemarsFabian Vilers
JavaScript est un langage omniprésent dans le paysage du développeur moderne. Aimé ou détesté, personne ne reste indifférent face à ses qualités... et ses défauts!
The document provides an overview of the MEAN stack, which consists of MongoDB, Express, Angular, and Node.js. It describes each component and how they work together. Node.js is a JavaScript runtime built on Chrome's V8 engine. Mongo is a NoSQL database with a flexible JSON data model. Express is a minimalist web framework for Node.js. Angular allows building dynamic web applications in JavaScript for both server-side and client-side execution. The Angular CLI makes it easy to create and develop Angular applications.
Présentation du French Meteor Meetup lors du Developer First Monday au Microsoft Innovation Center de Mons.
Meteor est une plateforme open source complète dédiée à la création d’application web et mobile en JavaScript.
This document provides an overview of Command Query Responsibility Segregation (CQRS). It discusses some of the problems CQRS aims to solve, such as data-centric applications being CRUD-based and focusing on frameworks over the domain. CQRS separates commands, which capture user intent and mutate data, from queries, which return data without side effects. Commands and events update aggregate states and are handled asynchronously. Queries operate on denormalized read models optimized for specific views. This allows for quick queries without mappings and eventual consistency by working with stale but optimized data.
As Web application development takes its next evolutionary step into the world of cloud computing, project Katana provides the underlying set of components to ASP.NET applications, enabling them to be flexible, portable, lightweight, and provide better performance – put another way, project Katana cloud optimizes your ASP.NET applications.
TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static types, classes, and modules to JavaScript to enable scalable application development. TypeScript starts with and compiles to idiomatic JavaScript, so it runs in any browser or host on any OS. The TypeScript type system formalizes JavaScript's dynamic types through static representation and type inference, requiring few type annotations in practice. Classes and modules in TypeScript structure applications clearly and align with emerging ECMAScript standards. The open source TypeScript compiler and tooling like Visual Studio and Resharper support provide full static typing of libraries and source maps.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
1. REST in peace avec
GraphQL
Fabian Vilers
Dev Day, 2017
2. Qui suis-je ?
Software Craftsman
.NET / ASP.NET / Node.js / Angular
React / Docker / …
Open Source Activist
Freelance for Dev One
Follow me on Twitter (@fvilers)
and LinkedIn
4. Est-ce un appel au meurtre ?
Non, GraphQL ne va pas « tuer » REST
Tout comme REST n’a pas tué SOAP
Oui, GraphQL apporte de la souplesse dans les interactions
Mais avec une plus grande flexibilité, vient un plus grand coût
6. Pourquoi GraphQL ?
GraphQL solutionne 3 principaux problèmes
Le besoin de faire plusieurs aller-retours entre le serveur et le client pour charger les
données d’une vue complexe
La dépendance des clients vis-à-vis du serveur
Le decalage entre l’expression declarative du client par rapport à la façon dont on récupère
les données
7. Qu’est-ce que GraphQL ?
Un langage déclaratif
Une fine couche de « traduction » côté serveur
Cette couche peut-être écrite dans n’importe quel langage
Expression d’une requête peut être de deux types
Query (lecture)
Mutation (écriture)
GraphQL n’est pas un moteur de stockage de données
8. N’importe quel langage, vraiment ?
C#/.NET
Clojure
Elixir
Erlang
Go
Groovy
Java
JavaScript
PHP
Phython
Scala
Ruby
10. Quels sont les bénéfices de GraphQL ?
Efficacité
Les requêtes multiples et complexes sont regroupées
La couche GraphQL peut jouer le rôle de façade pour récupérer les données de plusieurs
micro-services
Performance
Les résultats peuvent être mis en cache
GraphQL ne renvoie que les données demandées par le client
11. Qu’est-ce qui ne va pas avec REST ?
REST est orienté ressource, et implique de multiples terminaisons d’API
Donc, de multiples aller-retours entre client et serveur
REST n’offre pas de langage de requête
Impossible d’affiner la requête
Trop de données sont rapatriées
Encombrement de la réponse avec des métadonnées (pagination, tri, etc.)
REST n’est pas orienté multi versions
Une nouvelle version impliquera souvent de nouvelles terminaisons d’API
13. Comment la magie opère-t-elle ?
GraphQL, c’est un schéma fortement typé
Il est composé de champs et de types (primitifs et/ou complexes)
Il est accessible, ce qui permet l’introspection, la validation, et la génération d’outils ad hoc
GraphQL expose les données sous forme de graphe
Totalement indiqué pour récupérer des données hiérarchiques, ou liées sémantiquement
Les clients expriment leur besoin de manière déclarative
Ce qui les rapproche du langage naturel
14. Le coût de la flexibilité
Sensible aux attaques par déni de service
Avec des requêtes complexes et une structure imbriquée
Haute charge sur plusieurs micro-services
Solutions
Liste blanche
Délai de temporisation
Limiter la profondeur du graphe et le temps d’exécution
15. Le coût de la flexibilité
Caching
La nature flexible des query rend le caching plus complexe qu’avec REST
Solutions
Côté client, les librairies Relay, ou Apollo facilite la gestion de cette problématique
N+1 SQL
La nature du graphe peut impacter les performances serveur car le sous-requêtage sera
dissocié
Solutions
Côté serveur, la librairie DataLoader permet d’y palier en analysant la query, et en optimisant les
appels DB, et en cachant une partie des données