41554 blogs · [ { "id": "01a0b655-00f8-71be-8b56-f83a0b3c8e5a", "title": "Quel CDN d'images choisir en 2024 ?", "url": "https://marmelab.com/blog/2024/09/19/cdn-image-comparatif.html", "published_at": "2024-09-19T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a0b2e8ce8", "title": "GreenFrame Update: Easier Scenarios, Env Vars, and Improved Security", "url": "https://marmelab.com/blog/2024/09/12/green-frame-updates.html", "published_at": "2024-09-12T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a0ab2c4d0", "title": "Introducing Atomic CRM: the Open-Source Toolkit for Personalized Solutions", "url": "https://marmelab.com/blog/2024/09/06/open-source-crm-atomic-crm.html", "published_at": "2024-09-06T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a09fe0d86", "title": "Adding Voice Recognition To A Web App", "url": "https://marmelab.com/blog/2024/08/29/speech-to-text.html", "published_at": "2024-08-29T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a09749e49", "title": "DotJs 2025: Rediscovering JavaScript's Future", "url": "https://marmelab.com/blog/2024/08/22/dotjs-2024.html", "published_at": "2024-08-22T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a08a7920d", "title": "5 Serious Games To Better Know Each Other", "url": "https://marmelab.com/blog/2024/07/26/play14-2024-part2.html", "published_at": "2024-07-26T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a07fb4575", "title": "4 Serious Games To Improve Collaboration", "url": "https://marmelab.com/blog/2024/07/25/play14-2024-part1.html", "published_at": "2024-07-25T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a07acdb3c", "title": "Optimizing AI for Qwant: From Prototype to Production", "url": "https://marmelab.com/blog/2024/07/08/qwant-ai-gen.html", "published_at": "2024-07-08T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a0780b1c6", "title": "Building An AI Assistant at the Edge", "url": "https://marmelab.com/blog/2024/07/05/ai-assistant-edge-cloudflare-workers-ai.html", "published_at": "2024-07-05T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a077beb10", "title": "Comment j'ai remplacé mon patron par une IA", "url": "https://marmelab.com/blog/2024/06/27/virtual-francois-ai.html", "published_at": "2024-06-27T00:00:00+00:00" }, { "id": "01a0b655-00f8-71be-8b56-f83a06cde9f5", "title": "Introducing React-Admin V5", "url": "https://marmelab.com/blog/2024/06/20/react-admin-v5.html", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ffba09c9", "title": "Bpifrance et GreenFrame : Retour d’expérience", "url": "https://marmelab.com/blog/2024/06/19/bpi-greenframe.html", "published_at": "2024-06-19T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ff8d6e02", "title": "MiXiT 2024 : La conférence Tech, Crêpes, et Éthique", "url": "https://marmelab.com/blog/2024/06/12/mixit-2024.html", "published_at": "2024-06-12T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fefbe28e", "title": "Using AI To Autofill Forms With Wikipedia", "url": "https://marmelab.com/blog/2024/06/05/ai-form-autocompletion-with-openai-and-wikipedia.html", "published_at": "2024-06-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fec9bd0e", "title": "GSAP In Practice: Avoid The Pitfalls", "url": "https://marmelab.com/blog/2024/05/30/gsap-in-practice-avoid-the-pitfalls.html", "published_at": "2024-05-30T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fe09329c", "title": "Using React-Admin With React Native", "url": "https://marmelab.com/blog/2024/05/22/using-react-admin-with-react-native.html", "published_at": "2024-05-22T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fdf92817", "title": "A State Management Tour: Atomic State With Jotai", "url": "https://marmelab.com/blog/2024/05/16/atomic-state-with-jotai.html", "published_at": "2024-05-16T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fd2a4370", "title": "React Paris 2024", "url": "https://marmelab.com/blog/2024/05/07/react-paris-2024.html", "published_at": "2024-05-07T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fcfc2204", "title": "Comment organiser visuellement les gros formulaires ?", "url": "https://marmelab.com/blog/2024/05/03/ux-formulaires.html", "published_at": "2024-05-03T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fd1ec616", "title": "We don't talk about Bruno (The API Client)", "url": "https://marmelab.com/blog/2024/05/03/we-dont-talk-about-bruno.html", "published_at": "2024-05-03T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fc1d0d0b", "title": "Highlight Search Terms In Page Content", "url": "https://marmelab.com/blog/2024/04/23/highlight-search-query.html", "published_at": "2024-04-23T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fbfee600", "title": "LIT: A Lightweight Library For Building Web Components", "url": "https://marmelab.com/blog/2024/04/18/web-component-with-lit.html", "published_at": "2024-04-18T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fb1d3258", "title": "Trigger Animations On Scroll With GSAP", "url": "https://marmelab.com/blog/2024/04/11/trigger-animations-on-scroll-with-gsap-scrolltrigger.html", "published_at": "2024-04-11T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364fa962f73", "title": "Synchronize Backend and Frontend Types With tRPC", "url": "https://marmelab.com/blog/2024/04/04/trpc-full-stack-types.html", "published_at": "2024-04-04T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f9c0e6ac", "title": "SnowCamp 2024 : Les talks à ne pas manquer", "url": "https://marmelab.com/blog/2024/03/29/snowcamp-2024.html", "published_at": "2024-03-29T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f94d46f4", "title": "GSAP Basics: Dive into Web Animations", "url": "https://marmelab.com/blog/2024/03/27/gsap-basics-js-animation.html", "published_at": "2024-03-27T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f8bdb98a", "title": "Cut Through The Noise: AI-Curated News Digests", "url": "https://marmelab.com/blog/2024/03/21/ai-curator.html", "published_at": "2024-03-21T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f864ea2b", "title": "OpenTelemetry in Practice: Instrumenting JavaScript Apps for Tracing", "url": "https://marmelab.com/blog/2024/03/14/opentelemetry-in-practice-instrumenting-javascript-apps-for-tracing.html", "published_at": "2024-03-14T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f76c5c6b", "title": "React Admin March 2024 Update", "url": "https://marmelab.com/blog/2024/03/05/react-admin-march-2024-update.html", "published_at": "2024-03-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f6ee494b", "title": "Automate Your Workflow With Git Hooks", "url": "https://marmelab.com/blog/2024/02/27/git-hooks.html", "published_at": "2024-02-27T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f65ee83c", "title": "Build Type-Safe SQL Queries With Kysely", "url": "https://marmelab.com/blog/2024/02/14/type-safe-sql-wheries-with-kysely.html", "published_at": "2024-02-14T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f61ec73d", "title": "Write JavaScript Shell Scripts With Bun", "url": "https://marmelab.com/blog/2024/02/05/bun-shell.html", "published_at": "2024-02-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f599fb9a", "title": "Demystifying Monitoring: From Basics to OpenTelemetry", "url": "https://marmelab.com/blog/2024/01/31/demystifying-monitoring-from-basics-to-opentelemetry.html", "published_at": "2024-01-31T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f5899c25", "title": "New client-side hooks coming to React 19", "url": "https://marmelab.com/blog/2024/01/23/react-19-new-hooks.html", "published_at": "2024-01-23T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f5166815", "title": "Continuous Migration: Keeping Users Uninterrupted", "url": "https://marmelab.com/blog/2024/01/18/continous-migration.html", "published_at": "2024-01-18T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f4935c12", "title": "Documentation: The Key Enabler For Open-Source Success", "url": "https://marmelab.com/blog/2024/01/10/open-source-documentation.html", "published_at": "2024-01-10T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f3c6c238", "title": "Crystal clear reviews using Conventional Comments", "url": "https://marmelab.com/blog/2024/01/05/crystal-clear-reviews-with-conventional-comments.html", "published_at": "2024-01-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f347dd48", "title": "The View Transition API: A New Way to Animate Page Transitions", "url": "https://marmelab.com/blog/2023/12/21/view-transitions.html", "published_at": "2023-12-21T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f291ffe8", "title": "Optical Character Recognition on Handwritten Documents", "url": "https://marmelab.com/blog/2023/12/11/how-we-tackled-ocr-on-handwritten-historical-documents.html", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f2639c50", "title": "Selling Open-Source Products Requires Sales & Marketing Skills", "url": "https://marmelab.com/blog/2023/12/08/open-source-profit-4.html", "published_at": "2023-12-08T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f16c96aa", "title": "Using React-Admin With Your Favorite UI Library", "url": "https://marmelab.com/blog/2023/11/28/using-react-admin-with-your-favorite-ui-library.html", "published_at": "2023-11-28T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f1474a54", "title": "From Open-Source Project to Marketable Product", "url": "https://marmelab.com/blog/2023/11/22/open-source-profit-3.html", "published_at": "2023-11-22T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f10a4691", "title": "Displaying Test Screenshots in GitHub Actions", "url": "https://marmelab.com/blog/2023/11/20/screenshot-ci.html", "published_at": "2023-11-20T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364f0272585", "title": "Anatomy Of A Profitable Open-Source Project", "url": "https://marmelab.com/blog/2023/11/13/open-source-profit-2.html", "published_at": "2023-11-13T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364efda5c2d", "title": "Turning Open-Source Into Profit: Our Journey", "url": "https://marmelab.com/blog/2023/11/08/open-source-profit-1.html", "published_at": "2023-11-08T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364efa6bf30", "title": "Milestones: The Secret Trick To Better Dependency Management", "url": "https://marmelab.com/blog/2023/10/26/milestones.html", "published_at": "2023-10-26T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364eeb29074", "title": "Can You Fall In Love With An AI?", "url": "https://marmelab.com/blog/2023/10/19/can-you-fall-in-love-with-an-ai.html", "published_at": "2023-10-19T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ee817d42", "title": "React Admin v4 Advanced Recipes: Creating a Record Related to the Current One", "url": "https://marmelab.com/blog/2023/10/12/react-admin-v4-advanced-recipes-creating-a-record-related-to-the-current-one.html", "published_at": "2023-10-12T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ee34dd01", "title": "React Admin October 2023 Update", "url": "https://marmelab.com/blog/2023/10/02/react-admin-october-2023-update.html", "published_at": "2023-10-02T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364edab4b06", "title": "Interview : LODEX, un outil open-source au service de la recherche", "url": "https://marmelab.com/blog/2023/09/20/retour-experience-lodex.html", "published_at": "2023-09-20T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ed734a06", "title": "React-Admin Authentication Using Active Directory", "url": "https://marmelab.com/blog/2023/09/13/active-directory-integration-tutorial.html", "published_at": "2023-09-13T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ed0f0325", "title": "The current state of WASI in containers space", "url": "https://marmelab.com/blog/2023/09/06/the-current-state-of-wasi-in-containers-space.html", "published_at": "2023-09-06T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ed06bb09", "title": "Building AI-Augmented Apps With React-Admin", "url": "https://marmelab.com/blog/2023/08/09/ai-augmented_react-apps.html", "published_at": "2023-08-09T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ec2a2202", "title": "How Marmelab Transformed Accor's IT Architecture to Boost Revenue and Customer Experience", "url": "https://marmelab.com/blog/2023/08/03/marmelab-accor.html", "published_at": "2023-08-03T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364eb870ad5", "title": "Building a Kanban Board With React", "url": "https://marmelab.com/blog/2023/07/28/create-a-kanban-board-in-react-admin.html", "published_at": "2023-07-28T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ead8d3a9", "title": "React-Admin vs Refine: Feature Comparison", "url": "https://marmelab.com/blog/2023/07/04/react-admin-vs-refine.html", "published_at": "2023-07-04T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e9f0faed", "title": "Internationalization with Polyglot.js and NestJS", "url": "https://marmelab.com/blog/2023/06/27/internationalization-with-polyglotjs-and-nestjs.html", "published_at": "2023-06-27T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e942d0dd", "title": "React Admin June 2023 Update", "url": "https://marmelab.com/blog/2023/06/13/react-admin-june-2023-update.html", "published_at": "2023-06-13T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e8723f68", "title": "Tech, Crêpes, et Éthique. Marmelab était à MiXiT !", "url": "https://marmelab.com/blog/2023/06/12/mixit-2023.html", "published_at": "2023-06-12T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e809e124", "title": "Building Artificial Consciousness With GPT-3", "url": "https://marmelab.com/blog/2023/06/06/artificial-consciousness.html", "published_at": "2023-06-06T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e7b4f3e2", "title": "Is React Having An Angular.js Moment?", "url": "https://marmelab.com/blog/2023/06/05/react-angularjs-moment.html", "published_at": "2023-06-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e6cc2a8b", "title": "Convert GIF to WebM Files to Reduce the Carbon Footprint of Your Website", "url": "https://marmelab.com/blog/2023/06/01/an-effort-to-improve-the-carbon-footprint-of-the-react-admin-website.html", "published_at": "2023-06-01T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e625b33d", "title": "User-Centric Testing using React Testing Library", "url": "https://marmelab.com/blog/2023/05/26/react-user-centric-testing.html", "published_at": "2023-05-26T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e5751198", "title": "Porting React-Admin to Solid", "url": "https://marmelab.com/blog/2023/05/11/porting-react-admin-to-solidjs.html", "published_at": "2023-05-11T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e4dd92aa", "title": "Des pratiques commerciales open-source ?", "url": "https://marmelab.com/blog/2023/05/05/un-commercial-open-source.html", "published_at": "2023-05-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e4a01478", "title": "Building A Custom Tags Selector With React-Admin", "url": "https://marmelab.com/blog/2023/04/26/build-a-custom-tags-selector-with-react-admin.html", "published_at": "2023-04-26T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e3fed6e8", "title": "What Is The Carbon Footprint Of Data Centers?", "url": "https://marmelab.com/blog/2023/04/12/carbon-impact-of-data-centers.html", "published_at": "2023-04-12T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e3efd737", "title": "Reducing Our Impact: Marmelab's Pursuit of a Smaller Carbon Footprint", "url": "https://marmelab.com/blog/2023/04/06/marmelab-carbon-footprint.html", "published_at": "2023-04-06T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e3eedf95", "title": "Let's Play Poker (Planning)", "url": "https://marmelab.com/blog/2023/03/30/lets-play-poker.html", "published_at": "2023-03-30T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e3e44749", "title": "Using AI To Pilot A Racing Car With The Voice", "url": "https://marmelab.com/blog/2023/03/23/handless-racing-game-with-ai.html", "published_at": "2023-03-23T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e386e294", "title": "Creating Custom Form Layouts With React Admin", "url": "https://marmelab.com/blog/2023/03/22/creating-custom-form-layouts-with-react-admin.html", "published_at": "2023-03-22T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e32516fb", "title": "How Marmelab Helped iad Boost Transparency and Recruitment with Customizable Income Prediction Tool", "url": "https://marmelab.com/blog/2023/03/14/iad-reference.html", "published_at": "2023-03-14T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e2f36603", "title": "Building A Graphical User Interface in the Terminal using Go", "url": "https://marmelab.com/blog/2023/03/13/building-graphical-ui-go.html", "published_at": "2023-03-13T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e2bbe578", "title": "React Admin March 2023 Update", "url": "https://marmelab.com/blog/2023/03/01/react-admin-march-2023-update.html", "published_at": "2023-03-01T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e2354d5b", "title": "Using Copilot to Review Code And Fund Open-Source Projects", "url": "https://marmelab.com/blog/2023/02/27/copilot-code-review.html", "published_at": "2023-02-27T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e18c7b3b", "title": "Introducing Acme Refrigerator HelpDesk, A New React-Admin Demo", "url": "https://marmelab.com/blog/2023/02/23/react-admin-help-desk-demo.html", "published_at": "2023-02-23T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e13666ed", "title": "Are No-Code Tools A Good Choice For Developers?", "url": "https://marmelab.com/blog/2023/02/17/build-a-react-admin-like-interface-in-no-code.html", "published_at": "2023-02-17T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364e0949f40", "title": "React Without useEffect", "url": "https://marmelab.com/blog/2023/02/01/react-without-useeffect.html", "published_at": "2023-02-01T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364dfa8d4d1", "title": "Rive: Animate Web UIs with State Machines", "url": "https://marmelab.com/blog/2023/01/30/rive-animation-state-machine.html", "published_at": "2023-01-30T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364df8898f1", "title": "Marmelab Celebrates 10 Years Of Digital Innovation", "url": "https://marmelab.com/blog/2023/01/23/marmelab-s-tenth-anniversary.html", "published_at": "2023-01-23T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364df84b1b3", "title": "EdgeDB, A New Competitor In The Database Area", "url": "https://marmelab.com/blog/2023/01/19/edgedb-a-new-competitor-in-database-area.html", "published_at": "2023-01-19T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364ded1646f", "title": "useAsyncEffect: The Missing React Hook", "url": "https://marmelab.com/blog/2023/01/11/use-async-effect-react.html", "published_at": "2023-01-11T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364dea18fb9", "title": "Securely Managing Database Secrets With Vault", "url": "https://marmelab.com/blog/2023/01/05/securely-manage-database-secrets-with-vault.html", "published_at": "2023-01-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364de9b9ce9", "title": "How To Implement Web Login In A Private NPM Registry", "url": "https://marmelab.com/blog/2022/12/22/how-to-implement-web-login-in-a-private-npm-registry.html", "published_at": "2022-12-22T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364de7fff57", "title": "Multi-Tenant Single-Page Apps: Dos and Don'ts", "url": "https://marmelab.com/blog/2022/12/14/multitenant-spa.html", "published_at": "2022-12-14T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364de0bbf02", "title": "React Admin December 2022 Update", "url": "https://marmelab.com/blog/2022/12/08/react-admin-december-2022-update.html", "published_at": "2022-12-08T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364dda9b4c8", "title": "Building a B2B app with Strapi and React-Admin", "url": "https://marmelab.com/blog/2022/11/28/building-a-crud-app-with-strapi-and-react-admin.html", "published_at": "2022-11-28T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364dcd961aa", "title": "Au coeur du Volcamp", "url": "https://marmelab.com/blog/2022/11/17/volcamp.html", "published_at": "2022-11-17T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364dc39f5f4", "title": "GreenFrame Is Open-Source", "url": "https://marmelab.com/blog/2022/11/09/greenframe-open-source.html", "published_at": "2022-11-09T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364dbfa0110", "title": "Niji & GreenFrame, exemple d'un partenariat réussi", "url": "https://marmelab.com/blog/2022/11/03/greenframe-niji.html", "published_at": "2022-11-03T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364dbe61c41", "title": "Writing A React-Admin Data Provider For Offline-First Applications", "url": "https://marmelab.com/blog/2022/10/26/create-an-localforage-dataprovider-in-react-admin.html", "published_at": "2022-10-26T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364db0f3be0", "title": "Copilot Made Me An Augmented Programmer", "url": "https://marmelab.com/blog/2022/10/19/ai-augmented-coder.html", "published_at": "2022-10-19T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364da89e7ad", "title": "React-admin, Now On Discord", "url": "https://marmelab.com/blog/2022/10/12/react-admin-discord.html", "published_at": "2022-10-12T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364d9e7b0e2", "title": "Create a CRUD API In Minutes With PostgREST", "url": "https://marmelab.com/blog/2022/10/05/postgrest-api.html", "published_at": "2022-10-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364d9530bb1", "title": "Convertir un projet Docker Compose en Kubernetes, partie 2", "url": "https://marmelab.com/blog/2022/09/28/premier-contact-avec-kubernetes-partie2.html", "published_at": "2022-09-28T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364d94fb989", "title": "React I Love You, But You're Bringing Me Down", "url": "https://marmelab.com/blog/2022/09/20/react-i-love-you.html", "published_at": "2022-09-20T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364d8e11421", "title": "Convertir un projet Docker Compose en Kubernetes, partie 1", "url": "https://marmelab.com/blog/2022/09/12/premier-contact-avec-kubernetes.html", "published_at": "2022-09-12T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364d7f25bb8", "title": "React Admin September 2022 Update", "url": "https://marmelab.com/blog/2022/09/05/react-admin-septempter-2022-updates.html", "published_at": "2022-09-05T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364d731a12d", "title": "IA: Comment se faire battre par sa propre création", "url": "https://marmelab.com/blog/2022/09/02/coder-une-ia-imbattable-a-abalone.html", "published_at": "2022-09-02T00:00:00+00:00" }, { "id": "01a0b655-00f7-72d6-b89d-b364d717211e", "title": "Les ~10 préceptes de la revue de code", "url": "https://marmelab.com/blog/2022/08/25/les-10-commandements-de-la-revue-de-code.html", "published_at": "2022-08-25T00:00:00+00:00" } ] posts Claim your blog
Back to marmelab.com
Blog · corpus.blog/blogs/marmelab.com/posts

marmelab.com

marmelab.com

2024

2023

2022