<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
  <channel>
    <title>Blog d'Univalence</title>
    <link>https://univalence.io</link>
    <description>Tout les articles publiés par les talents d'Univalence.</description>
    <lastBuildDate>Mon, 08 Sep 2025 19:24:25 +0200</lastBuildDate>
    <language>fr-fr</language>
    <copyright>Univalence 2025</copyright>    <item>
      <guid>2e0d97fccfa44cdc82d1a28eecd23e6d</guid>
      <title>Focus sur le Z-Ordering et le Liquid Clustering avec Delta Lake</title>
      <description>Explication sur le fonctionnement du Z-Ordering et Liquid Clustering avec Delta Lake</description>      <author>Bernarith Men</author>      <pubDate>Fri, 05 Apr 2024 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/focus-sur-le-z-ordering-et-le-liquid-clustering-avec-delta-lake/</link>      <category>Delta Lake</category>      <category>Spark</category>      <category>SQL</category>      <category>performance</category>    </item>    <item>
      <guid>7905a2cb810e45a5b527beeb0149f49a</guid>
      <title>Créer ou modifier un tableau croisé dynamique à partir de ses données Spark avec Apache POI</title>
      <description>Créer ou modifier un tableau croisé dynamique à partir de ses données Spark avec Apache POI</description>      <author>Bernarith Men</author>      <pubDate>Thu, 04 Apr 2024 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/creer-ou-modifier-un-tableau-croise-dynamique-a-partir-de-ses-donnees-spark-avec-apache-poi/</link>      <category>Scala</category>      <category>Spark</category>      <category>Java</category>      <category>Excel</category>      <category>Apache POI</category>    </item>    <item>
      <guid>761a510f380e4f63a491bd5b87ccebb8</guid>
      <title>Retour sur ScalaIO 2024</title>
      <description>Retour sur Scala.IO 2024</description>      <author>Bernarith Men</author>      <pubDate>Mon, 18 Mar 2024 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/retour-sur-scalaio-2024/</link>      <category>ScalaIO</category>      <category>Conférence</category>      <category>FP</category>      <category>Scala</category>      <category>Community</category>    </item>    <item>
      <guid>7231a950b27845f2839814a291109ce8</guid>
      <title>Double jointures dans Kafka Streams</title>
      <description>Comment gérer des flux réactifs dans Kafka Streams</description>      <author>Harrison Cheng</author>      <pubDate>Wed, 31 Jan 2024 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/double-jointures-dans-kafka-streams/</link>      <category>Scala</category>      <category>Kafka</category>      <category>Kafka Streams</category>    </item>    <item>
      <guid>07797286bb9441e9b72f67e347ab2186</guid>
      <title>Scala côté frontend grâce à Laminar</title>
      <description>Scala se diversifie ! Aujourd’hui, nous allons voir comment l’utiliser côté Frontend avec Laminar.</description>      <author>Dylan Do Amaral</author>      <pubDate>Thu, 23 Feb 2023 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/scala-cote-frontend-grace-a-laminar/</link>      <category>Scala</category>      <category>ScalaJS</category>      <category>Laminar</category>    </item>    <item>
      <guid>a9256e9e16db453f9a89f0b4dd0090db</guid>
      <title>Comment la génération de code de zio-spark fonctionne</title>
      <description>zio-spark est une librairie assez atypique puisqu’elle se base énormément sur la génération de code. Cet article vous explique comment !</description>      <author>Dylan Do Amaral</author>      <pubDate>Thu, 19 Jan 2023 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/comment-la-generation-de-code-de-zio-spark-fonctionne/</link>      <category>Spark</category>      <category>ZIO</category>      <category>Metaprogrammation</category>      <category>zio-spark</category>    </item>    <item>
      <guid>f40ee817cca14b13ac0363cf03a2f4cc</guid>
      <title>Introduction a zio-spark</title>
      <description>Dans cet article on va parler de l’interêt d’utiliser Spark avec ZIO et de la library zio-spark </description>      <author>Bastien Guihard</author>      <author>Dylan Do Amaral</author>      <pubDate>Mon, 02 Jan 2023 09:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/introduction-a-zio-spark/</link>    </item>    <item>
      <guid>5d812a2c073e48e0bc8220b08ecc27c5</guid>
      <title>Configurer RouterOS comme client WireGuard</title>
      <description>Dans cet article, nous allons découvrir comment configurer RouterOS comme client d’un serveur WireGuard. La configuration est enfantine.</description>      <author>Maxence Winandy</author>      <author>Benjamin BRAYE</author>      <pubDate>Thu, 22 Dec 2022 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/configurer-routeros-comme-client-wireguard/</link>      <category>RouterOS</category>      <category>WireGuard</category>    </item>    <item>
      <guid>2128222b24be4ed7a59c3eb897b5e401</guid>
      <title>Configurer RouterOS comme client OpenVPN</title>
      <description>Découvrons comment ajouter une interface OpenVPN-Client dans RouterOS. La configuration n’est pas aussi simple que d’importer un fichier client dans OpenVPN Connect. On doit extraire les différents certificats, déchiffrer la clé et importer le tout dans RouterOS.</description>      <author>Maxence Winandy</author>      <author>Benjamin BRAYE</author>      <pubDate>Thu, 22 Dec 2022 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/configurer-routeros-comme-client-openvpn/</link>      <category>OpenVPN</category>      <category>RouterOS</category>      <category>TLS</category>      <category>SSL</category>    </item>    <item>
      <guid>fcfea31328314e9ca1045d9d446b3dfc</guid>
      <title>Comment augmenter la sûreté de nos types en Scala (partie 2)</title>
      <description>La partie 2 pour avoir des types encore plus fort !</description>      <author>Dylan Do Amaral</author>      <pubDate>Sun, 18 Dec 2022 08:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/comment-augmenter-la-surete-de-nos-types-en-scala-2/</link>      <category>Scala</category>      <category>Compilation</category>    </item>    <item>
      <guid>4b449a2590da47a2a390ed59b20ca6a5</guid>
      <title>Comment augmenter la sûreté de nos types en Scala (partie 1)</title>
      <description>Le typage fort n’est pas suffisant pour vous ? Alors ne ratez surtout pas cet article !</description>      <author>Dylan Do Amaral</author>      <pubDate>Sun, 11 Dec 2022 08:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/comment-augmenter-la-surete-de-nos-types-en-scala/</link>      <category>Scala</category>      <category>Compilation</category>    </item>    <item>
      <guid>ddd25ab7b53541f68b63d44d1b0ee0cc</guid>
      <title>Scala Thank You : Organizing Scala.IO</title>
      <description>Sum up, and thanks on Scala.IO</description>      <author>Jonathan Winandy</author>      <pubDate>Thu, 10 Nov 2022 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/scala-thank-you-organizing-scala-io/</link>      <category>ScalaIO</category>      <category>Conférence</category>      <category>FP</category>      <category>Scala</category>      <category>Community</category>    </item>    <item>
      <guid>bb1ec3911d08498ca4514f53d0cf00f0</guid>
      <title>Dérivation récursive de typeclass avec Scala 3</title>
      <description>Un article sur la dérivation de typeclass récursive en Scala 3</description>      <author>Bastien Guihard</author>      <pubDate>Thu, 10 Nov 2022 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/derivation-recursive-de-typeclass-avec-scala-3/</link>      <category>Magnolia</category>      <category>Scala</category>    </item>    <item>
      <guid>accf38862d1448608549a4bd363a917c</guid>
      <title>HR-OPS: Automatiser la création de documents administratifs avec zio-notion</title>
      <description>Dans cet article, nous regarderons comment faire un système qui génère des documents PDF à partir d’une base de données notion</description>      <author>Bastien Guihard</author>      <pubDate>Thu, 20 Oct 2022 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/hr-ops-automatiser-la-creation-de-documents-administratifs-avec-zio-notion/</link>      <category>Scala</category>      <category>ZIO</category>      <category>zio-notion</category>      <category>admin</category>      <category>library</category>    </item>    <item>
      <guid>e9c7aa32ab1046e6ae55d94223fc2008</guid>
      <title>Scala : Sandwich de versions et rétrocompatibilité</title>
      <description>Un article sur les différents mix entre Scala 2 et 3</description>      <author>Bastien Guihard</author>      <pubDate>Tue, 18 Oct 2022 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/scala-sandwich-de-versions-et-retrocompatibilite/</link>      <category>Scala</category>      <category>Scala 3</category>      <category>Magnolia</category>      <category>SBT</category>    </item>    <item>
      <guid>0c7a8332e89c4408aba666d84b1e0762</guid>
      <title>Magnolia (chopped and screwed) </title>
      <description>Une introduction tranquille à magnolia </description>      <author>Bastien Guihard</author>      <pubDate>Fri, 16 Sep 2022 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/magnolia-chopped-and-screwed/</link>      <category>Scala</category>      <category>Magnolia</category>    </item>    <item>
      <guid>178acfd879fc409cbf9a2394d943f1b9</guid>
      <title>ZIO qu&#039;est-ce que c&#039;est ?</title>
      <description>Vous faites du Scala, mais vous ne connaissez pas ZIO ? Cet article vous présente la bibliothèque, pour ceux qui ne savent pas à quoi ça sert ni par quel bout la prendre.</description>      <author>Dylan Do Amaral</author>      <pubDate>Mon, 15 Aug 2022 09:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/zio-qu-est-ce-que-c-est/</link>      <category>Scala</category>      <category>ZIO</category>    </item>    <item>
      <guid>4aea8798720149c796ff5bc7f90fcb9a</guid>
      <title>Log4Shell + SBT</title>
      <description>CVE-2021-44228</description>      <author>Jonathan Winandy</author>      <pubDate>Sat, 11 Dec 2021 20:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/Log4Shell/</link>      <category>SBT</category>    </item>    <item>
      <guid>bfb6f8d1029f436bb5a0094bf6ee84d2</guid>
      <title>Project LOOM: Les Continuations &amp; les Thread virtuels</title>
      <description>Ça vous dirait de diviser par deux le coût en mémoire de vos programmes concurrents ? Dans cet article on va étudier le projet Loom qui introduit un modèle de concurrence léger et facile d'usage</description>      <author>Bastien Guihard</author>      <pubDate>Fri, 03 Sep 2021 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/project-loom-les-continuations-et-les-thread-virtuels/</link>      <category>Java</category>      <category>loom</category>      <category>Programmation concurrente</category>    </item>    <item>
      <guid>5a5abc94463447e69e57ff498e9dcfad</guid>
      <title>Décoder le passe sanitaire</title>
      <description>Que contient le passe sanitaire ? Qu'y a-t-il dans ce QR code ? Voici ce que propose de découvrir dans cet article. Nous parlerons aussi de son fonctionnement au niveau européen, de sécurité et de certaines implications liées à ce passe.</description>      <author>François Sarradin</author>      <pubDate>Fri, 23 Jul 2021 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/decoder-le-passe-sanitaire/</link>      <category>Pass sanitaire</category>      <category>Analyse de données</category>      <category>EUDCC</category>      <category>Sécurité</category>    </item>    <item>
      <guid>6a17e00c504b49e0a7feb914e4d8ab85</guid>
      <title>Sortie de gâteau pour ZIO 1.0</title>
      <description></description>      <author>Jonathan Winandy</author>      <pubDate>Thu, 01 Jul 2021 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/sortie-de-gateau-pour-zio-1-0/</link>      <category>ZIO</category>    </item>    <item>
      <guid>5f62dccede8c4280b9310059e6d1da32</guid>
      <title>Emit-on-change avec Kafka Streams</title>
      <description>Dans Kafka Streams, la sémantique emit-on-change fait partie des fonctionnalités attendues du framework. Cependant, la tentative d'implémentation par les contributeurs du projet s'accompagne de risques de perte de données et elle a donc été retirée du framework. Est-il possible de bénéficier de cette sémantique néanmoins ?</description>      <author>François Sarradin</author>      <pubDate>Wed, 16 Jun 2021 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/emit-on-change-avec-kafka-streams/</link>      <category>Kafka</category>      <category>Kafka Streams</category>      <category>Emit on change</category>      <category>Stream processing</category>    </item>    <item>
      <guid>555bb25f8ecf46da90ee568eab8046bf</guid>
      <title>JAVA 16: Premier contact avec l&#039;API de vectorisation</title>
      <description>Dans cet article on va regarder comment exécuter des opérations vectorielles avec l'API de Java 16</description>      <author>Bastien Guihard</author>      <pubDate>Tue, 15 Jun 2021 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/java-16-premier-contact-avec-l-api-de-vectorisation/</link>      <category>Java</category>      <category>débutant</category>      <category>Vectorisation</category>      <category>loom</category>      <category>Java 16</category>    </item>    <item>
      <guid>4af8d29177844ab39e9e924d43984d57</guid>
      <title>sbt-dynver : un script de release</title>
      <description>Nous proposons ici un petit script de release qui accompagnera volontier sbt-dynver.</description>      <author>François Sarradin</author>      <pubDate>Mon, 31 May 2021 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/sbt-dynver-un-script-de-release/</link>      <category>Release</category>      <category>sbt-dynver</category>      <category>Outil</category>    </item>    <item>
      <guid>87ce5653536a4df3b420d911b20e95a8</guid>
      <title>Scala 3 : un nouveau langage ?</title>
      <description></description>      <author>François Sarradin</author>      <pubDate>Tue, 18 May 2021 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/scala-3-un-nouveau-langage/</link>      <category>Scala</category>      <category>Scala 3</category>      <category>Changelog</category>    </item>    <item>
      <guid>8c7667af951f4dec8a8fd30b89215a71</guid>
      <title>Retour d&#039;expérience : optimisation de traitement Spark - Le piège du tout DataFrame</title>
      <description>Dans ce retour d'expérience, nous allons voir que les dataframes de Spark SQL et son API SQL ne permettent pas de répondre à tous les besoins.</description>      <author>François Sarradin</author>      <pubDate>Wed, 17 Feb 2021 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/retour-d-experience-optimisation-de-traitement-spark-le-piege-du-tout-dataframe/</link>      <category>Spark</category>      <category>SparkSQL</category>      <category>Optimisation</category>    </item>    <item>
      <guid>13d0f8b6efea44ed97ff29232a149417</guid>
      <title>Retour d&#039;expérience : donner une étude de cas à des étudiants</title>
      <description>Je vous propose un retour d’expérience sur un dispositif d'évaluation que nous avons eu l'occasion de mettre en place dans le cadre d'une formation auprès de l'école d'ingénieur ESIPE de l'Université Gustave Eiffel. La formation était donnée à des étudiants en 3e année de cycle ingénieur sur le thème des bases de données pour le big data.</description>      <author>François Sarradin</author>      <pubDate>Thu, 11 Feb 2021 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/retour-d-experience-donner-une-etude-de-cas-a-des-etudiants/</link>      <category>Formation</category>    </item>    <item>
      <guid>3c3d2462b22d471f969df9a7140d3099</guid>
      <title>Unison langage</title>
      <description></description>      <author>Pierre Baille</author>      <pubDate>Mon, 11 Jan 2021 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/unison-langage/</link>      <category>Effet</category>      <category>Programmation fonctionnelle</category>    </item>    <item>
      <guid>f550d353d7ac4e7fb02bb0ad549c0c33</guid>
      <title>Comment démarrer en Scala en 2020 ?</title>
      <description></description>      <author>Jonathan Winandy</author>      <pubDate>Tue, 27 Oct 2020 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/comment-demarrer-en-scala-en-2020/</link>      <category>Scala</category>    </item>    <item>
      <guid>5e0d7d5c47854232a025a5a0ad8317fc</guid>
      <title>Crux Database</title>
      <description></description>      <author>Pierre Baille</author>      <pubDate>Wed, 16 Sep 2020 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/crux-database/</link>      <category>clojure</category>      <category>Database</category>    </item>    <item>
      <guid>ce5a2a60182e45c8b4d913e35dccfc30</guid>
      <title>Modifier les variables d&#039;environnements en Scala</title>
      <description>C'est parfois nécessaire pour des tests unitaires. Le problème est que sys.env, System et ProcessEnvironment sont immuables. Ce n'est pas grave, on va faire un peu de réflexion 😁</description>      <author>François Sarradin</author>      <pubDate>Wed, 09 Sep 2020 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/modifier-les-variables-d-environnements-en-scala/</link>      <category>Scala</category>      <category>article court</category>      <category>Java</category>    </item>    <item>
      <guid>95c48411a762449c8eb6bb53b6f0af34</guid>
      <title>Glycogen</title>
      <description></description>      <author>Pierre Baille</author>      <pubDate>Mon, 15 Jun 2020 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/glycogen/</link>      <category>clojure</category>      <category>polymorphism</category>      <category>library</category>    </item>    <item>
      <guid>8f0f824a3ac04b8c9eebcc26179c267b</guid>
      <title>SBT pour centraliser et homogénéiser la déclaration de services</title>
      <description>Utiliser SBT pour déclarer simplement les composants d'un pipeline de services Kafka Streams et les configurer automatiquement</description>      <author>François Sarradin</author>      <pubDate>Thu, 04 Jun 2020 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/sbt-pour-centraliser-et-homogeneiser-la-declaration-de-services/</link>      <category>SBT</category>      <category>Microservice</category>      <category>Scala</category>      <category>Kafka</category>    </item>    <item>
      <guid>a4bd1101dc4e44d8a3db3a2d831a1a60</guid>
      <title>Des microservices Kafka Streams avec ZIO et http4s</title>
      <description></description>      <author>François Sarradin</author>      <pubDate>Thu, 07 May 2020 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/des-microservices-kafka-streams-avec-zio-et-http4s/</link>      <category>Scala</category>      <category>ZIO</category>      <category>Kafka</category>      <category>Kafka Streams</category>      <category>http4s</category>      <category>Programmation fonctionnelle</category>    </item>    <item>
      <guid>22b88422a08049a0af7c29a47924c94c</guid>
      <title>Patientons avec les nouveautés de Spark 3.0</title>
      <description>Résumé des changements et nouveautés apportés avec Spark 3.0</description>      <author>Bernarith Men</author>      <pubDate>Tue, 28 Apr 2020 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/patientons-avec-les-nouveautes-de-spark-3-0/</link>      <category>Spark</category>      <category>Changelog</category>      <category>Catalyst</category>    </item>    <item>
      <guid>af3ad66536074e2b89c1f7e5671c76db</guid>
      <title>NE FAITES PAS CETTE ERREUR</title>
      <description>Et si les erreurs n'en étaient pas ?</description>      <author>François Sarradin</author>      <pubDate>Fri, 27 Mar 2020 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/ne-faites-pas-cette-erreur/</link>      <category>Scala</category>      <category>Programmation fonctionnelle</category>    </item>    <item>
      <guid>c395f7c0b4874ac79700ca7002c1d144</guid>
      <title>Quoi de neuf dans Kafka 2.4</title>
      <description>Résumé de quelques fonctionnalités / bugfix ajoutés dans la version 2.4 de Kafka.</description>      <author>Harrison Cheng</author>      <pubDate>Tue, 25 Feb 2020 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/quoi-de-neuf-dans-kafka-2-4/</link>      <category>Kafka</category>      <category>Changelog</category>      <category>Kafka Connect</category>      <category>Kafka Streams</category>    </item>    <item>
      <guid>d0a9bc2641ee4292be045c5e2b7319fc</guid>
      <title>ZIO : Programmation concurrente à la carte</title>
      <description></description>      <author>Jonathan Winandy</author>      <pubDate>Mon, 24 Feb 2020 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/ZIO-prog-a-la-carte/</link>      <category>ZIO</category>      <category>Scala</category>      <category>Programmation concurrente</category>    </item>    <item>
      <guid>029b96fa9735472696318b2f779408e5</guid>
      <title>Le feu, la roue, IO</title>
      <description>Les applications doivent manipuler des effets pour être utiles, comme la communication avec le système, avec des utilisateurs ou un service tiers. Mais les effets créent des dépendances fortes dans le code qui ne favorisent pas sa maintenabilité. Le type IO permet de pallier cette difficulté.</description>      <author>François Sarradin</author>      <pubDate>Tue, 04 Feb 2020 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/le-feu-la-roue-io/</link>      <category>Scala</category>      <category>ZIO</category>      <category>Programmation fonctionnelle</category>      <category>Effet</category>      <category>IO</category>    </item>    <item>
      <guid>6703398e59f6437bb3313f497e417673</guid>
      <title>DataXDay 2019 - Le retour de l&#039;équipe Univalence</title>
      <description>L'équipe d'Univalence a eu la chance de participer au DataXDay, un événement centré autour de la data et voici ce qui s'est passé... TIN TIN</description>      <author>Dylan Do Amaral</author>      <pubDate>Thu, 19 Dec 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/dataxday-le-retour-de-lequipe-univalence/</link>      <category>Data</category>      <category>Conférence</category>      <category>DataXDay</category>      <category>Partage</category>    </item>    <item>
      <guid>2a0a8e0961924e60a1a070abe55eb93a</guid>
      <title>Tests with Spark: how to keep our heads above water</title>
      <description>Data environment is complicated enough, no? Spark-Test is here to make your life easier during your tests with Spark ⚡</description>      <author>Dylan Do Amaral</author>      <pubDate>Mon, 09 Dec 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/tests-with-spark-how-to-keep-our-heads-above-water/</link>      <category>Spark</category>      <category>SPARK-TEST</category>      <category>Spark-Tools</category>      <category>Introduction</category>    </item>    <item>
      <guid>1d751140221f43cea0d91912b007e920</guid>
      <title>Les monoïdes ne sont pas une maladie</title>
      <description></description>      <author>François Sarradin</author>      <pubDate>Tue, 08 Oct 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/les-monoides-ne-sont-pas-une-maladie/</link>      <category>Programmation fonctionnelle</category>      <category>Monoïde</category>      <category>MapReduce</category>      <category>Spark</category>      <category>Scala</category>    </item>    <item>
      <guid>de31a1df21504fd799a1a5988f99246d</guid>
      <title>La data quality, notre amie pour la vie</title>
      <description>La data quality est peu utilisée, et à tort! Aujourd'hui la data est devenue plus importante que le pétrole alors dites non à une donnée sale !</description>      <author>Dylan Do Amaral</author>      <pubDate>Tue, 10 Sep 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/la-data-quality-notre-amie-pour-la-vie/</link>      <category>Data Quality</category>      <category>Scala</category>      <category>Spark</category>      <category>Introduction</category>    </item>    <item>
      <guid>167412d5403c436db1e1609fc8b779b9</guid>
      <title>Transparence référentielle - II : The rise of non-strict evaluation</title>
      <description></description>      <author>François Sarradin</author>      <pubDate>Fri, 02 Aug 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/transparence-referentielle-ii-the-rise-of-non-strict-evaluation/</link>      <category>Programmation fonctionnelle</category>      <category>Effet</category>      <category>Évaluation non-stricte</category>      <category>Transparence référentielle</category>    </item>    <item>
      <guid>ee4b8c842d1a41b6ba67e0e0a6580266</guid>
      <title>Historisation de données avec Parquet</title>
      <description>Profiter du format parquet pour historiser ses données.</description>      <author>Philippe Hong</author>      <pubDate>Fri, 19 Jul 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/historisation-de-donnees-avec-parquet/</link>      <category>Spark</category>      <category>Compression</category>      <category>Parquet</category>    </item>    <item>
      <guid>c2c01f7c3ac046afa04de2fd67fb4dce</guid>
      <title>Les tests avec Spark : sortir la tête de l&#039;eau</title>
      <description>Les métiers de la data sont assez compliqués comme ça vous ne trouvez pas? Spark-Test est là pour vous faciliter la vie lors de vos tests avec Spark ⚡</description>      <author>Dylan Do Amaral</author>      <pubDate>Tue, 09 Jul 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/les-tests-avec-spark-sortir-la-tete-de-l-eau/</link>      <category>Spark</category>      <category>SPARK-TEST</category>      <category>Introduction</category>      <category>Spark-Tools</category>    </item>    <item>
      <guid>31b0afbb9fc54f5bbdb635d304fbfa88</guid>
      <title>Le process mining pour tous</title>
      <description>L'analyse de milliers de logs n'a jamais été aussi simple qu'avec le Process Mining. Vous voulez en savoir plus? Alors entrez!</description>      <author>Dylan Do Amaral</author>      <pubDate>Fri, 05 Jul 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/le-process-mining-pour-tous/</link>      <category>Process Mining</category>      <category>Introduction</category>      <category>Data</category>      <category>Découverte</category>    </item>    <item>
      <guid>fcb5063100e8426780e4165c41297097</guid>
      <title>Process mining camp 2019 - Notre retour d’expérience</title>
      <description>Le process mining camp est une conférence qui a lieu tout les ans. L'équipe Univalence a eu la chance d'y participer et vous fait un retour d'expérience.</description>      <author>Dylan Do Amaral</author>      <pubDate>Fri, 28 Jun 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/process-mining-camp-2019-notre-retour-dexperience/</link>      <category>Conférence</category>      <category>Process Mining</category>      <category>Partage</category>      <category>Data</category>    </item>    <item>
      <guid>bc38751079f742358fb793ab70b85d6c</guid>
      <title>Scala 2.13.0</title>
      <description>Continuant progressivement son cheminement vers la version 3 et après ~1500 pull requests, la version 2.13.0 de Scala est sortie il y a quelques jours. Vous voulez en savoir plus alors entrer !</description>      <author>François Sarradin</author>      <pubDate>Thu, 20 Jun 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/scala-2-13-0/</link>      <category>Scala</category>      <category>Changelog</category>    </item>    <item>
      <guid>e726939821e3404d910ec4fbdc88d6de</guid>
      <title>Introduction au RGPD (ou GDPR en anglais)</title>
      <description>Une petite introduction au RGPD : Règlement Général sur la Protection des Données.</description>      <author>Harrison Cheng</author>      <pubDate>Fri, 14 Jun 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/introduction-au-rgpd-ou-gdpr-en-anglais/</link>      <category>RGPD</category>    </item>    <item>
      <guid>ef072e54e62149ddae7d22ec485e4b63</guid>
      <title>Transparence référentielle - I : la perte de la prédictibilité</title>
      <description>La transparence référentielle en quelques mots une expression qui peut dans toute situation être échangé par son résultat et en un article voilà ce que ça donne.</description>      <author>François Sarradin</author>      <pubDate>Fri, 07 Jun 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/transparence-referentielle-i-la-perte-de-la-predictibilite/</link>      <category>Programmation fonctionnelle</category>      <category>Transparence référentielle</category>      <category>Effet</category>      <category>Scala</category>    </item>    <item>
      <guid>25a1c559efc84a02a6b6799ec14956b9</guid>
      <title>sbt-dynver : la gestion dynamique des numéros de version</title>
      <description>sbt-dynver offre une souplesse et facilité de mise en œuvre d'une application en reléguant notamment la gestion du numéro de version... à Git.</description>      <author>François Sarradin</author>      <pubDate>Wed, 05 Jun 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/sbt-dynver-la-gestion-dynamique-des-numeros-de-version/</link>      <category>SBT</category>      <category>Scala</category>      <category>sbt-dynver</category>      <category>Outil</category>    </item>    <item>
      <guid>8005a4eb1dd94586aff2cb1376738c86</guid>
      <title>Les onzes commandements de Jon Pretty (2e partie)</title>
      <description></description>      <author>Philippe Hong</author>      <pubDate>Fri, 24 May 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/les-onzes-commandements-de-jon-pretty-2e-partie/</link>      <category>Scala</category>      <category>Jon Pretty</category>    </item>    <item>
      <guid>97c223dcb7974407a9c8d665e2ad6f30</guid>
      <title>Spark &amp; ZIO  : rencontre du 3e type</title>
      <description></description>      <author>Philippe Hong</author>      <pubDate>Fri, 17 May 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/spark-et-zio-rencontre-du-3e-type/</link>      <category>ZIO</category>      <category>Spark</category>      <category>Scala</category>    </item>    <item>
      <guid>b73ba25fc5654710b780deddcb59d646</guid>
      <title>Les onzes commandements de Jon Pretty (1re partie)</title>
      <description></description>      <author>Harrison Cheng</author>      <pubDate>Fri, 10 May 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/les-onzes-commandements-de-jon-pretty-1re-partie/</link>      <category>Scala</category>      <category>Jon Pretty</category>    </item>    <item>
      <guid>c4a5a112f854404e9f45fd43f60a61e2</guid>
      <title>Apache Kafka VS Apache Pulsar</title>
      <description></description>      <author>Harrison Cheng</author>      <pubDate>Tue, 30 Apr 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/apache-kafka-vs-apache-pulsar/</link>      <category>Kafka</category>      <category>Apache Pulsar</category>    </item>    <item>
      <guid>004aa498a4ce461bb6e2d7621f66a6c3</guid>
      <title>Univalence à Devoxx France 2019</title>
      <description>Retour d'Univalence sur le Devoxx France 2019 avec toute l'équipe Univalence. Un événement où était abordé Kotlin, Kafka, Kubernetes et bien plus encore.</description>      <author>François Sarradin</author>      <pubDate>Wed, 24 Apr 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/univalence-a-devoxx-france-2019/</link>      <category>Devoxx</category>      <category>clojure</category>      <category>Scala</category>      <category>Data</category>    </item>    <item>
      <guid>31b8123126234aa993c532a8693a0691</guid>
      <title>Retour sur Scalar 2019</title>
      <description></description>      <author>Harrison Cheng</author>      <author>Philippe Hong</author>      <pubDate>Fri, 19 Apr 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/retour-sur-scalar-2019/</link>      <category>Scala</category>      <category>Scalar</category>      <category>Conférence</category>    </item>    <item>
      <guid>a4e31fc83a624eada5c777a4023e3d6f</guid>
      <title>Un aperçu d&#039;Apache Pulsar</title>
      <description></description>      <author>Harrison Cheng</author>      <pubDate>Wed, 10 Apr 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/un-apercu-d-apache-pulsar/</link>      <category>Apache Pulsar</category>    </item>    <item>
      <guid>cddc5b65a23d475bbe03b91cb78722cb</guid>
      <title>Typeclass derivation : faites éclore vos instances avec Magnolia</title>
      <description>Magnolia est une libraire encore toute jeune et pourtant elle fait déjà ses preuves et sait se montrer indispensable lorsqu'on parle de typeclass derivation.</description>      <author>François Sarradin</author>      <pubDate>Wed, 03 Apr 2019 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/typeclass-derivation-faites-eclore-vos-instances-avec-magnolia/</link>      <category>Scala</category>      <category>Typeclass</category>      <category>Magnolia</category>      <category>JSON</category>    </item>    <item>
      <guid>855109e92043470c90a8ef9c03ad33d8</guid>
      <title>Pourquoi les typeclasses c&#039;est top ?</title>
      <description>Les typeclasses c'est vraiment top, c'est beau, c'est fort et c'est polyvalent. Si vous ne savez pas ce que c'est alors ne ratez pas cet article !</description>      <author>François Sarradin</author>      <pubDate>Wed, 27 Mar 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/pourquoi-les-typeclasses-c-est-top/</link>      <category>Typeclass</category>      <category>Scala</category>    </item>    <item>
      <guid>9c120529f0e547a98ff377c3e2eaaa25</guid>
      <title>Covariance, contravariance et botanique</title>
      <description>La notion de variance est une notion souvent énigmatique pour les développeurs. Elles sont pourtant, en présence d'un langage utilisant à la fois du sous-typage et des types paramétrés, des notions importantes.</description>      <author>François Sarradin</author>      <pubDate>Thu, 21 Mar 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/covariance-contravariance-et-botanique/</link>      <category>Scala</category>      <category>Variance</category>      <category>Covariance</category>      <category>Contravariance</category>    </item>    <item>
      <guid>350710f3c09f497daa72621d8b3abfe5</guid>
      <title>Shuffle dans Spark, reduceByKey vs groupByKey</title>
      <description></description>      <author>Harrison Cheng</author>      <pubDate>Fri, 15 Mar 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/shuffle-dans-spark-reducebykey-vs-groupbykey/</link>      <category>Spark</category>      <category>Scala</category>    </item>    <item>
      <guid>e2b58f1822db407f879f224332a1c0f7</guid>
      <title>Kafka et les groupes de consommateurs</title>
      <description>Les groupes de consommateurs de Kafka ne vous disent rien ? Ils vont pourtant devenir inévitables à l'avenir alors autant les découvrir dès maintenant !</description>      <author>François Sarradin</author>      <pubDate>Thu, 14 Mar 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/kafka-et-les-groupes-de-consommateurs/</link>      <category>Kafka</category>      <category>Confluent</category>      <category>Consumer</category>      <category>Group</category>      <category>GroupID</category>    </item>    <item>
      <guid>587ac57567d041cab66c6eab5da3261c</guid>
      <title>Spark : Déduplication dans le schéma</title>
      <description></description>      <author>Philippe Hong</author>      <pubDate>Fri, 08 Mar 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/spark-deduplication-dans-le-schema/</link>      <category>Spark</category>      <category>Catalyst</category>      <category>SparkSQL</category>    </item>    <item>
      <guid>53a30aab05f049ec92417f9ab6c41f01</guid>
      <title>En finir avec les problèmes de case class dans Spark</title>
      <description>Dans un article précédent on montrait comment utiliser des fonctions d'ordre supérieur avec spark </description>      <author>François Sarradin</author>      <pubDate>Tue, 26 Feb 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/en-finir-avec-les-problemes-de-case-class-dans-spark/</link>      <category>Spark</category>      <category>Scala</category>      <category>Magnolia</category>      <category>Programmation fonctionnelle</category>      <category>Twitter Chill</category>    </item>    <item>
      <guid>11037e2befc8437d8f4614841e86392c</guid>
      <title>PKIX path building failed: unable to find valid certification path to requested target... À tes souhaits !</title>
      <description>PKIX path building failed: unable to find valid certification path to requested target... Quoi vous avez cette erreur ? On l'a eu aussi et on a réussi à en sortir vainqueur et voici comment.</description>      <author>François Sarradin</author>      <pubDate>Thu, 21 Feb 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/pkix-path-building-failed-unable-to-find-valid-certification-path-to-requested-target-a-tes-souhaits/</link>      <category>Sécurité</category>      <category>SSL</category>      <category>Java</category>      <category>Scala</category>      <category>TLS</category>      <category>X.509</category>      <category>Certificat</category>    </item>    <item>
      <guid>5d9412ef4d154ac3ac430e52ba27ad15</guid>
      <title>cause-toujours : who can it be now?</title>
      <description>Savoir d'où provient un appel dans le code est une nécessité. C'est de ce concept de base qu'est née cause-toujours, pour en savoir plus, ça se passe ici. 😉</description>      <author>François Sarradin</author>      <pubDate>Tue, 12 Feb 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/cause-toujours-who-can-it-be-now/</link>      <category>cause-toujours</category>      <category>Callsite</category>      <category>OSS</category>      <category>Scala</category>      <category>Macro</category>      <category>Zoom</category>    </item>    <item>
      <guid>8126c05eda044681a01b08b07b438c23</guid>
      <title>Lancer un job Spark dans un cluster Kubernetes en local</title>
      <description></description>      <author>Philippe Hong</author>      <pubDate>Thu, 07 Feb 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/lancer-un-job-spark-dans-un-cluster-kubernetes-en-local/</link>      <category>Spark</category>      <category>Kubernetes</category>    </item>    <item>
      <guid>1f19206ad9b544788f13f2e8083760f0</guid>
      <title>Fonctions d&#039;ordre supérieur dans Spark 2 pour traiter des structures imbriquées</title>
      <description>Spark 2.4 n'est pas à la porter de tous projets alors pour ceux qui veulent utiliser des fonctions d'ordre supérieur avec Spark </description>      <author>François Sarradin</author>      <pubDate>Tue, 05 Feb 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/fonctions-d-ordre-superieur-dans-spark-2-pour-traiter-des-structures-imbriquees/</link>      <category>Spark</category>      <category>Scala</category>      <category>Programmation fonctionnelle</category>    </item>    <item>
      <guid>c1257e1c6d9047beaee0c061e684e378</guid>
      <title>Transition C#.Net vers Scala : un sentier abrupt néanmoins franchissable</title>
      <description></description>      <author>Bernarith Men</author>      <pubDate>Thu, 31 Jan 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/transition-c-net-vers-scala-un-sentier-abrupt-neanmoins-franchissable/</link>      <category>Scala</category>      <category>C#</category>      <category>.Net</category>      <category>Programmation fonctionnelle</category>      <category>Getting Started</category>    </item>    <item>
      <guid>54c2ce1fd7ff4983bdb1818a7eb439d9</guid>
      <title>Formattage du code en Scala</title>
      <description></description>      <author>François Sarradin</author>      <pubDate>Tue, 29 Jan 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/formattage-du-code-en-scala/</link>      <category>Scalafmt</category>      <category>Scala</category>      <category>Outil</category>    </item>    <item>
      <guid>39bbbbbbccca4a4fa0fe983c45a63e08</guid>
      <title>Amélioration du lead time des chaînes en Spark avec un peu de Monix</title>
      <description></description>      <author>Philippe Hong</author>      <pubDate>Fri, 25 Jan 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/amelioration-du-lead-time-des-chaines-en-spark-avec-un-peu-de-monix/</link>      <category>Spark</category>      <category>Monix</category>    </item>    <item>
      <guid>fa5823fc988c413c97a27b418e58abf4</guid>
      <title>Parler de programmation fonctionnelle à l&#039;université - retour sur mon intervention à l&#039;Université Paris Nanterre</title>
      <description>J'ai eu l'occasion et la chance d'intervenir dans l'Université Paris Nanterre pour parler de programmation fonctionnelle et voici ce qui en est ressorti.</description>      <author>François Sarradin</author>      <pubDate>Mon, 21 Jan 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/parler-de-programmation-fonctionnelle-a-l-universite-retour-sur-mon-intervention-a-l-universite-paris-nanterre/</link>      <category>Programmation fonctionnelle</category>      <category>Partage</category>      <category>Scala</category>      <category>Java</category>    </item>    <item>
      <guid>ba1f971f0bdc4b2a965c2d0b17cc4c44</guid>
      <title>Kafka : synthèse</title>
      <description>Kafka est devenu un incontournable de la sphère Big Data. Pour ceux ayant passé à côté, il n'est pas trop tard pour mettre la main à la pâte notamment grâce à cet article plus que complet.</description>      <author>François Sarradin</author>      <pubDate>Tue, 08 Jan 2019 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/kafka-synthese/</link>      <category>Kafka</category>      <category>Kafka Streams</category>      <category>Kafka Connect</category>    </item>    <item>
      <guid>65c624c5f3be4164bd26e2a531dc6c41</guid>
      <title>ZIO : mais d&#039;où vient cette stack trace ? </title>
      <description></description>      <author>Philippe Hong</author>      <pubDate>Thu, 22 Nov 2018 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/zio-mais-d-ou-vient-cette-stack-trace/</link>      <category>Quick-tips</category>      <category>ZIO</category>      <category>Scala</category>    </item>    <item>
      <guid>5f2626f0203243989cc0f13643c479e4</guid>
      <title>ScalaIO 2018 - Le retour de l&#039;équipe Univalence</title>
      <description></description>      <author>François Sarradin</author>      <pubDate>Thu, 22 Nov 2018 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/scalaio-2018-le-retour-de-l-equipe-univalence/</link>      <category>ScalaIO</category>      <category>Scala</category>      <category>Spark</category>      <category>Dotty</category>      <category>ZIO</category>      <category>ScalaZ</category>      <category>Magnolia</category>      <category>Fury</category>      <category>Matryoshka</category>      <category>Programmation fonctionnelle</category>    </item>    <item>
      <guid>42c9c9efd45c45e79ff344d31492c4a4</guid>
      <title>Implicit Encoder / SparkSession / Configuration, quelques astuces pour structurer du code Spark</title>
      <description></description>      <author>Jonathan Winandy</author>      <pubDate>Wed, 21 Nov 2018 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/implicit-encoder-sparksession-configuration-quelques-astuces-pour-structurer-du-code-spark/</link>      <category>Spark</category>      <category>Scala</category>      <category>Implicit</category>    </item>    <item>
      <guid>4c229b2072c247b1b8a1d17c592faa2b</guid>
      <title>Alignement de schémas (union)</title>
      <description></description>      <author>Jonathan Winandy</author>      <pubDate>Mon, 19 Nov 2018 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/alignement-de-schemas-union/</link>      <category>Spark</category>      <category>Scala</category>    </item>    <item>
      <guid>11a6c4bda9a8450c962622e0d86fe5e9</guid>
      <title>Deuxième article : Array ⇒ Denormalized #1</title>
      <description>La dernière fois, nous avions volontairement omis les arrays lors d'une conversion entre nested et unested structures alors il est grand temps de s'en charger !</description>      <author>François Sarradin</author>      <author>Jonathan Winandy</author>      <pubDate>Wed, 14 Nov 2018 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/deuxieme-article-array-denormalized-1/</link>      <category>Spark</category>      <category>JSON</category>      <category>CSV</category>      <category>Scala</category>      <category>SparkSQL</category>    </item>    <item>
      <guid>53c71db6920844d48efe374b1e6c5eba</guid>
      <title>Spark 2.4 : #TheWaitIsOver Tour d&#039;horizon de la nouvelle version</title>
      <description>Spark 2.4 est enfin sorti accompagné de son lot de nouveautés tels que le support Scala 2.12 et bien d'autres améliorations détaillées dans cet article !</description>      <author>François Sarradin</author>      <author>Jonathan Winandy</author>      <pubDate>Thu, 08 Nov 2018 00:00:00 +0100</pubDate>
      <link>https://univalence.io/blog/articles/spark-2-4-thewaitisover-tour-d-horizon-de-la-nouvelle-version/</link>      <category>Spark</category>      <category>Avro</category>      <category>Kafka</category>      <category>Kubernetes</category>      <category>Scala</category>      <category>SparkSQL</category>    </item>    <item>
      <guid>eb4e79cc7be842569dc7f261dad3574c</guid>
      <title>JSON ⇒ CSV en Spark - Première approche</title>
      <description>Il arrive de vouloir convertir des structures imbriquées en structures non imbriquées notamment pour convertir du JSON en CSV, voici comment faire avec Spark! ⚡</description>      <author>Jonathan Winandy</author>      <author>François Sarradin</author>      <pubDate>Fri, 11 May 2018 00:00:00 +0200</pubDate>
      <link>https://univalence.io/blog/articles/json-csv-en-spark-premiere-approche/</link>      <category>Spark</category>      <category>JSON</category>      <category>CSV</category>      <category>Scala</category>      <category>Data</category>    </item>  </channel>
</rss>