DEV Community

Cover image for DevFest Toulouse 2024
Jérôme Trzcionka for Onepoint

Posted on

DevFest Toulouse 2024

L'équipe Onepoint sud-ouest est de retour en force pour l'édition 2024 du DevFest Toulouse, afin de soutenir nos conférenciers :

Navigant entre notre stand et les conférences, voici ce que nous avons retenu de cette journée :

Il faut sauver le dernier giga de RAM

Damien Lucas renouvelle l'exercice de la conférence en duo, cette fois-ci avec Ivan Béthus.
La recette est sensiblement la même que l'année dernière, mais sur un autre sujet : on évoque cette fois des pistes pour détecter les problèmes et optimiser la gestion des données de nos applications, afin d'éviter les lenteurs et la saturation de la mémoire.

Les ingrédients :

  • une mise en situation concrète basée sur un problème rencontré en production
  • de la programmation Java à la volée
  • un échange scénarisé dynamique entre les deux conférenciers

Faites cuire 45 min et vous obtenez une présentation délicieuse et très digeste.

Après l'ordi 8-bit, voici la carte VGA sur breadboard

Olivier Huber a encore une fois fait preuve de son incroyable talent pour captiver et amuser son audience, tout en nous plongeant dans son univers unique de l’électronique DIY.
Ceux qui connaissent Olivier savent que ses présentations sont un véritable rayon de soleil, où le sérieux de la technique se mêle à une bonne dose d’humour.

Dans cette session, Olivier s’est attaqué à un nouveau défi de taille : construire une carte graphique VGA sur une simple breadboard. Avec son énergie contagieuse, il nous a fait voyager dans le monde fascinant de l’électronique rétro. On sourit, on rit, mais surtout, on apprend : Olivier décompose chaque étape avec une simplicité déconcertante, rendant la technologie accessible même aux néophytes.

Le replay n'est pas encore disponible, mais vous pouvez déjà retrouver ce talk sur YouTube.
On m’annonce d’ailleurs que, dans les tuyaux, une carte son serait en préparation… à suivre !

Fermé pour inventaire : histoire et mécanique des « closures »

Dans sa conférence sur les closures, Frédéric Cabestre nous a emmenés dans un voyage à travers l’histoire de la programmation fonctionnelle, en montrant comment le concept des fonctions anonymes, ou lambdas, a évolué au fil du temps. Il a expliqué comment ces fonctions ont donné naissance aux closures, un concept clé qui s’est progressivement intégré dans des langages modernes comme Java 8, où les lambdas s'apparentent aux closures.

Tout au long de la session, il a éclairci les différences entre les lambdas et les closures, expliquant en profondeur leurs implications en termes de compilation et de gestion de la mémoire.
Grâce à cette approche historique et technique, Frédéric nous a permis de comprendre l’impact de ces concepts sur la programmation moderne.

De l'analyse de données oui, mais en Kotlin !

Alors que Python règne en maître dans le domaine de l'analyse de données, Florian Bernard nous a démontré qu'il existe une alternative tout aussi puissante et agréable d'utilisation : Kotlin. On découvre alors l'existence d'un Kernel Kotlin pour Jupyter Notebooks, permettant de prototyper rapidement, tout en profitant des avantages de ce langage moderne.

De l'import de données dans DuckDB, de la manipulation avec Kotlin Dataframe, de l'affichage sous forme de tableaux, de graphiques : ça va vite ! C'est simple, c'est reproductible, c'est efficace, le tout en local sur un simple laptop. En fin de présentation, Florian s'est même offert le luxe d'utiliser Gemma 2, un LLM léger, pour faire analyser les données directement dans le notebook.

Pour en découvrir davantage, tout se passe sur ce repository GitHub !

Anatomie d’un test, ou l’utilité d’un test front

Laurie Ghione nous présente ici le test front-end sur le framework Angular.
Trop souvent mis de côté dans les différents projets par un manque d'intérêt et peut-être une syntaxe qui peut paraître complexe, la présentation nous démontre aisément le contraire.

Dans une rapide session de live coding, Laurie nous présente la bibliothèque de test Jest et explique avec simplicité comment intéragir avec les différents éléments de notre template et vérifier que les changements attendus se sont bien déroulés.

Finalement, la simplicité de mise en place et l'effet positif sur le développement permettent de prendre au sérieux les tests front-end.

La recherche à l'ère de l'IA

Il y a 2 ans, de grandes inquiétudes planaient sur l'avenir des moteurs de recherches avec l'explosion du Machine Learning et de l'IA générative.

