<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Alain Nicolas</title>
    <link>https://alainnicolas.fr/en/</link>
    <description>As a Fullstack Blockchain Developer at Consensys, I want to maximize the quality of the code of my projects in order to always deliver value.</description>
    <language>en</language>
    <lastBuildDate>Sat, 09 May 2026 09:16:18 +0200</lastBuildDate>
    <atom:link href="https://alainnicolas.fr/en/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>When security fails because maintenance did</title>
      <link>https://alainnicolas.fr/en/blog/when-security-fails-because-maintenance-did/</link>
      <pubDate>Sat, 11 Apr 2026 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/when-security-fails-because-maintenance-did/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;When the React2Shell vulnerability CVE-2025-55182 was disclosed on December 3 2025, many teams panicked.
Not because the exploit was particularly sophisticated, but because they immediately understood the real cost.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Dozens of applications were involved, each frozen on its own version of React or Next.js, sometimes even tied to a specific Node runtime.
Some had not been touched in months.
Others in years.
Before applying any fix, the first problem was not security.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>The Junior Path Is Disappearing</title>
      <link>https://alainnicolas.fr/en/blog/junior-developer-path-disappearing/</link>
      <pubDate>Tue, 06 Jan 2026 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/junior-developer-path-disappearing/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;With the rise of credible LLMs capable of generating usable applications in a matter of hours, even for non technical people, a familiar narrative keeps coming back.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Junior developers are doomed.&lt;br/&gt;
Companies will stop hiring graduates.&lt;br/&gt;
The field is saturated.&lt;br/&gt;
We are all about to be replaced.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Some of this fear is justified.
The pace at which models improve, tools mature and knowledge spreads is unprecedented.
Pretending otherwise is denial.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Linea Developer Hub</title>
      <link>https://alainnicolas.fr/en/projects/linea-developer-hub/</link>
      <pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/linea-developer-hub/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The Linea ecosystem is experiencing rapid growth, with numerous apps and protocols deployed.
To support this expansion, Linea needed a unified portal allowing developers to manage their presence in the ecosystem autonomously.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Linea Developer Hub&lt;/strong&gt; was born from this need: a self-service back-office where development teams can submit their applications, manage their events, link their tokens, and track their analytics.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_key_features&#34;&gt;Key Features&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_app_submission&#34;&gt;App Submission&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;A multi-step submission process allows developers to register their applications:&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Linea Hub</title>
      <link>https://alainnicolas.fr/en/projects/linea-hub/</link>
      <pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/linea-hub/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Linea needed a platform to showcase its growing ecosystem.
Beyond a simple directory, the goal was to create an engagement hub capable of attracting and retaining users through gamification mechanics.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Linea Hub&lt;/strong&gt; addresses this need by combining application discovery, market data aggregation, and a daily rewards system.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_key_features&#34;&gt;Key Features&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_app_directory&#34;&gt;App Directory&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;A comprehensive catalog of applications in the Linea ecosystem:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;ulist&#34;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Category Navigation&lt;/strong&gt;: DeFi, NFT, Gaming, Infrastructure, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Detailed Listings&lt;/strong&gt;: description, links, contracts, statistics&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Analytics Integration&lt;/strong&gt;: usage data via Dune Analytics&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Leaderboard&lt;/strong&gt;: apps ranked by popularity&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Strava Segment Attestations</title>
      <link>https://alainnicolas.fr/en/projects/strava-segment-attestations/</link>
      <pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/strava-segment-attestations/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;What if your athletic performances could become permanent cryptographic proofs?
Strava achievements remain locked within the app today, with no way to prove them verifiably elsewhere.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Strava Segment Attestations&lt;/strong&gt; creates a bridge between the sport world and Web3, allowing athletes to transform their completed Strava segments into permanent onchain attestations on the Linea blockchain.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_value_proposition&#34;&gt;Value Proposition&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_for_athletes&#34;&gt;For Athletes&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Permanence&lt;/strong&gt;: unlike screenshots, attestations are immutable&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Verification&lt;/strong&gt;: anyone can verify the authenticity of your performances&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Discord Attestation</title>
      <link>https://alainnicolas.fr/en/projects/discord-attestation/</link>
      <pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/discord-attestation/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In the Web3 ecosystem, digital identity remains a major challenge.
How do you prove who you are without compromising your privacy?
How do you link your social identities to your wallet without relying on a central authority?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Discord Attestation&lt;/strong&gt; addresses this need by allowing users to create cryptographic proofs of their Discord identity, permanently stored on the Linea blockchain via the &lt;a href=&#34;https://www.ver.ax/&#34;&gt;Verax&lt;/a&gt; protocol.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_key_features&#34;&gt;Key Features&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The application offers a smooth user experience in three steps:&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Proof of Audit</title>
      <link>https://alainnicolas.fr/en/projects/proof-of-audit/</link>
      <pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/proof-of-audit/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The smart contract audit industry suffers from a trust problem: how do you prove that a contract has actually been audited?
PDF reports can be forged, website badges easily copied, and no standard exists to verify these claims independently.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Proof of Audit&lt;/strong&gt; transforms traditional audits into verifiable cryptographic proofs, permanently stored on the blockchain via the &lt;a href=&#34;https://www.ver.ax/&#34;&gt;Verax&lt;/a&gt; protocol.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_problem_solved&#34;&gt;The Problem Solved&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_current_situation&#34;&gt;Current Situation&lt;/h3&gt;
&lt;div class=&#34;ulist&#34;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Protocols display &amp;#34;Audited by X&amp;#34; with no onchain proof&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PDF reports can be modified or misrepresented&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No standard way to verify an audit occurred&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fake audit firms proliferate&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Information asymmetry hurts investors&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Bunny Universe</title>
      <link>https://alainnicolas.fr/en/projects/bunny-universe/</link>
      <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/bunny-universe/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_bunny_universe_ecosystem_enhancement&#34;&gt;Bunny Universe: Ecosystem enhancement&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Contacted by &lt;a href=&#34;https://x.com/supertramplens&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@Supertramp&lt;/a&gt; in December 2024, I developed several tools to enhance the experience of Bunny Universe members, a popular NFT community on Linea.
