{:group "2020-04",
 :parsed-group #inst "2020-03-31T22:00:00.000-00:00",
 :posts
 ({:title "Patientons avec les nouveautés de Spark 3.0",
   :uri "/blog/articles/patientons-avec-les-nouveautes-de-spark-3-0/",
   :date #inst "2020-04-27T22:00:00.000-00:00"})}

2020 avril

{:group "2020-02",
 :parsed-group #inst "2020-01-31T23:00:00.000-00:00",
 :posts
 ({:title "ZIO : Programmation concurrente à la carte",
   :uri "/blog/articles/ZIO-prog-a-la-carte/",
   :date #inst "2020-02-23T23:00:00.000-00:00"}
  {:title "Le feu, la roue, IO",
   :uri "/blog/articles/le-feu-la-roue-io/",
   :date #inst "2020-02-03T23:00:00.000-00:00"})}

2020 février

{:group "2019-08",
 :parsed-group #inst "2019-07-31T22:00:00.000-00:00",
 :posts
 ({:title
   "Transparence référentielle - II : The rise of non-strict evaluation",
   :uri
   "/blog/articles/transparence-referentielle-ii-the-rise-of-non-strict-evaluation/",
   :date #inst "2019-08-01T22:00:00.000-00:00"})}

2019 août

{:group "2019-07",
 :parsed-group #inst "2019-06-30T22:00:00.000-00:00",
 :posts
 ({:title "Historisation de données avec Parquet",
   :uri "/blog/articles/historisation-de-donnees-avec-parquet/",
   :date #inst "2019-07-18T22:00:00.000-00:00"})}

2019 juillet

{:group "2019-06",
 :parsed-group #inst "2019-05-31T22:00:00.000-00:00",
 :posts
 ({:title "Scala 2.13.0",
   :uri "/blog/articles/scala-2-13-0/",
   :date #inst "2019-06-19T22:00:00.000-00:00"}
  {:title "Introduction au RGPD (ou GDPR en anglais)",
   :uri "/blog/articles/introduction-au-rgpd-ou-gdpr-en-anglais/",
   :date #inst "2019-06-13T22:00:00.000-00:00"}
  {:title
   "Transparence référentielle - I : la perte de la prédictibilité",
   :uri
   "/blog/articles/transparence-referentielle-i-la-perte-de-la-predictibilite/",
   :date #inst "2019-06-06T22:00:00.000-00:00"}
  {:title "sbt-dynver : la gestion dynamique des numéros de version",
   :uri
   "/blog/articles/sbt-dynver-la-gestion-dynamique-des-numeros-de-version/",
   :date #inst "2019-06-04T22:00:00.000-00:00"})}

2019 juin

{:group "2019-05",
 :parsed-group #inst "2019-04-30T22:00:00.000-00:00",
 :posts
 ({:title "Les onzes commandements de Jon Pretty (2e partie)",
   :uri
   "/blog/articles/les-onzes-commandements-de-jon-pretty-2e-partie/",
   :date #inst "2019-05-23T22:00:00.000-00:00"}
  {:title "Spark & ZIO  : rencontre du 3e type",
   :uri "/blog/articles/spark-zio-rencontre-du-3e-type/",
   :date #inst "2019-05-16T22:00:00.000-00:00"}
  {:title "Les onzes commandements de Jon Pretty (1re partie)",
   :uri
   "/blog/articles/les-onzes-commandements-de-jon-pretty-1re-partie/",
   :date #inst "2019-05-09T22:00:00.000-00:00"})}

2019 mai

{:group "2019-04",
 :parsed-group #inst "2019-03-31T22:00:00.000-00:00",
 :posts
 ({:title "Apache Kafka VS Apache Pulsar",
   :uri "/blog/articles/apache-kafka-vs-apache-pulsar/",
   :date #inst "2019-04-29T22:00:00.000-00:00"}
  {:title "Univalence à Devoxx France 2019",
   :uri "/blog/articles/univalence-a-devoxx-france-2019/",
   :date #inst "2019-04-23T22:00:00.000-00:00"}
  {:title "Retour sur Scalar 2019",
   :uri "/blog/articles/retour-sur-scalar-2019/",
   :date #inst "2019-04-18T22:00:00.000-00:00"}
  {:title "Un aperçu d'Apache Pulsar",
   :uri "/blog/articles/un-apercu-d-apache-pulsar/",
   :date #inst "2019-04-09T22:00:00.000-00:00"}
  {:title
   "Typeclass derivation : faites éclore vos instances avec Magnolia",
   :uri
   "/blog/articles/typeclass-derivation-faites-eclore-vos-instances-avec-magnolia/",
   :date #inst "2019-04-02T22:00:00.000-00:00"})}

2019 avril

{:group "2019-03",
 :parsed-group #inst "2019-02-28T23:00:00.000-00:00",
 :posts
 ({:title "Pourquoi les typeclasses c'est top ?",
   :uri "/blog/articles/pourquoi-les-typeclasses-c-est-top/",
   :date #inst "2019-03-26T23:00:00.000-00:00"}
  {:title "Covariance, contravariance et botanique",
   :uri "/blog/articles/covariance-contravariance-et-botanique/",
   :date #inst "2019-03-20T23:00:00.000-00:00"}
  {:title "Shuffle dans Spark, reduceByKey vs groupByKey",
   :uri "/blog/articles/shuffle-dans-spark-reducebykey-vs-groupbykey/",
   :date #inst "2019-03-14T23:00:00.000-00:00"}
  {:title "Kafka et les groupes de consommateurs",
   :uri "/blog/articles/kafka-et-les-groupes-de-consommateurs/",
   :date #inst "2019-03-13T23:00:00.000-00:00"}
  {:title "Spark : Déduplication dans le schéma",
   :uri "/blog/articles/spark-deduplication-dans-le-schema/",
   :date #inst "2019-03-07T23:00:00.000-00:00"})}

2019 mars

{:group "2019-02",
 :parsed-group #inst "2019-01-31T23:00:00.000-00:00",
 :posts
 ({:title "En finir avec les problèmes de case class dans Spark",
   :uri
   "/blog/articles/en-finir-avec-les-problemes-de-case-class-dans-spark/",
   :date #inst "2019-02-25T23:00:00.000-00:00"}
  {:title
   "PKIX path building failed: unable to find valid certification path to requested target... À tes souh...",
   :uri
   "/blog/articles/pkix-path-building-failed-unable-to-find-valid-certification-path-to-requested-target...",
   :date #inst "2019-02-20T23:00:00.000-00:00"}
  {:title "cause-toujours : who can it be now?",
   :uri "/blog/articles/cause-toujours-who-can-it-be-now/",
   :date #inst "2019-02-11T23:00:00.000-00:00"}
  {:title "Lancer un job Spark dans un cluster Kubernetes en local",
   :uri
   "/blog/articles/lancer-un-job-spark-dans-un-cluster-kubernetes-en-local/",
   :date #inst "2019-02-06T23:00:00.000-00:00"}
  {:title
   "Fonctions d'ordre supérieur dans Spark 2 pour traiter des structures imbriquées",
   :uri
   "/blog/articles/fonctions-d-ordre-superieur-dans-spark-2-pour-traiter-des-structures-imbriquees/",
   :date #inst "2019-02-04T23:00:00.000-00:00"})}

2019 février

{:group "2019-01",
 :parsed-group #inst "2018-12-31T23:00:00.000-00:00",
 :posts
 ({:title
   "Transition C#.Net vers Scala : un sentier abrupt néanmoins franchissable",
   :uri
   "/blog/articles/transition-c-net-vers-scala-un-sentier-abrupt-neanmoins-franchissable/",
   :date #inst "2019-01-30T23:00:00.000-00:00"}
  {:title "Formattage du code en Scala",
   :uri "/blog/articles/formattage-du-code-en-scala/",
   :date #inst "2019-01-28T23:00:00.000-00:00"}
  {:title
   "Amélioration du lead time des chaînes en Spark avec un peu de Monix",
   :uri
   "/blog/articles/amelioration-du-lead-time-des-chaines-en-spark-avec-un-peu-de-monix/",
   :date #inst "2019-01-24T23:00:00.000-00:00"}
  {:title
   "Parler de programmation fonctionnelle à l'université - retour sur mon intervention à l'Université Pa...",
   :uri
   "/blog/articles/parler-de-programmation-fonctionnelle-a-l-universite-retour-sur-mon-intervention-a-l-...",
   :date #inst "2019-01-20T23:00:00.000-00:00"}
  {:title "Kafka : synthèse",
   :uri "/blog/articles/kafka-synthese/",
   :date #inst "2019-01-07T23:00:00.000-00:00"})}

2019 janvier

{:group "2018-11",
 :parsed-group #inst "2018-10-31T23:00:00.000-00:00",
 :posts
 ({:title "ZIO : mais d'où vient cette stack trace ?",
   :uri "/blog/articles/zio-mais-d-ou-vient-cette-stack-trace/",
   :date #inst "2018-11-21T23:00:00.000-00:00"}
  {:title "ScalaIO 2018 - Le retour de l'équipe Univalence",
   :uri
   "/blog/articles/scalaio-2018-le-retour-de-l-equipe-univalence/",
   :date #inst "2018-11-21T23:00:00.000-00:00"}
  {:title
   "Implicit Encoder / SparkSession / Configuration, quelques astuces pour structurer du code Spark",
   :uri
   "/blog/articles/implicit-encoder-sparksession-configuration-quelques-astuces-pour-structurer-du-code-...",
   :date #inst "2018-11-20T23:00:00.000-00:00"}
  {:title "Alignement de schémas (union)",
   :uri "/blog/articles/alignement-de-schemas-union/",
   :date #inst "2018-11-18T23:00:00.000-00:00"}
  {:title "Deuxième article : Array ⇒ Denormalized #1",
   :uri "/blog/articles/deuxieme-article-array-denormalized-1/",
   :date #inst "2018-11-13T23:00:00.000-00:00"}
  {:title
   "Spark 2.4 : #TheWaitIsOver Tour d'horizon de la nouvelle version",
   :uri
   "/blog/articles/spark-2-4-thewaitisover-tour-d-horizon-de-la-nouvelle-version/",
   :date #inst "2018-11-07T23:00:00.000-00:00"}
  {:title "JSON ⇒ CSV en Spark - Première approche",
   :uri "/blog/articles/json-csv-en-spark-premiere-approche/",
   :date #inst "2018-11-04T23:00:00.000-00:00"})}

2018 novembre

{:group "2018-09",
 :parsed-group #inst "2018-08-31T22:00:00.000-00:00",
 :posts
 ({:title "Publier dans OSSRH (Maven Central)",
   :uri "/blog/articles/publier-dans-ossrh-maven-central/",
   :date #inst "2018-09-04T22:00:00.000-00:00"})}

2018 septembre