Présentation accompagnant l'atelier organisé à Zenika Lille le 02 mars 2017.
Vous pouvez retrouver le code de l'atelier ici : https://github.com/PLNech/workshop-algolia-zenika/
# Agenda #
- Présentation d'Algolia et de ses fonctionnalités
- Prise en main : indexer des données et configurer le moteur
- Affichage : customisation d'une interface front
# Langages #
Algolia fournit des clients d'API dans 10 langages différents et propose des intégrations dans de nombreuses technologies.
Pour cet atelier, le speaker est à l'aise en Java, Python et PHP. Des exemples de code seront disponibles dans ces trois langages.
DevFest 2013 by Google Developers Group in Nantes. Pourquoi une API Web ? Construire son API Web : les approches. Approche DIY avec Restlet Framework. Approche PaaS avec APISpark. En pratique.
Présentation technique de Laurent Duveau au Meetup AixJS du 12 Juillet 2018 à Aix-En-Provence, France.
https://www.meetup.com/aixjs-org/events/252276528/
Présentation accompagnant l'atelier organisé à Zenika Lille le 02 mars 2017.
Vous pouvez retrouver le code de l'atelier ici : https://github.com/PLNech/workshop-algolia-zenika/
# Agenda #
- Présentation d'Algolia et de ses fonctionnalités
- Prise en main : indexer des données et configurer le moteur
- Affichage : customisation d'une interface front
# Langages #
Algolia fournit des clients d'API dans 10 langages différents et propose des intégrations dans de nombreuses technologies.
Pour cet atelier, le speaker est à l'aise en Java, Python et PHP. Des exemples de code seront disponibles dans ces trois langages.
DevFest 2013 by Google Developers Group in Nantes. Pourquoi une API Web ? Construire son API Web : les approches. Approche DIY avec Restlet Framework. Approche PaaS avec APISpark. En pratique.
Présentation technique de Laurent Duveau au Meetup AixJS du 12 Juillet 2018 à Aix-En-Provence, France.
https://www.meetup.com/aixjs-org/events/252276528/
l existe une grande variété de patterns pour accéder à vos bases de données en fonction des cas d’usage et des technologies utilisées : simple CRUD, streaming, asynchrone, réactif, fonctions…
Chez DataStax, au travers de l'implémentation d'application de references comme [Killrvideo](killrvideo.github.io) nous avons eu l’opportunité de tester la meme API en REST, gRPC et GraphQL avec Java (SpringBoot 2). Je vous propose un tour d’horizon des 3 solutions, les points forts, les points faibles, les details d’implementation au travers d'une demo et code review
ASP.NET MVC 6 est la prochaine version du Framework MVC de .NET. Il a pour vocation de tirer partie de la puissance de .NET tout en mettant de côté l'historique parfois pesant d'ASP.NET. Venez découvrir en quoi ASP.NET MVC 6 est un framework MVC moderne et les principales nouveautés de cette nouvelle version majeure.
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013Claude Coulombe
Le Google Web Toolkit (GWT) combine les technologies Ajax et HTML5 avec les outils de génie logiciel de Java dans le but de réaliser des applications web riches monopages de grande envergure et des applications mobiles multiplateformes. Après une brève présentation de GWT, nous verrons les nouveautés de la version 2.5, ferons un retour sur la conférence Google I/O 2013 et discuterons du futur de GWT.
SQLSaturday Paris 2014 - Construire et déployer une application métier Office...GUSS
Fini les développements SharePoint lourds qui demandant une infrastructure complexe. Avec Office 365 et les services Azure, il est enfin possible de développer des applications métier, rapidement et facilement. Venez nombreux à cette session pour comprendre comment construire, à l’aide de Visual Studio 2013, une Apps SharePoint qui utilise pleinement les services Azure (site, base de données SQL Azure, etc …) Du développement au déploiement, de la configuration à la gestion de la montée en charge dans Azure (ressources et SQL Server), l’utilisation des services Azure n’auront plus de secret pour vous. Session présentée lors du SQLSaturday Paris 2014
Gestion des APIs avec Azure API Management - Samir AREZKISamir Arezki ☁
Les API sont un élément incontournable dans la transformation digitale des entreprises. Cela se concrétise par la mise en place d’une plateforme et la création d’un écosystème d’APIs. Dans cette session, nous présentons les processus et les outils à mettre en place pour gérer le cycle de vie des APIs dans Azure. Par la suite, nous aborderons plus particulièrement l'utilisation d'Azure API Management pour l'exposition aux développeurs (internes et externes), la gestion, le monitoring et la promotion des APIs. La session sera accompagnée par une démonstration pratique.
This document contains a quiz on Java concepts with 3 multiple choice questions. The first question asks which collection interface TreeMap implements, with the correct answer being SortedMap. The second question asks how garbage collection can be forced, with the answer being that it cannot be forced. The third question provides code assigning dates to variables and changing a year, asking what the output will be. The correct answer is that d1 and d2 will have different years printed, with d2's year changed in the method.
The document is a quiz on Java 8 features and contains 5 multiple choice questions about default methods in interfaces, lambda syntax, and the Nashorn JavaScript engine tool. The answers to the 5 questions are provided at the end. Contact information is also provided for any additional questions.
Geek Time October 2016 : Coding Dojo - Calisthenics ObjectsOLBATI
This document discusses Calisthenics Objects and provides resources for practicing this coding technique. It recommends following guidelines such as having only one level of indentation per method, wrapping all primitives and strings, and keeping all entities small. It also provides links to external resources on the Object Calisthenics technique and closes by thanking the reader and providing contact information.
Geek Time September 2016 : Coding Dojo - Working on Legacy CodeOLBATI
The document discusses working with legacy code, describing it as old code that is difficult to maintain and test. It notes problems with legacy applications like difficulty adding features or introducing regressions due to changes. The document recommends following the Boy Scout Rule when working with legacy code, which is to leave the code cleaner than you found it. It provides contact information for the author to ask any questions.
2. OLBATI - Geek Time - Décembre 2016 2
Plan
● Rappel sur l'architecture Rest
● Statistiques sur les API REST
● Documentation statistiques
● OpenAPI
● Swagger tools
● Swagger 2 avec Spring REST API
● Démonstration
3. OLBATI - Geek Time - Décembre 2016 3
API REST ?
● Representational State Transfer
● Architecture Client-serveur
● Stateless
● Facile à consommer
4. OLBATI - Geek Time - Décembre 2016 4
Statistiques sur les API REST
source : http://www.programmableweb.com/api-research
5. OLBATI - Geek Time - Décembre 2016 5
Documentation statistiques
● Que serait une API s'il était impossible de
comprendre son mode de fonctionnement ?
6. OLBATI - Geek Time - Décembre 2016 6
Documentation statistiques
Documenter son API REST
7. OLBATI - Geek Time - Décembre 2016 7
Documentation statistiques
une API dite RESTFul devrait pouvoir être utilisée
sans documentation !
8. OLBATI - Geek Time - Décembre 2016 8
Documentation statistiques
● Créer une documentation.
● Suivre un ensemble de spécifications permettant de
décrire et de documenter une API REST.
9. OLBATI - Geek Time - Décembre 2016 9
OpenAPI
● OpenAPI, anciennement connu sous le nom de Swagger
RESTful API, désigne un ensemble de spécifications
permettant de décrire et de documenter une API REST.
● Implémenter ces spécifications permet entre autres :
○ D'obtenir une documentation (Swagger UI)
○ Générer des clients permettant d'interagir avec notre
API (Swagger Codegen)
10. OLBATI - Geek Time - Décembre 2016 10
Swagger Tools
● Le résultat final est un fichier, il peut être rédigé aussi bien en JSON qu'en
YAML.
● Swagger editor:
source : http://swagger.io/swagger-editor/
11. OLBATI - Geek Time - Décembre 2016 11
Swagger Tools
● Swagger UI : Swagger UI is a dependency-free collection
of HTML, Javascript, and CSS assets that dynamically
generate beautiful documentation from a
Swagger-compliant API.
● Swagger codegen : swagger-codegen contains a
template-driven engine to generate documentation, API
clients and server stubs in different languages by parsing
your OpenAPI / Swagger definition
12. OLBATI - Geek Time - Décembre 2016 12
Swagger 2 / Spring REST API
● springfox
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
13. OLBATI - Geek Time - Décembre 2016 13
Swagger 2 / Spring REST API
● Configuration
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.olbati"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
14. OLBATI - Geek Time - Décembre 2016 14
Swagger 2 / Spring REST API
● API
○ @ApiOperation
■ value = ""
■ nickname = ""
■ notes = ""
■ response = MyClass.class
■ responseContainer = "exp : List"
○ @ApiResponses
■ value = {un ou plusieurs ApiResponse}
○ @ApiResponse
■ code = 200 / 401
■ message = "Success" / "Unauthorized"
■ response = Myclass.class
■ responseContainer = "List"
15. OLBATI - Geek Time - Décembre 2016 15
Swagger 2 / Spring REST API
○ @ApiImplicitParams({un ou plusieurs ApiImplicitParam})
○ @ApiImplicitParam
■ name = "name"
■ value = "User's name"
■ required = false
■ dataType = "string",
■ paramType = "query"
■ defaultValue = "Belhassen"
○ @ApiParam : c’est comme ApiImplicitParam mais
appliquer aux arguments de services.
○ @ApiModel : appliquer sur les Model.
○ @ApiModelProperty
■ position = 1
■ name = "address"
■ required = true
■ value = "The email address of recipient"
■ example = "test00@yopmail.com"
16. OLBATI - Geek Time - Décembre 2016 16
Swagger 2 / Spring REST API
17. OLBATI - Geek Time - Décembre 2016 17
Thanks!
Any questions?
mohamed-belhassen.mazigh@olbati.com