These tools improve interaction with the collection and give access to relevant data.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Bunny Universe is a major NFT collection on Linea.
As a developer passionate about the ecosystem, I created several components to improve user experience and make the collection’s data more accessible.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Linea Token API</title>
      <link>https://alainnicolas.fr/en/projects/linea-token-api/</link>
      <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/linea-token-api/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;For the past few months, we’ve been working on a new piece of infrastructure for builders in the Linea ecosystem: the Token API.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The idea is simple: give easy, fast, and reliable access to key information about ERC-20 tokens on Linea.
Prices, metadata, stats, etc.
Everything you need to plug into a dashboard, a dapp, a bot, an explorer, or anything else.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The API is already live in &lt;a href=&#34;https://linea.build/apps&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Linea Hub&lt;/a&gt;, the entry point to explore the Linea ecosystem, and in &lt;a href=&#34;https://portfolio.metamask.io/explore/networks/linea&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MetaMask Portfolio&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Linea Proof-of-Humanity API</title>
      <link>https://alainnicolas.fr/en/projects/linea-poh-api/</link>
      <pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/linea-poh-api/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Sybil attacks represent one of Web3’s major challenges: how do you ensure that an address corresponds to a unique human and not a bot or multiple accounts controlled by the same person?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;strong&gt;Linea Proof-of-Humanity (PoH)&lt;/strong&gt; is an infrastructure for verifying that an Ethereum address belongs to a verified human user while preserving their privacy.
The system relies on the Verax attestation protocol and offers onchain integration via EIP-712 signatures.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>My personal Git flow</title>
      <link>https://alainnicolas.fr/en/blog/personal-git-flow/</link>
      <pubDate>Fri, 02 May 2025 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/personal-git-flow/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Over the years and across many projects, I’ve refined a way of working with Git that makes my life easier.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;It’s probably not perfect.
But it works perfectly for me, and it helps teammates who are less comfortable with Git avoid a lot of headaches.
So I’m sharing it here in case it helps someone else.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_basics&#34;&gt;The basics&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;I always start from the &lt;code&gt;main&lt;/code&gt; branch.
I create a feature branch with a clear name:&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Three-year anniversary at Consensys</title>
      <link>https://alainnicolas.fr/en/blog/three-year-anniversary/</link>
      <pubDate>Sat, 08 Mar 2025 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/three-year-anniversary/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;I joined Consensys three years ago this week.
And what an amazing journey it has been!
Never a dull day in the crypto space, always something new to discover.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;From my very first day, when my manager asked me to integrate Bitcoin into a DeFi project (I only knew Ethereum at the time) to joining the Linea team, I’ve worked on countless products and with so many teams.
But one thing has always remained the same: the passion, the drive, and the incredibly smart people everywhere.
I’m humbled by the people around me, hard workers, performance-driven but also extremely human and approachable.
Colleagues turned into friends, and I’m forever grateful for the memories we create every day.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>eFrogs Attestation</title>
      <link>https://alainnicolas.fr/en/projects/efrogs-attestation/</link>
      <pubDate>Wed, 26 Feb 2025 18:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/efrogs-attestation/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_efrogs_attestation_prove_your_membership_on_linea&#34;&gt;eFrogs Attestation: Prove your Membership on Linea&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Do you own eFrogs on Linea and want to prove your membership in this amazing community?
With eFrogs Attestation, you can now do so using &lt;a href=&#34;https://ver.ax&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Verax&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_context&#34;&gt;Project Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In April 2024, this project was created during a hackathon hosted by &lt;a href=&#34;https://x.com/LineaBuild&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Linea&lt;/a&gt; and &lt;a href=&#34;https://x.com/efrogs_on_linea&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;eFrogs&lt;/a&gt;.
Developed in collaboration with &lt;a href=&#34;https://x.com/oriondoesdesign&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Orion&lt;/a&gt;, it won second place in the competition.
Initially built as a prototype, the project has evolved into a fully functional app deployed on the mainnet.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Fetch &amp; export your transactions</title>
      <link>https://alainnicolas.fr/en/blog/transaction-exporter/</link>
      <pubDate>Wed, 26 Feb 2025 15:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/transaction-exporter/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Tracking your onchain activity can be a hassle, especially if you need a quick export of your transactions for analysis.
So I built &lt;strong&gt;Transaction Exporter&lt;/strong&gt;, a simple Node.js script that fetches transactions from a blockchain explorer and exports them to CSV.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_what_it_does&#34;&gt;What it does&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;ulist&#34;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fetches both normal and internal transactions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Exports the data into an easy-to-use CSV format&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Works with any Etherscan-compatible explorer (Etherscan, Polygonscan, etc.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_how_to_use_it&#34;&gt;How to use it&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;olist arabic&#34;&gt;
&lt;ol class=&#34;arabic&#34;&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo: &lt;a href=&#34;https://github.com/alainncls/transaction-exporter&#34;&gt;transaction-exporter&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install dependencies: &lt;code&gt;npm install&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add your API key and base URL in a &lt;code&gt;.env&lt;/code&gt; file&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run: &lt;code&gt;npm run fetch &amp;lt;address&amp;gt; &amp;lt;handle&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>NFT rarity: a deep dive</title>
      <link>https://alainnicolas.fr/en/blog/nft-rarity/</link>
      <pubDate>Mon, 03 Feb 2025 15:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/nft-rarity/</guid>
      <description>&lt;div class=&#34;quoteblock&#34;&gt;