Contrairement à ce qu'on aurait pu imaginer, la GenAI et LLM n'ont pas tué les moteurs de recherche, mais au contraire recentré l'attention sur la barre de recherche et permis de relancer de nouvelles dynamiques.

Dans une conférence passionnante, David Pilato a repris en détail mais de manière vraiment accessible plusieurs concepts avancés mis en œuvre par le moteur de recherche ElasticSearch pour tirer partie de l'IA et dépasser les limites historiques des moteurs de recherches, comme le risque de perte de contexte ou de sémantique.

Notamment, les vecteurs denses et éparses et la recherche vectorielle (texte, images, vidéos, audio), un nouveau type de données "Semantic Text" pour faire indexer des champs automatiquement par ElasticSearch en passant l'identifiant d'un LLM, le Retrieval-Augmented Generation (RAG) pour ajouter des données métier contextualisées en entrée à un LLM pour des réponses plus pertinentes, le Reciprocal Rank Fusion (RRF) pour combiner différents résultats de recherche sur une même échelle.

Au-delà des aspects théoriques, David Pilato a particulièrement bien animé cette conférence avec une démonstration en direct où il a présenté son implémentation d'un outil de recherche audio permettant de trouver la musique se rapprochant le plus d'une musique fredonnée par l'utilisateur.

Créer sa propre Malware Sandbox

Importer des fichiers dans nos applications est devenu très courant dans l'ère de la dématérialisation, Alexandre Daubois l'a bien compris, il nous présente ici comment il a créé une Malware Sandbox pour se protéger des fichiers reçus.

Il nous explique ici quelques vérifications de surface assez simples pour identifier les fichiers problématiques.
Les vérifications sont basées sur le nom du fichier, le contenu des archives ou encore via l'exclusion des fichiers exécutables.
Un petit aperçu de ce que font les antivirus.

Du CSS aux shaders WebGL : panorama des techniques d’animation

"Parfois subtiles, parfois proéminentes, les animations sont un élément essentiel pour une expérience utilisateur agréable."
Un très bon résumé signé Julien Sulpis. Durant une conférence dense et très enrichissante, Julien nous présente toutes les possibilités pour animer nos sites.

En commençant par les plus simples animations basés sur du CSS, ou via les Web Animation API nécessitant un peu de Javascript.
Puis celles utilisant les Canvas API via des bibliothèques spécialisées
et en finissant avec WebGL et les shaders GLSL, tout est expliqué avec l'impact que telle ou telle technique peut avoir sur le rendu du site.

La présentation est très bien pensée, les exemples sont concrets et parfaitement expliqués avec le code associé.
Certes la présentation est assez technique mais le sujet se veut technique.
On sort tous d'ici la tête pleine d'idées pour animer nos applications.

Anatomie d'une faille

Durant ce talk, nous voici plongés dans la découverte d'une tentative d'attaque bien ficelée sur le projet xz-utils (un ensemble d'outils permettant de faire de la compression de données sur les environnements Unix). Mais heureusement, découverte juste à temps avant de permettre l’implantation de backdoors sur nos serveurs !

Olivier Poncet revient en détail sur cette attaque, qui s’étale sur plus de deux ans de manœuvres habilement orchestrées. Si la technicité du code malveillant est indéniable, le véritable enjeu réside dans la méthode utilisée pour y parvenir. Ce talk met ainsi l'accent sur l’ingénierie sociale et pousse à réfléchir aux impacts que cela peut engendrer lorsqu'un outil aussi fondamental pour nos serveurs est compromis dans la chaîne d’approvisionnement du logiciel libre.

Au-delà du réel : créer une civilisation virtuelle avec les LLMs

Une conférence haute en couleurs où Sébastien Blanc, entre introduction à tiroirs et digressions enthousiasmantes, nous invite à entrer dans son univers. Les détails techniques sont saupoudrés avec parcimonie tout au long de l'aventure.
Ainsi, les auditeurs les plus techniques comprendront les choix d'architecture, les autres ne seront pas perdus et passeront un bon moment au sein du monde virtuel créé par Sébastien.

Car c'est là le sujet de la présentation : un monde virtuel peuplé d'avatars dialoguant ensemble (et s'échangeant des images sur leur réseau social) grâce à l'IA générative et aux LLM.
On ne s'ennuie pas une minute pendant les 3/4 h du voyage, qui nous ferait presque oublier le bagage technique nécessaire à sa réalisation.

Top comments (1)

Collapse
 
winzod4ai profile image
Winzod AI

Hey folks, came across this post and thought it might be helpful for you! Check out this article on best practices for implementing RAG - Rag Best Practices