<?xml version="1.0" ?>
  <rss
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    version="2.0"
  >
    <channel>
        <title><![CDATA[Software engineering articles by Gauthier Cassany]]></title>
        <link>https://gauthier-cassany.com</link>
        <description>
          <![CDATA[Blog posts about Software Engineering by Gauthier Cassany]]>
        </description>
        <language>en</language>
        <lastBuildDate>29 December 2022</lastBuildDate>
        
    <item>
      <title><![CDATA[Deploy your Next.js application to Vercel using Sentry and Github Actions]]></title>
      <link>https://gauthier-cassany.com/posts/prod-ready-nextjs-sentry</link>
      <pubDate>29 December 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/prod-ready-nextjs-sentry</guid>
      <description>
      <![CDATA[In this blog post, we are going to go from bootstrapping a Next.js application to deploying it on Vercel. We will use Github Action to handle the Continuous Integration and Sentry to monitor the application once it is deployed to be warned of any problems as soon as it arrives.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Implement Conditional Indexing in Hibernate Search using Spring Boot]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-hibernate-search-conditional-indexing</link>
      <pubDate>15 Octobre 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-hibernate-search-conditional-indexing</guid>
      <description>
      <![CDATA[As we have seen in a previous blog post, Hibernate Search can be easily set up in a Spring Boot application to implement Full-Text Search through an HTTP endpoint. But we have only gone across the most basic features of what Hibernate Search provides. In this blog post, we are going to implement Conditional Indexing to skip Plant belonging to a specific family.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Set up Keycloak in Spring Boot using the Keycloak Admin API]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-keycloak-admin-api</link>
      <pubDate>14 September 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-keycloak-admin-api</guid>
      <description>
      <![CDATA[The goal of this article is to set up our Keycloak realm once through the Keycloak Admin Console and then recreate this setup at will, without doing all the manual setup all over again. For that, we are going to automate this process using Spring Boot and the java Keycloak Admin API client.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Quickly bootstrap a new Spring Boot project with the Spring CLI]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-cli-bootstrap</link>
      <pubDate>16 August 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-cli-bootstrap</guid>
      <description>
      <![CDATA[Generating a Spring Boot project can be made through various means, each having its own use case depending on your situation. In this article, we will use the CLI to generate a new Spring Boot Project.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Implement Role-based authorization in Spring Boot with Keycloak]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-keycloak-roles</link>
      <pubDate>26 July 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-keycloak-roles</guid>
      <description>
      <![CDATA[Role-based access control is a must-have for any application dealing with users who can access resources depending on their organization's role. In a previous article, we have learned how to secure our Spring Boot REST API with Keycloak by using the OpenID Connect authentication protocol. In this article, we are going to build on this sample application and add role-based authorization.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Secure your Spring Boot Rest API with Keycloak]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-keycloak</link>
      <pubDate>27 June 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-keycloak</guid>
      <description>
      <![CDATA[Security is often overlooked and is seen as a burden that goes against development velocity. But in today’s age, the more secure layers there are, the safer it is. That is what Security in Depth is, and one part is to secure our REST API.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Build a Spring Boot REST API with Paginated Full-Text Search using Hibernate Search]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-paginated-search</link>
      <pubDate>26 May 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-paginated-search</guid>
      <description>
      <![CDATA[In a previous article, we have learned how to add full-text-search to a Spring Boot Rest API using Hibernate Search. In this article, we are going to build on that, and learn how to add paginated search to our existing REST API.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Build a Spring Boot REST API with Full-Text Search using Hibernate Search]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-hibernate-search</link>
      <pubDate>5 April 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-hibernate-search</guid>
      <description>
      <![CDATA[Search is one of the pillars of the web, and full-text search is one of the mandatory features that every website needs.  But implementing such a feature is complex, and lots of skilled engineers have already thought hard about this topic. So let’s not reinvent the wheel, and use the battle-tested Hibernate Search library.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Build a paginated list in React with SWR and Styled Components]]></title>
      <link>https://gauthier-cassany.com/posts/build-paginated-list-react-swr</link>
      <pubDate>10 March 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/build-paginated-list-react-swr</guid>
      <description>
      <![CDATA[In a previous blog post, we have learned how to build an API with pagination. In this blog post, we are focusing on how to consume such an API by building a paginated list using React, the most popular javascript frontend framework at the moment.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Build a .jar file inside a Docker container with Maven]]></title>
      <link>https://gauthier-cassany.com/posts/build-jar-inside-docker</link>
      <pubDate>15 February 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/build-jar-inside-docker</guid>
      <description>
      <![CDATA[Containers have become very popular during the last few years thanks to the rise of Docker. The most common use case is to run an application in isolation, be it in a development environment or a production environment. But it can also be used for more specific use cases. In this article, we are going to build a jar file inside a docker container.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[Build a Spring Boot REST API with Pagination and Sorting]]></title>
      <link>https://gauthier-cassany.com/posts/spring-boot-pagination-and-sorting</link>
      <pubDate>26 January 2022</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/spring-boot-pagination-and-sorting</guid>
      <description>
      <![CDATA[Pagination is an important feature for REST API, and is used for many use cases where we want to fetch only a small part of an entire dataset. It might be for performance reasons, and fetch only the data needed at that time. It can also be used by the frontend to display items using a paginated view type of UI such as infinite scrolling.]]>
      </description>
    </item>
    <item>
      <title><![CDATA[How to set up Keycloak with Docker and PostgreSQL]]></title>
      <link>https://gauthier-cassany.com/posts/setup-keycloak-docker</link>
      <pubDate>15 December 2021</pubDate>
      <guid isPermaLink="false">https://gauthier-cassany.com/posts/setup-keycloak-docker</guid>
      <description>
      <![CDATA[In this blog post, we are going to learn how to run Keycloak inside docker, using a dedicated PostgreSQL database also running in a docker container.]]>
      </description>
    </item>
    </channel>
  </rss>