&lt;blockquote&gt;
&amp;#34;How rare is my NFT?&amp;#34;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;I recently spent some time with the &lt;a href=&#34;https://bunnyuniverse.xyz&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bunny Universe&lt;/a&gt; community, where this question came up a lot.
Each Bunny is unique, but their traits (fur color, accessories, background, etc.) make some rarer than others.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
        &lt;img loading=&#34;eager&#34; fetchpriority=&#34;high&#34; decoding=&#34;async&#34; src=&#34;https://alainnicolas.fr/fr/blog/rarete-nft/bunny-universe.png&#34; style=&#34;max-width: 100%; height: auto;&#34; width=&#34;728&#34; height=&#34;260&#34; alt=&#34;Bunny Universe logo&#34;&gt;&lt;figcaption&gt;
        &lt;small&gt;&lt;/small&gt;
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;div class=&#34;admonitionblock note&#34;&gt;
&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&#34;icon&#34;&gt;
&lt;div class=&#34;title&#34;&gt;ℹ️&lt;/div&gt;
&lt;/td&gt;
&lt;td class=&#34;content&#34;&gt;
I’m not affiliated with Bunny Universe and I’m not a founder of this ecosystem.
However, I’m part of the community and I truly appreciate their work.
Of course, this is not financial advice.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Attest your eFrogs on Linea with Verax</title>
      <link>https://alainnicolas.fr/en/blog/attest-nfts-efrogs-linea-verax/</link>
      <pubDate>Sat, 11 Jan 2025 16:54:16 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/attest-nfts-efrogs-linea-verax/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Do you own &lt;a href=&#34;https://efrogs.eth.limo/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;eFrogs&lt;/a&gt; on &lt;a href=&#34;https://linea.build&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Linea&lt;/a&gt;?
Do you want to prove you’re part of this amazing community?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Now you can, thanks to &lt;a href=&#34;https://ver.ax&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Verax&lt;/a&gt; on &lt;a href=&#34;https://efrogs.alainnicolas.fr&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;efrogs.alainnicolas.fr&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project_origins&#34;&gt;Project origins&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In April 2024, I built this project in collaboration with my friend &lt;a href=&#34;https://x.com/oriondoesdesign&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Orion&lt;/a&gt;.
Together, we won second place in the hackathon organized by &lt;a href=&#34;https://x.com/LineaBuild&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Linea&lt;/a&gt; and &lt;a href=&#34;https://x.com/efrogs_on_linea&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;eFrogs&lt;/a&gt; 🐸.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;At the time, it was just a simple prototype.
But after a few months, it was time to finalise and launch a mainnet version.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Snaps Permissionless Distribution</title>
      <link>https://alainnicolas.fr/en/projects/permissionless-snaps-distribution/</link>
      <pubDate>Tue, 23 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/permissionless-snaps-distribution/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Since the launch of the MetaMask platform allowing the creation and use of &amp;#34;plugins&amp;#34; on the wallet, these &amp;#34;Snaps&amp;#34; must be validated by Consensys.
Indeed, it is necessary to verify that they respect the imposed security rules, but also the good development and marketing practices pushed by the platform.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;This validation being totally centralized and relying only on a company, one can see an opposition to the thesis of decentralization and freedom advocated by the web3 ecosystem.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Verax Attestation Registry</title>
      <link>https://alainnicolas.fr/en/projects/verax-attestation-registry/</link>
      <pubDate>Sat, 20 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/verax-attestation-registry/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The first event of the &amp;#34;Linea Voyage&amp;#34;, a quest where participants had to discover the ecosystem of applications and protocols deployed on Linea, met with major enthusiasm.
Added to this is the possibility of an airdrop on the same network.
Almost automatically, these circumstances led to the appearance of &amp;#34;sybils&amp;#34;, in other words, multiple Ethereum accounts owned by a single person, to maximize their exposure to a potential airdrop.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Lineaster</title>
      <link>https://alainnicolas.fr/en/projects/lineaster/</link>
      <pubDate>Sat, 30 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/lineaster/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;As part of the launch of its ZK-EVM type network, Consensys wanted to organize an event to invite as many users as possible to interact with the network.
Indeed, it was both about making it known, and testing its ability to support a large number of users.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;But to bring a large number of testers, they needed a reason to come.
That’s why, during the &amp;#34;Testnet Voyage&amp;#34;, Consensys chose to rely on applications around DeFi, but also identity with the ENS protocol, or the Lens protocol for the social aspect.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Crypto-lending Platform</title>
      <link>https://alainnicolas.fr/en/projects/crypto-lending/</link>
      <pubDate>Fri, 15 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/crypto-lending/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_client&#34;&gt;The client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;For confidentiality reasons, the name of this client cannot be revealed.
They are a company already well established in the web3 domain, looking to expand their reach.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_project&#34;&gt;The project&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The project involves the creation of a centralized cryptocurrency lending platform, against collateral provided by users.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Therefore, it was necessary to create a user interface that is understandable and clear enough to attract the largest number, but also to provide all the standard features in this type of application.
This interface also comes in an &amp;#34;administrator&amp;#34; version to set the cryptocurrencies available as collateral or to borrow, the current loan offers, etc.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>RoxTheCasbah</title>
      <link>https://alainnicolas.fr/en/projects/roxthecasbah/</link>
      <pubDate>Sat, 06 May 2023 15:00:28 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/roxthecasbah/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Creation of a blog for my partner, &lt;a href=&#34;https://roxthecasbah.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RoxTheCasbah&lt;/a&gt;, to share her passion for knitting and sewing.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_technical_solution&#34;&gt;The technical solution&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_the_first_version&#34;&gt;The first version&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The first version of the site used &lt;a href=&#34;https://ghost.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ghost&lt;/a&gt;, a complete blogging solution competing with &lt;a href=&#34;https://wordpress.com/fr/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;WordPress&lt;/a&gt;.
Based on an open-source and free tool, the blog was hosted on a small AWS machine.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_the_second_version&#34;&gt;The second version&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In January 2021, I chose to switch to a static site generator, &lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt;, in order to be able to host the generated pages for free.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>This Site</title>
      <link>https://alainnicolas.fr/en/projects/this-site/</link>
      <pubDate>Sat, 06 May 2023 15:00:28 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/this-site/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_context&#34;&gt;Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Creation of this &lt;a href=&#34;https://alainnicolas.fr/en/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;site&lt;/a&gt; to introduce myself and share my passions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;My first desire was to showcase my skills in a more controlled way than, for example, on LinkedIn.
