- Développement
- Université
- Introduction
- 2h00
Rendez vos tests Spring Boot rapides,robustes et maintenables
Date mercredi
Horaire 14h00 Ă 16h00
Salle Amphi A
Description
Si Spring Boot propose un arsenal d'outils complet pour tester nos applications, il n'est pas si Ă©vident de les utiliser efficacement. Trop souvent, les suites de tests deviennent un frein : lentes, fragiles et trop liĂ©es Ă l'implĂ©mentation technique plutĂŽt qu'au sens mĂ©tier. Cet atelier de 2h propose d'Ă©changer autour de nos pratiques Ă travers un exercice concret de refactoring des tests d'une application existante. L'objectif est d'apprendre Ă concevoir des tests rapides, comprĂ©hensibles et qui expriment pleinement le sens du code mĂ©tier. Si vous ne savez pas ce qu'est le slice testing, si vous pensez que les tests containers ne sont que pour des tests d'intĂ©gration, si vous voulez rĂ©duire l'impact sur vos tests Ă chaque modification du code mĂ©tier, cet atelier est pour vous PRĂREQUIS : - Java 25 (JDK) - Docker et Docker Compose â daemon Docker lancĂ© - Git - Un IDE Javaâ IntelliJ IDEA (recommande) ou votre IDE prĂ©fĂ©rĂ© pour faire du java
Orateur·ices
Thomas Piscitelli
Rennais de cĆur et dĂ©veloppeur passionnĂ©, j'ai pu expĂ©rimenter le delivery dans un contexte d'ESN ou d'Ă©diteur logiciel. J'aspire Ă mettre les Ă©quipes au centre des process afin de leur simplifier la vie et leur permettre de lever les diffĂ©rents freins qu'elles peuvent rencontrer. Je suis particuliĂšrement intĂ©ressĂ© par toutes les solutions permettant de favoriser la communication, la qualitĂ© de code, la sĂ©curitĂ© applicative, la qualitĂ© des entrants, la gestion de la dette technique, le test...
Actions rapides
Les sessions futures sur le mĂȘme thĂšme
- Développement
- Conférence
HTMX, de maniĂšre simplix !
**RĂ©sumĂ©**: On a beaucoup parlĂ© d'HTMX, maintenant, il serait temps de s'y mettre. Et c'est exactement ce que Thomas et moi avons fait ! Nous nous sommes mis Ă la place d'une Ă©quipe technique qui dĂ©cide d'effectuer une migration d'une application SPA (React, Angular, etc.) vers une "Hypermedia Driven Application", grĂące Ă HTMX (https://htmx.org) ! **Ă qui ça s'adresse**: Ă qui s'intĂ©resse au dĂ©veloppement Web, aux frameworks FrontEnd, ou bien au contraire qui avait fait une croix sur tout ça parce que "c'est devenu trop compliquĂ©". Bonne nouvelle ! Non seulement ça ne l'est pas, mais en plus on va vous expliquer pourquoi ! **Plan**: - On part d'un exemple concret, un bon vieux CRUD implĂ©mentĂ© en React (https://github.com/mutoe/preact-realworld-example-app), et on migre progressivement ce paradigme SPA+JSON vers une version HDA+HTMX - Point de ToDo-List simpliste ici, on va prendre un vrai cas mĂ©tier: un clone de Medium, le site de gestion/publication d'articles de blog : https://realworld-docs.netlify.app/ - Comment qu'on migre ? Graduellement ! On va Jouer sur le Content-Type pour renvoyer soit du JSON, soit du HTML, ce qui nous permettra de jouer sur les deux tableaux afin de comparer les deux approches. On prendra donc un ensemble de composants plus ou moins complexes pour les convertir. - Ă chaque Ă©tape, on aborde un aspect du dĂ©veloppement Web et ses consĂ©quences : SPA vs HDA, WebComponents, la gestion des APIs des "Back-For-Front" et la transition JSON->HTML - La grande force des SPA, ce sont leurs composants "rĂ©actifs". Voyons comment on a fait la mĂȘme chose avec https://lit.dev/ pour crĂ©er des WebComponents Ă©quivalents, notamment grĂące Ă HTMX
Jeudi 8h30 Ă 9h25 - Amphi C
- Développement
- Quicky
Parce quâun bon Commit vaut mille lignes de commentaires
Dans le premier projet dans ma carriĂšre professionnelle en tant que dĂ©veloppeur, les membres de lâĂ©quipe ont souvent changĂ© durant la durĂ©e de vie du projet dâune douzaine d'annĂ©es. Ătant arrivĂ© vers la fin du projet, jâai pu rapidement comprendre les choix techniques du projet, et apprĂ©cier la qualitĂ© de maintenabilitĂ© de la base de code. TrĂšs peu de dettes de connaissances Ă©taient prĂ©sentes car tous les changements Ă©taient bien retranscrits en utilisant une pratique de commits atomiques au sein de lâoutil de versionning Git. Dans mon projet actuel, les dĂ©veloppeurs nâutilisent pas cette mĂȘme pratique. Les difficultĂ©s sont donc multiples. Ma prĂ©sentation a pour but de faire un retex sur les gains et la mise en place de cette pratique de commits atomiques Voici ce que vous apprendrez dans la confĂ©rence: DĂ©finir ce qu'est un commit atomique et les types de changements rencontrĂ©s Structuration du commit: Choisir une convention de nommage des commits. Utilisation de la nomenclature de commit conventionnels S'attacher au âpourquoiâ plutĂŽt qu'au âquoiâ âcommentâ dans le message de commit Réécrire son historique Git avec le rebase interactif A la fin de cette confĂ©rence, les spectateurs pourront eux mĂȘmes appliquer cette mĂ©thode et en tirer les bĂ©nĂ©fices suivants Tracer et documenter des choix techniques sans utiliser des commentaires directement dans le code RĂ©duire le temps passer Ă faire des relectures & le nombre de commentaires pour comprendre la visĂ©e de certains changements Identifier plus rapidement lâintroduction de bugs au sein du code avec lâutilisation de la commande âgit bisectâ
Jeudi 11h05 Ă 11h20 - Amphi E
- Développement
- Conférence
Jointures et agrégats en SQL : piÚges classiques et fonctionnalités méconnues
Jointures et agrĂ©gats : deux piliers du SQL qui, malgrĂ© leur symĂ©trie fonctionnelle (passer dâun enregistrement Ă plusieurs, ou inversement), cachent des mĂ©canismes et des piĂšges radicalement diffĂ©rents. Les jointures vous jouent des tours ? Doublons inattendus dans vos rĂ©sultats paginĂ©s, choix cornĂ©lien entre INNER ou LEFT JOIN⊠Et cĂŽtĂ© agrĂ©gats, les classiques SUM, MAX ou MIN ne suffisent plus ? DĂ©couvrez comment exploiter les window functions, les CUBE/ROLLUP/GROUPING SETS, et mĂȘme les agrĂ©gats avancĂ©s de PostgreSQL (JSON, XML) pour transformer vos requĂȘtes en outils ultra-puissants. Si vous utilisez SQL, cette confĂ©rence vous donnera les clĂ©s pour Ă©crire du SQL expressif et "moderne". PrĂȘt Ă passer Ă la vitesse supĂ©rieure ?
Jeudi 11h30 Ă 12h25 - Amphi E