Similarly, in order to efficiently centralize the articles I have written on &lt;a href=&#34;https://alainncls.medium.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Medium&lt;/a&gt; or &lt;a href=&#34;https://blog.talanlabs.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Talan Labs&amp;#39; blog&lt;/a&gt;, I needed a blog.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_technical_solution&#34;&gt;Technical Solution&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_the_tool&#34;&gt;The Tool&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;This site is designed using a static site generator, &lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt;, and hosted for free thanks to &amp;#34;GitHub Pages&amp;#34; service.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Manage your double life on Git!</title>
      <link>https://alainnicolas.fr/en/blog/manage-your-double-life-on-git/</link>
      <pubDate>Tue, 02 May 2023 20:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/manage-your-double-life-on-git/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Are you coding for work and personal projects on the same computer?
Then you probably find yourself regularly committing with your personal email address on your professional projects, and vice versa.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;And it’s annoying, isn’t it?
Constantly having to rewrite the history on one side, the other side, with commits that are already finalized on a protected &lt;code&gt;main&lt;/code&gt; branch, etc.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
        &lt;img loading=&#34;eager&#34; fetchpriority=&#34;high&#34; decoding=&#34;async&#34; src=&#34;https://alainnicolas.fr/fr/blog/gerez-double-vie-git/logo_git.png&#34; style=&#34;max-width: 100%; height: auto;&#34; width=&#34;1280&#34; height=&#34;535&#34; alt=&#34;Git Logo&#34;&gt;&lt;figcaption&gt;
        &lt;small&gt;&lt;/small&gt;
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;It’s time to put an end to this!
I propose that you better configure your Git environments.
For that, there are two possible approaches.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Free up space with npkill</title>
      <link>https://alainnicolas.fr/en/blog/free-up-space-with-npkill/</link>
      <pubDate>Mon, 01 May 2023 10:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/free-up-space-with-npkill/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Do you also have dozens of JavaScript/TypeScript projects buried in more or less well-organized folders on your computer?
You know, those personal projects abandoned after the first commit and long-finished professional projects…​&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;And at the same time, you see your hard drive filling up?
Well, &lt;strong&gt;npm&lt;/strong&gt; has the bad habit of downloading half the internet with each installation…​&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Here’s the solution to free up space without hassle and keep your revolutionary application project that barely started.
Four years ago.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Sort your dependencies!</title>
      <link>https://alainnicolas.fr/en/blog/sort-your-dependencies/</link>
      <pubDate>Sat, 29 Apr 2023 08:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/sort-your-dependencies/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Dependency management is a crucial aspect of any project.
In the Node.js world, &lt;strong&gt;npm&lt;/strong&gt; is the standard tool for installing and managing dependencies, but let’s not forget its counterparts &lt;strong&gt;yarn&lt;/strong&gt; and &lt;strong&gt;pnpm&lt;/strong&gt;.
The &lt;code&gt;package.json&lt;/code&gt; file lists all the dependencies and their versions.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;When working on a team project, it’s important to maintain the &lt;code&gt;package.json&lt;/code&gt; file consistently.
And that’s where the &lt;strong&gt;sort-package-json&lt;/strong&gt; package comes in.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_sort_package_json&#34;&gt;sort-package-json&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;It allows you to sort the &lt;code&gt;package.json&lt;/code&gt; file alphabetically based on package names.
This ensures consistency in the order of dependencies, making the file more readable and maintainable.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blog It Yourself - Take it to the next level</title>
      <link>https://alainnicolas.fr/en/blog/blog-it-yourself-take-it-to-the-next-level/</link>
      <pubDate>Fri, 28 Apr 2023 08:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blog-it-yourself-take-it-to-the-next-level/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Now that your blog is online and you’re motivated to write articles, it’s time to take it to the next level.
Regardless of what anyone says, having readers and receiving feedback (preferably positive) boosts your ego and encourages you to do more and improve.
But don’t forget, your blog is primarily YOUR blog.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_consider_a_post_as_a_reminder&#34;&gt;Consider a Post as a Reminder&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;I believe it’s an excellent way to take ownership of your blog while increasing the publishing frequency: every time you learn something, you should write a post about it.
Your blog then becomes an extension of your brain, capturing everything you can never seem to remember.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blog It Yourself - My experience</title>
      <link>https://alainnicolas.fr/en/blog/blog-it-yourself-my-experience/</link>
      <pubDate>Mon, 21 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blog-it-yourself-my-experience/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;As we discussed in the &lt;a href=&#34;https://alainnicolas.fr/en/blog/blog-it-yourself-what-holds-us-back/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;previous article&lt;/a&gt;, there are many obstacles that prevent us from writing articles.
Here, I share my experience on how to overcome them.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Let’s explore how to overcome the dreaded writer’s block for developers!
And let’s tackle the impostor syndrome that often immobilizes us.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;To be completely transparent, I frequently face these obstacles myself.
First and foremost within myself, but also among the people I’ve had the pleasure of working with for years.
Here are some tips that I try to follow and share.
Keep in mind that what works for me may not work for everyone…​&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blog It Yourself - What holds us back</title>
      <link>https://alainnicolas.fr/en/blog/blog-it-yourself-what-holds-us-back/</link>
      <pubDate>Fri, 11 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blog-it-yourself-what-holds-us-back/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;You have a beautiful blog, perhaps thanks to the &lt;a href=&#34;https://alainnicolas.fr/en/blog/blog-it-yourself-hugo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;previous article&lt;/a&gt;, but you struggle to write articles for it?
It’s normal…​ There are numerous and real obstacles.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;There are many &amp;#34;excuses&amp;#34; for not getting started, and most of the time, we believe in them wholeheartedly!
Let me share the three main reasons I’ve heard for not writing articles.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_i_dont_have_the_expertise_to_write_articles&#34;&gt;I don’t have the expertise to write articles&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Clearly the main reason that prevents all of us from getting started.
The infamous &amp;#34;Imposter Syndrome&amp;#34;…​&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blog It Yourself - Hugo</title>
      <link>https://alainnicolas.fr/en/blog/blog-it-yourself-hugo/</link>
      <pubDate>Tue, 01 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blog-it-yourself-hugo/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;I was discussing the choice and use of Ghost as a blogging tool.
After 18 months of use, for the reasons mentioned at the end of the [previous article](link:/en/blog/blog-it-yourself-ghost), I decided to change platforms.
And also because after the free 12 months of the AWS instance, it was necessary to pay, even if it remains small amounts.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_static_site_generator&#34;&gt;Static Site Generator?&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;First and foremost, it is important to understand that this is not just a technical solution change, but a change in mindset.
WordPress or Ghost are software that expose a website along with writing and administration tools.
In contrast, Hugo is just a site generator.
It takes a theme and a list of content and generates HTML pages …​ that’s it!&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Rewrite your Git history (and fast)</title>
      <link>https://alainnicolas.fr/en/blog/rewrite-your-git-history-and-fast/</link>
      <pubDate>Thu, 24 Feb 2022 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/rewrite-your-git-history-and-fast/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In cleaning up my repositories on GitHub, I came across old projects, some of which are ancient.
Let’s not dwell on the shame one can feel when looking at code written almost 10 years ago; it’s inevitably very ugly…​&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;But one thing caught my attention: many commits are not associated with my username or do not display my profile picture.
Strange, since the most recent ones seem to correspond to my username and show my picture.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blog It Yourself - Ghost</title>
      <link>https://alainnicolas.fr/en/blog/blog-it-yourself-ghost/</link>
      <pubDate>Mon, 17 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blog-it-yourself-ghost/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;I mentioned it in my &lt;a href=&#34;https://alainnicolas.fr/en/blog/blog-it-yourself-the-choice&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;article&lt;/a&gt; about choosing a blog platform, the first choice for creating the blog &lt;a href=&#34;https://roxthecasbah.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RoxTheCasbah&lt;/a&gt; was Ghost.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;So here’s an experience report on the installation, configuration, and usage of Ghost, which presents itself as an alternative to WordPress, simpler, lighter, and more modern.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_hosting&#34;&gt;Hosting&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Let’s leave aside the paid version of Ghost that offers hosting by the company, and thus minimal configuration for the user.
Let’s focus on the free and open-source version of the tool, to be self-hosted.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blog It Yourself</title>
      <link>https://alainnicolas.fr/en/series/blog-it-yourself/</link>
      <pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/series/blog-it-yourself/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In my opinion, all developers should have a blog!
But how do you get started?
Let’s explore the tools and techniques of writing.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blog It Yourself - The choice</title>
      <link>https://alainnicolas.fr/en/blog/blog-it-yourself-the-choice/</link>
      <pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blog-it-yourself-the-choice/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;When my partner came up with the idea of creating &lt;a href=&#34;https://roxthecasbah.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;a blog&lt;/a&gt; to share her passions, the question of technical choice quickly arose.
Among developers (or &amp;#34;geeks,&amp;#34; as some would say), we couldn’t avoid the debate…​&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Yes, for years and for a good while longer, anyone looking to create a website quickly is likely to turn to &lt;a href=&#34;https://wordpress.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;WordPress&lt;/a&gt;.
Simply because the platform has proven itself over a long period and is by far the most widely used.
More than 40% of currently active websites are based on WordPress (source : &lt;a href=&#34;https://kinsta.com/fr/part-de-marche-de-wordpress/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Kinsta&lt;/a&gt;).
That’s simply enormous…​&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Goodbye Google (Analytics)!</title>
      <link>https://alainnicolas.fr/en/blog/goodbye-google-analytics/</link>
      <pubDate>Mon, 03 Jan 2022 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/goodbye-google-analytics/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Let’s start with a little quote:&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;quoteblock&#34;&gt;
&lt;blockquote&gt;
&amp;#34;New year, new me&amp;#34;
&lt;/blockquote&gt;
&lt;div class=&#34;attribution&#34;&gt;
— Too many people,too often
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_good_resolution&#34;&gt;The Good Resolution&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Let’s avoid resolutions that we won’t keep.
Nevertheless, let’s try to improve ourselves regularly…​&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;To start the year 2022, I have decided to do without Google Analytics to track visits to my site.
Firstly, because avoiding Google is always a good idea, and secondly, because it is possible to achieve almost the same results without tracking our visitors.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Atelier 58</title>
      <link>https://alainnicolas.fr/en/projects/atelier-58/</link>
      <pubDate>Sat, 18 Dec 2021 15:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/atelier-58/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Creation of the showcase site for the hair salon &amp;#34;Atelier 58&amp;#34; in Paris.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_technical_solution&#34;&gt;The technical solution&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_tools&#34;&gt;Tools&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;This site is designed using a static site generator, &lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Integration of the &lt;a href=&#34;https://www.planity.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Planity&lt;/a&gt; service for making appointments.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Implementation of navigation statistics tracking via &lt;a href=&#34;https://getinsights.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Insights&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_theme&#34;&gt;Theme&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In order to save time, but also to best meet the needs of such a business, I started from the theme &amp;#34;&lt;a href=&#34;https://github.com/zerostaticthemes/hugo-hero-theme&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo Hero Theme&lt;/a&gt;&amp;#34;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_hosting&#34;&gt;Hosting&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;This site is hosted via &lt;a href=&#34;https://netlify.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Make documentation great again (Bonus)</title>
      <link>https://alainnicolas.fr/en/blog/make-documentation-great-again-bonus/</link>
      <pubDate>Mon, 15 Nov 2021 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/make-documentation-great-again-bonus/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;After the &lt;a href=&#34;../make-documentation-great-again-part-2/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;general presentation of Spring REST Docs&lt;/a&gt;, I propose to go further by exploring small improvements that will make all the difference!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;We will continue to base ourselves on my demonstration project available on GitHub: &lt;a href=&#34;https://github.com/alainncls/demo-spring-rest-docs&#34;&gt;demo-spring-rest-docs&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_expose_the_documentation_automagically&#34;&gt;Expose the documentation &amp;#34;automagically&amp;#34;&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;As we have seen, we are now able to generate an HTML page containing the documentation of our API.
But that’s not the best way to make it available to API consumers, we can do better than that!&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>BNP CIB - Blockchain-as-a-Service</title>
      <link>https://alainnicolas.fr/en/projects/bnp-blockchain/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/bnp-blockchain/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_client&#34;&gt;The Client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;As a major player in the banking sector, BNP Paribas must stay at the forefront of available technologies.
This is how blockchain and DLT technologies have become essential.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Like many large companies, BNP is divided into several entities that can all participate in the same project, which is not without raising challenges around collaboration.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_project&#34;&gt;The Project&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;To allow all BNP entities to experiment on the blockchain before easily joining a decentralized consortium, it was necessary to make accessible technologies that we can qualify as exotic.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Coface</title>
      <link>https://alainnicolas.fr/en/projects/coface/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/coface/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_client&#34;&gt;The client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Coface is a major player in credit insurance.
In order to remain competitive and gain new market share, the company needs to regularly offer new software products and solutions to its customers.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_project&#34;&gt;The project&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Optimization and evolution of a web application (Cofanet Policy Master &amp;amp; Cofanet Policy Master Administration) for paying customers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;To achieve this, a technical refactoring of the project architecture and a redesign of the major features of the application were needed.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>e-Paye</title>
      <link>https://alainnicolas.fr/en/projects/epaye/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/epaye/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_client&#34;&gt;The client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;e-Paye develops software dedicated to HRIS: payroll, digital safe, HR management, interview management, etc.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_project&#34;&gt;The project&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Among the e-Paye modules, the one allowing the generation of payslips is particularly important and complex.
Indeed, it must take into account sometimes changing legislation, but also be able to generate a large number of payslips in a short amount of time.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_technical_stack&#34;&gt;Technical stack&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_client_side&#34;&gt;Client-side&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;JavaScript, HTML5, CSS3, jQuery, Ajax&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_server_side&#34;&gt;Server-side&lt;/h3&gt;
&lt;div class=&#34;ulist&#34;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Spring (Core, MVC, Security, Data)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java 8&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>EDF Commerce - Craftsmanship Evangelization</title>
      <link>https://alainnicolas.fr/en/projects/edf/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/edf/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_client&#34;&gt;The client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;EDF Commerce’s Digital Department has a dedicated team for PoC realization for the group’s various businesses.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_mission&#34;&gt;The mission&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The mission is to evangelize on the concepts of craftsmanship and industrialize the best practices to be implemented.
This is how I was able to initiate the implementation of the first CI/CD pipelines via GitLab and Jenkins, but also push the use of SonarQube for code quality monitoring and Nexus for depositing generated artifacts.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>FuturMaster - Calibrate Model</title>
      <link>https://alainnicolas.fr/en/projects/futurmaster-calibrate-model/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/futurmaster-calibrate-model/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_client&#34;&gt;The Client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;FuturMaster, a software editor specializing in supply chain management, called on Talan Labs to reinforce its development teams and speed up the redesign of its tool suite.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_project&#34;&gt;The Project&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;That’s how I became part of the first agile squad, made up of 3 developers, 1 designer and 1 Scrum Master.
We were tasked with the redesign of the &lt;em&gt;Calibrate Model&lt;/em&gt; module, which aims to display the sales history of a product and simulate its future sales.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>FuturMaster - Master Data</title>
      <link>https://alainnicolas.fr/en/projects/futurmaster-master-data/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/futurmaster-master-data/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_client&#34;&gt;Client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;FuturMaster, a software editor specializing in supply chain management, called upon Talan Labs to strengthen its development teams and accelerate the revamp of its suite of tools.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_project&#34;&gt;Project&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Following the success of the first Talan Labs squad’s intervention at FuturMaster on the &lt;a href=&#34;https://alainnicolas.fr/en/projects/futurmaster-calibrate-model/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Calibrate Model&lt;/a&gt; project, we embarked on the revamp of the &lt;em&gt;Master Data&lt;/em&gt; module, which centralizes the data repository that feeds the other software suite modules.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;In parallel with the development of functional &lt;em&gt;user stories&lt;/em&gt;, there are many technical topics to consider, such as a reflection on the future database best suited to the specifics of the objects to be manipulated.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Gefco - Opteam</title>
      <link>https://alainnicolas.fr/en/projects/gefco/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/gefco/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_client&#34;&gt;The client&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Gefco is a major player in logistics and in particular in the transportation of automotive parts.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_project&#34;&gt;The project&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Development of a scheduling system under constraints.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_technical_stack&#34;&gt;Technical stack&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_desktop_application&#34;&gt;Desktop application&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Java Swing&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_database&#34;&gt;Database&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;OracleDB&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Share2gether</title>
      <link>https://alainnicolas.fr/en/projects/share2gether/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/share2gether/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_context&#34;&gt;Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Share2Gether aims to create an event organization solution, similar to what &lt;a href=&#34;https://www.meetup.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Meetup.com&lt;/a&gt; offers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;I had the opportunity to share more details about this experience in a &lt;a href=&#34;https://alainnicolas.fr/en/blog/blockchain-from-a-school-project-to-the-business-world/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;dedicated article&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_technical_stack&#34;&gt;Technical Stack&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_client_side&#34;&gt;Client Side&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The front-end is a Vue.js application that communicates with smart contracts deployed on the blockchain using the web3.js library.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_blockchain_side&#34;&gt;Blockchain Side&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Smart contracts written in Solidity are deployed on an Ethereum blockchain.
Standard contracts provided by OpenZeppelin are used.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Talan Coin</title>
      <link>https://alainnicolas.fr/en/projects/talan-talancoin/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/talan-talancoin/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Like all companies, Talan seeks to catalyze collaboration within itself.
In addition, Talan wishes to strengthen its unity as a group despite distinct entities and a presence on 4 continents, and develop a horizontal organization far from classic vertical hierarchies.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;An internal currency, common to all employees regardless of their location or hierarchical role, makes it possible to find a common point among all the actors in the company.
It is also a way to allow everyone to better exchange, including between distinct teams, thus affirming a horizontal hierarchy.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Talan Labs Blog</title>
      <link>https://alainnicolas.fr/en/projects/talan-blog-labs/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/talan-blog-labs/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_context&#34;&gt;Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Maintenance of the &lt;a href=&#34;https://blog.talanlabs.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Talan Labs blog&lt;/a&gt;, writing articles, before a complete overhaul in 2019/2020.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The Talan Labs blog allows for sharing the knowledge of &lt;a href=&#34;https://talan.com/metiers/labs/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Talan Labs&lt;/a&gt; employees.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
        &lt;img loading=&#34;eager&#34; fetchpriority=&#34;high&#34; decoding=&#34;async&#34; src=&#34;https://alainnicolas.fr/fr/projects/talan-blog-labs/blog_banner.png&#34; style=&#34;max-width: 100%; height: auto;&#34; width=&#34;1200&#34; height=&#34;608&#34; alt=&#34;Preview of Talan Labs blog&#34;&gt;&lt;figcaption&gt;
        &lt;small&gt;&lt;/small&gt;
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_technical_solution&#34;&gt;Technical Solution&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_legacy_version&#34;&gt;Legacy version&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The first version of the site used &lt;a href=&#34;https://wordpress.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;WordPress&lt;/a&gt;, a well-known solution.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_overhaul&#34;&gt;Overhaul&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Given the difficulty of keeping such a site up to date while ensuring its security, we chose to radically change the technology to significantly reduce the attack surface.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>VINCI Construction Terrassement - VCoin</title>
      <link>https://alainnicolas.fr/en/projects/vct-vcoin/</link>
      <pubDate>Sun, 14 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/projects/vct-vcoin/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_context&#34;&gt;The Context&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;After the success of &lt;a href=&#34;https://alainnicolas.fr/en/projects/talan-talancoin/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Talan Coin&lt;/a&gt;, the VINCI group wanted to experiment with its own version of the application.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;This is how we instantiated the VCoin application, with some specific features setting it apart from Talan Coin.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_technical_stack&#34;&gt;The Technical Stack&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_client_side&#34;&gt;Client Side&lt;/h3&gt;
&lt;div class=&#34;ulist&#34;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Native iOS application&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Native Android application&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Angular web applications:&lt;/p&gt;
&lt;div class=&#34;ulist&#34;&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dashboard for statistical tracking and administration&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Store for objects and services payable in Talan Coins&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Desktop client (not in production)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Make documentation great again (2/2)</title>
      <link>https://alainnicolas.fr/en/blog/make-documentation-great-again-part-2/</link>
      <pubDate>Mon, 08 Nov 2021 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/make-documentation-great-again-part-2/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;We have previously seen a &lt;a href=&#34;../make-documentation-great-again-part-1/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;presentation of the AsciiDoc language&lt;/a&gt; and the benefits of &amp;#34;Documentation as Code&amp;#34;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;However, it is possible to make the documentation writing process even easier!
It is customary to document the API that we develop to facilitate its maintenance and interactions with its consumers.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Even though one of the 4 values of agility promotes &amp;#34;working software over comprehensive documentation,&amp;#34; we will see that we can provide both at the same time with a particularly useful tool.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>(Easily) Make your website GDPR compliant!</title>
      <link>https://alainnicolas.fr/en/blog/easily-make-your-website-gdpr-compliant/</link>
      <pubDate>Fri, 15 Oct 2021 13:02:05 +0100</pubDate>
      <guid>https://alainnicolas.fr/en/blog/easily-make-your-website-gdpr-compliant/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Do you also love the consent banners that are now found on (almost) every website and dream of having one on your own?
It’s normal, it looks so much more professional…​ And it’s also about respecting the rules!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_gdpr_the_real_cookie_monster&#34;&gt;GDPR, the real Cookie Monster&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;sect2&#34;&gt;
&lt;h3 id=&#34;_what_is_a_cookie&#34;&gt;What is a cookie?&lt;/h3&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;It is a small, fairly simple file that is placed in our browser when we visit certain websites.
It is used, among other things, to identify us during our next visit.&lt;br/&gt;
This can sometimes be quite useful: the website can anticipate our display preferences, for example.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Make documentation great again</title>
      <link>https://alainnicolas.fr/en/series/make-documentation-great-again/</link>
      <pubDate>Fri, 01 Oct 2021 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/series/make-documentation-great-again/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Who likes writing documentation for their product or API?
Who is tired of finding outdated documentation when arriving on a project?
Are you a developer and feel concerned?
It’s time to switch to &amp;#34;Documentation as Code&amp;#34;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;It is customary to document the API we develop, to facilitate its maintenance and interactions with its &amp;#34;consumers&amp;#34;.
Even if one of the 4 values of agility promotes &amp;#34;working software over comprehensive documentation&amp;#34;, we will see that we can propose both at the same time thanks to a particularly practical tool.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Make documentation great again (1/2)</title>
      <link>https://alainnicolas.fr/en/blog/make-documentation-great-again-part-1/</link>
      <pubDate>Fri, 01 Oct 2021 00:00:00 +0200</pubDate>
      <guid>https://alainnicolas.fr/en/blog/make-documentation-great-again-part-1/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Who enjoys writing documentation for their product or API?
Who is tired of finding outdated documentation when joining a project?&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Are you a developer who can relate?
It’s time to switch to &amp;#34;Documentation as Code&amp;#34;!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_the_documentation_everyone_knows&#34;&gt;The documentation everyone knows&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The most basic example of &amp;#34;Documentation as Code&amp;#34; is the traditional &lt;code&gt;README.md&lt;/code&gt; file at the root of every project.
Ideally, this file contains the minimal documentation for the project, installation instructions, and perhaps a description of the main features.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blockchain: From a school project to the business world</title>
      <link>https://alainnicolas.fr/en/blog/blockchain-from-a-school-project-to-the-business-world/</link>
      <pubDate>Wed, 04 Mar 2020 07:18:05 +0100</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blockchain-from-a-school-project-to-the-business-world/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;As I have already mentioned in a [previous post](link:/en/blog/blockchain-training-engineers-of-tomorrow/), the partnership between Talan and EPF made me discover the role of a trainer.
But we went further by proposing a long-term project to a group of 5th-year students.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;sect1&#34;&gt;
&lt;h2 id=&#34;_shared_expectations&#34;&gt;Shared expectations&lt;/h2&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Before diving into professional life through the end-of-studies internship, students must confront the business world through a 5-month project.
Between the school project and the real project, it is an opportunity to put into practice the acquired knowledge and discover the &amp;#34;real&amp;#34; work methods of a company.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blockchain Training at EPF</title>
      <link>https://alainnicolas.fr/en/series/formation-blockchain-epf/</link>
      <pubDate>Sat, 18 Jan 2020 17:52:05 +0100</pubDate>
      <guid>https://alainnicolas.fr/en/series/formation-blockchain-epf/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;For several years now, I have had the opportunity to teach students at EPF.
Switching to the other side of teaching is not an easy task, especially without experience…​ The partnership with EPF has made me discover the role of trainer.
We went further by mentoring a group of students on a project for a whole semester.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Feedback on some extraordinary days!&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Blockchain: Training the Engineers of Tomorrow</title>
      <link>https://alainnicolas.fr/en/blog/blockchain-training-engineers-of-tomorrow/</link>
      <pubDate>Sat, 18 Jan 2020 17:52:05 +0100</pubDate>
      <guid>https://alainnicolas.fr/en/blog/blockchain-training-engineers-of-tomorrow/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;For the past two years, I have had the opportunity and pleasure to work with students from EPF, a general engineering school where I graduated in 2015. Transitioning to the teaching side of things is no easy task, especially without prior experience, but returning to &amp;#34;my&amp;#34; school has greatly facilitated this change in perspective.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
        &lt;img loading=&#34;eager&#34; fetchpriority=&#34;high&#34; decoding=&#34;async&#34; src=&#34;https://alainnicolas.fr/fr/blog/blockchain-former-les-ingenieurs-de-demain/bc_epf_logo.png&#34; style=&#34;max-width: 100%; height: auto;&#34; width=&#34;1600&#34; height=&#34;632&#34; alt=&#34;EPF Logo&#34;&gt;&lt;figcaption&gt;
        &lt;small&gt;&lt;/small&gt;
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;An engineering school has the heavy responsibility of keeping its curriculum up to date to prepare students as effectively as possible for their entry into the workforce.
That is why Talan has developed a partnership with EPF for a series of training programs on the theme of Blockchain for their 4th and 5th year students in the computer science field.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Corda</title>
      <link>https://alainnicolas.fr/en/series/corda/</link>
      <pubDate>Mon, 11 Mar 2019 09:00:23 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/series/corda/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Discovery of Corda, the DLT developed by consortium R3 that claims to be a blockchain.
Right or wrong?&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Meetups at Talan</title>
      <link>https://alainnicolas.fr/en/series/meetups-talan/</link>
      <pubDate>Tue, 24 Oct 2017 09:00:23 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/series/meetups-talan/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;The reports of the meetups hosted by Talan that I had the pleasure of welcoming.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>What is Talan Coin?</title>
      <link>https://alainnicolas.fr/en/blog/what-is-talancoin/</link>
      <pubDate>Tue, 17 Oct 2017 15:39:11 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/blog/what-is-talancoin/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;em&gt;First presented on October 4 at the 1st Parliamentary Forum of the Blockchain, the virtual currency of the Talan group is about to enter the production phase.
An opportunity to present in detail the ins and outs of a project, and an initiative unlike any other: &lt;a href=&#34;https://talancoin.com&#34;&gt;Talan Coin&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;&lt;img loading=&#34;eager&#34; fetchpriority=&#34;high&#34; decoding=&#34;async&#34; style=&#34;max-width: 100%; height: auto;&#34;
            sizes=&#34;(min-width: 35em) 720px, 100vw&#34;
            srcset=&#34;https://alainnicolas.fr/fr/blog/quest-ce-que-talancoin/talancoin_banner_hu_604603b061b77607.webp 500w, https://alainnicolas.fr/fr/blog/quest-ce-que-talancoin/talancoin_banner_hu_411fa5cdfcec19b8.webp 800w&#34;
            src=&#34;https://alainnicolas.fr/fr/blog/quest-ce-que-talancoin/talancoin_banner.jpg&#34;
            width=&#34;1024&#34;
            height=&#34;500&#34;
            alt=&#34;Talan Coin Banner&#34;&gt;&lt;figcaption&gt;
        &lt;small&gt;Talan Coin Banner&lt;/small&gt;
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Blockchain, everyone talks about it, from mainstream media to the most innovative startups.
And yet, few are the ideas that go as far as the production phase.
That’s why Talan wanted to stand out and offer its employees a real application of this booming technology.
This is how the idea of an internal currency was born from the desire to unite the staff of an international group around a common sharing model.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>Java EE: new direction</title>
      <link>https://alainnicolas.fr/en/series/java-ee-new-direction/</link>
      <pubDate>Wed, 16 Nov 2016 09:00:23 +0000</pubDate>
      <guid>https://alainnicolas.fr/en/series/java-ee-new-direction/</guid>
      <description>&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;Perhaps for you the summer 2016 series was &lt;a href=&#34;https://www.netflix.com/fr/title/80057281&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Stranger Things&lt;/a&gt;, but in the vast world of Java, a completely different series with multiple twists and turns has attracted all attention.
Acquisition, rebellion, and polls, dive into the revolution of Java EE!&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
