React-admin 2.3: Better UI, User Menu, Tree Shaking, Tree List, and more!

This new release of react-admin, our client-side admin GUI running on top of REST and GraphQL APIs, should be called a 3.0 since it brings so many new things. But, by virtue of SemVer and backwards changes, it's just a 2.3.

François Zaninotto
September 07, 2018
Read More

Latests posts

Agile Integration: Passing On Culture to Newcomers in 5 Weeks

We believe that the commonly used onboarding processes are broken. We invented a new way to welcome new collaborators, help them learn our tools and methods, and find their place in our organization. Let's fix onboarding together!

Florian Ferbach
September 05, 2018

React Admin Advanced Recipes - Adding Related Records Inline With Custom Forms

React-admin allows to initialize a form to create a new resource related to the current one inside the main form. Here is how.

Gildas Garcia
August 27, 2018

React-admin 2.2 Is Out With Export, Clone, And More

Export button, Dense AppBar, callback side effect, error page, clear Button on inputs, clone button... There are so much enhancements in this release that you'd better read the article.

François Zaninotto
August 16, 2018

Jouer pour mieux travailler : Le Quarto

Première semaine chez Marmelab ; premier projet ; premières sueurs ; premières découvertes ; et surtout : premières étoiles dans les yeux

Julien Mattiussi
July 20, 2018

Automating Accessibility and Performance Testing with Puppeteer and AxeCore

To make sure your site is accessible and fast, check it during the continuous integration process. Here is how to do it in practice.

Gildas GarciaAlexis Janvier
& July 18, 2018

Marmelab souhaite la bienvenue à Julien M

Fort de dix ans de développement chez un éditeur de logiciels pour les professionnels de santé, Julien s'est décidé à faire le grand saut et vient de rejoindre Marmelab.

François Zaninotto
July 16, 2018

DotAI 2018: Machine Learning for Humans

I attended a few weeks ago my first conference about machine learning. As a developer with almost no experience in this field, I learned a lot without getting lost in the mathematical meanders associated with this topic. Here is my feedback.

Jonathan Petitcolas
July 12, 2018

React Admin Advanced Recipes: Creating a Record Related to the Current One

React-admin doesn't offer a feature that you need? No problem, it's just React! This practical tutorial shows how to use the routing and a custom button to improve the user experience.

Gildas Garcia
July 09, 2018

React-admin 2.1 Is Out

The first minor version since 2.0 improves the developer experience, based on the feedback we've received. It's never been so fun to develop admin GUIs with React!

François Zaninotto
July 02, 2018

Managing State in React: Redux or not Redux?

Redux is a fantastic tool for managing state in React.js, but is it suitable for all situations? Probably not.

Alexis JanvierGildas Garcia
& June 27, 2018
View us on twitter

Lean from the Trenches: Managing Large Scale Projects with Kanban

June 21, 2018 by

Get Rid Of Toxic Bugs On Your Apps With Detox!

June 05, 2018 by

Site Reliability Engineering: Google's Secret Sauce For High Availability And Happy Ops

May 24, 2018 by

Admin-on-rest Becomes React-admin, and Gets a Major 2.0 Release

May 18, 2018 by

M&M's: Agile Retrospective For Gloutons

April 23, 2018 by

Functional Programming in JavaScript, Part 2: The Monoid

April 18, 2018 by

"Confessions of a Public Speaker", a Fun and Inspiring Guide for Giving Better Talks!

April 16, 2018 by

#play14 Luxembourg 2018: The Serious Games Unconference Turns 5

April 12, 2018 by

Enjoy Painless Typing With ReasonML!

April 09, 2018 by

Finding And Fixing Node.js Memory Leaks: A Practical Guide

April 03, 2018 by

Customer Story: 1859 Cloud, or How a Fintech Can Help Charities

March 28, 2018 by

Using NVIDIA GPU within Docker Containers

March 21, 2018 by

Functional Programming in JavaScript, Part 1: The Unit

March 14, 2018 by

The Lean Startup : This Book Isn't Actually About Startups

March 12, 2018 by

Automating accessibility testing with Selenium Webdriver and AxeCore

February 22, 2018 by

Convert An Image Into An ASCII Art Masterpiece With Pure JavaScript

February 20, 2018 by

School Of PO, retour sur la conférence

February 15, 2018 by

Admin-on-rest 1.4: Winter Changes

February 14, 2018 by

Understanding Recursion, Tail Call and Trampoline Optimizations

February 12, 2018 by

Le jeu du Taquin en React et React Native

February 07, 2018 by

EventDrops, The Time Series Data Visualization, Gets a Major Performance Boost

January 26, 2018 by

La blockchain, quand l'individu sert au collectif... malgré lui

January 25, 2018 by

Configurable Artifacts: Deploy Code Like a Pro

January 22, 2018 by

BlendWebMix 2017

January 15, 2018 by

Réussir une rétrospective agile

January 11, 2018 by

Le jeu du Taquin en php (framework Symfony)

January 08, 2018 by

2017

Comprendre la mécanique des jeux grâce au livre Game storming

December 19, 2017 by

Let's cook some Crystal!

December 14, 2017 by

Minutes of DotJS 2017

December 11, 2017 by &

How To Implement Material Design Motion with React.js

December 04, 2017 by

Le jeu du Taquin en go

December 01, 2017 by

Learning Jest Through Practice

November 08, 2017 by

Introducing Comfygure, A Configuration Manager For Easy Deployments

November 07, 2017 by

Le jeu du Taquin en python

October 25, 2017 by

Marmelab souhaite la bienvenue à Adrien

October 24, 2017 by

Running React Router v4, Redux Saga, SSR and Code Splitting together

October 17, 2017 by

Elixir GenServer Explained to Redux Developers

October 04, 2017 by

The Agile Setup: How Marmelab Bootstraps Projects In 2 Weeks

September 29, 2017 by

Retour sur une année en télétravail à plein temps

September 27, 2017 by

New Website Design

September 22, 2017 by

Admin-on-rest 1.3: Summer Changes

September 14, 2017 by

Real-Time Resource Locking Using Websockets and Navigation

September 13, 2017 by

Dive Into GraphQL Part V: Should You Use GraphQL?

September 08, 2017 by

Dive Into GraphQL Part IV: Building a GraphQL-powered mobile application With React

September 07, 2017 by &

Dive Into GraphQL Part III: Building a GraphQL Server With Node.js

September 06, 2017 by

Dive Into GraphQL Part II: Anatomy of a GraphQL Query

September 05, 2017 by

Dive Into GraphQL Part I: What's Wrong With REST?

September 04, 2017 by

Dive Into GraphQL

September 03, 2017 by

Introducing Json GraphQL Server

July 12, 2017 by

Admin-on-rest 1.1 and 1.2: Focus On The New Features

June 29, 2017 by

Introducing aor-permissions: Customize Admin-on-rest based on user permissions

June 26, 2017 by

USI 2017: The Talks You Should Watch

June 22, 2017 by

Augmented Reality With HTML5: What Can Mobile Web Browsers Do?

June 19, 2017 by &

Animate your world with ThreeJS and TweenJS

June 15, 2017 by

5e édition du Printemps Agile de Caen

June 12, 2017 by &

Admin-on-rest now supports GraphQL backends

June 01, 2017 by

Minutes of React Europe 2017

May 24, 2017 by &

Marmelab développe un CMS Web Sémantique pour le CNRS

May 22, 2017 by

Internationalizing a React Application using Polyglot

May 16, 2017 by

SG: Un moteur à effet pour JavaScript

May 09, 2017 by

We attended the first dot AI conference.

May 05, 2017 by

Specifiers and artists, ou l'importance de la communication verbale

May 04, 2017 by

Admin-on-rest 1.0 Stable is out

April 26, 2017 by

GitHub Oauth Authentication for SPA Without Server

April 24, 2017 by

Le jeu Awalé en isomorphique avec Next.js

April 07, 2017 by

Conditional Babel Configuration: Introducing Babel env

April 06, 2017 by

Le jeu Awalé en React Native

April 03, 2017 by

Comprendre les générateurs en JavaScript

March 28, 2017 by

Play14: Practicing Serious Games with Talented People Is a Great Way to Learn

March 27, 2017 by

Découvrir les service workers

March 21, 2017 by

Développement d'un bot Awale pour Slack

March 15, 2017 by

admin-on-rest 0.9 is out

March 10, 2017 by

Introducing Sedy, the Serverless GitHub Bot That Fixes Typos for you

February 28, 2017 by

admin-on-rest: Meet the demo

February 22, 2017 by

Agility to the rescue of slipping tasks!

February 21, 2017 by

The Maze, jeu collaboratif hautement immersif

February 17, 2017 by

Taking Picture From Webcam Using Canvas

February 15, 2017 by

admin-on-rest 0.8 is out

February 14, 2017 by

Vous avez dit Awalé ?

February 10, 2017 by

Marmelab souhaite la bienvenue à Maxime

February 09, 2017 by

Npm (or Yarn) Install within a Docker Container, the Right Way

February 08, 2017 by

React is Slow, React is Fast: Optimizing React Apps in Practice

February 06, 2017 by

Comment l'Etat se modernise grâce au Lean Startup

February 03, 2017 by

ng-admin 1.0 is out!

January 27, 2017 by

Le processus d'initialisation des projets chez Marmelab

January 17, 2017 by

admin-on-rest 0.7 is out

January 13, 2017 by

Comment exploiter la base SIRENE des entreprises de France en SQL

January 09, 2017 by

End-to-end Testing For Single-Page Apps With No Server

January 04, 2017 by

2016

Minutes of DotJS 2016

December 22, 2016 by &

React Isomorphique en pratique

December 21, 2016 by

Retour d'expérience sur le développement d'un chatbot en Node.js avec serverless

December 16, 2016 by

Chez Marmelab, le développement web est gratuit pour les associations !

December 08, 2016 by

Npm Tips and Tricks

December 07, 2016 by

Othello mobile en React Native

November 30, 2016 by

Reversi bot: Go et Symfony en action

November 24, 2016 by

For Charities, Web Development is Free at Marmelab

November 21, 2016 by

La ferme des animaux agiles, une version française par Marmelab

November 17, 2016 by

admin-on-rest 0.5 is out

November 10, 2016 by

Un jeu d'Othello dans le terminal avec Python

November 07, 2016 by

Marmelab souhaite la bienvenue à Julien

November 04, 2016 by

Marmelab s'amuse : the Team Responsibility Game

November 01, 2016 by

WebSocket-based app with Django Channels and React

October 19, 2016 by

Using Saga To Accumulate And Deduplicate Redux Actions

October 18, 2016 by

Moments d'invention : Retour sur une rencontre

October 13, 2016 by

Marmelab joins the Hacktober Fest 2016!

October 10, 2016 by

Jeu mobile en React Native : retour d'expérience

September 26, 2016 by

Custom Route Component For React Router

September 20, 2016 by

Puissance 4 multi-joueur : retour d'expérience

September 19, 2016 by

Marmelab souhaite la bienvenue à Florian

September 07, 2016 by

Introducing admin-on-rest, the React Admin GUI for REST APIs

September 02, 2016 by

Update a Single Page App on Code Change Without Draining The Battery

August 29, 2016 by

Résoudre le jeu snake, deuxième essai: ES6 et ReactJS

August 18, 2016 by

Restful.js: Review of an open-source project

June 29, 2016 by

Minutes of AWS Summit Paris 2016

June 15, 2016 by &

The Blockchain Explained to Web Developers, Part 3: The Truth

June 14, 2016 by

Résoudre le jeu snake, premier essai: Pathfinding et Python

June 08, 2016 by

The Blockchain Explained to Web Developers, Part 2: In Practice

May 20, 2016 by &

La blockchain expliquée aux développeurs web, partie 1: la théorie

May 12, 2016 by

#play14 Luxembourg Third Edition: A Network Is Born

May 04, 2016 by

The Blockchain Explained to Web Developers, Part 1: The Theory

April 28, 2016 by

Lean Startup, day 18: Determining The Break-Even Point

April 22, 2016 by

Lean Startup Adventure, day 16: Pivot

March 23, 2016 by

Lean Startup Adventure, day 15: Learn

March 15, 2016 by

EventDrops 0.2 is out!

March 09, 2016 by

Marmelab Javascript Boilerplate: deux jours de gagnés à chaque démarrage projet

March 08, 2016 by &

Lean Startup, day 14: Customer Acquisition

March 02, 2016 by

Self-Documented Makefile

February 29, 2016 by

Lean Startup, day 13: The Teaser Video

February 26, 2016 by

Lean Startup, day 12: How to Find a Product Name

February 24, 2016 by

Is it snobbery to want a real console on Windows?

February 22, 2016 by

Lean Startup, day 11: The Demo

February 16, 2016 by

Lean Startup, day 10: Build-Measure-Learn explained

February 12, 2016 by

Lean Startup, day 9: Benchmarking Existing Solutions

February 10, 2016 by

Lean Startup Adventure, day 8: designing Personas

February 05, 2016 by

Lean Startup Adventure, day 7: Second Problem interview with Adista

February 03, 2016 by

Lean Startup Adventure, day 6: Problem interview with CloudScreener

January 29, 2016 by

Marmelab souhaite la bienvenue à Kevin

January 28, 2016 by

Lean Startup Adventure, day 5: Designing a Problem Interview

January 27, 2016 by

Webpack HTML plug-in in a nutshell

January 26, 2016 by

Lean Startup Adventure, day 4: Risky Business

January 22, 2016 by

Lean Startup Adventure, day 3: The Business Model

January 20, 2016 by

Lean Startup Adventure, day 2: The Idea

January 15, 2016 by

A Lean Startup Adventure

January 13, 2016 by

2015

A Better File Structure For React/Redux Applications

December 17, 2015 by

Ma session découverte de l’agilité par le jeu au ForumPHP comme si vous y étiez (ou presque)

December 09, 2015 by

Meteor with Webpack, React and Redux in Practice

November 27, 2015 by

Lean Kanban France 2015

November 09, 2015 by

De Python à PHP 7 : L'algorithme du jeu Dobble

November 05, 2015 by

ng-admin 0.9: embedded lists, templates everywhere, new documentation

October 30, 2015 by

How-to dump your Docker-ized database on Amazon S3?

October 23, 2015 by

ng-admin: Meet the new demo

September 04, 2015 by

ng-admin 0.8 Is Out!

August 26, 2015 by

Importing a Modeled Mesh From Blender to Three.js

July 31, 2015 by

Jest, The React.js Unit Testing Framework, In Practice

June 24, 2015 by

L'itération agile : entre SSII et agence, un nouveau mode de prestation informatique

June 11, 2015 by

DotScale 2015 Conference Summary

June 10, 2015 by

Minutes of PHP Tour 2015

June 01, 2015 by

Setup Webpack on an ES6 React app with SASS

May 18, 2015 by

Awesome REST: a List of Developer Resources for Building REST API

May 11, 2015 by

Ng-admin 0.7: Configurable Menus, Batch Actions, CSV Export, And More

May 06, 2015 by

Mon premier défi : un Dobble generator en TDD

April 07, 2015 by

Marmelab souhaite la bienvenue à Gildas

April 03, 2015 by

FakeRest: Patch XMLHttpRequest to fake a REST server based on JSON data

March 25, 2015 by

Using Ng-admin with postgREST

March 23, 2015 by

Transpiling EcmaScript6 code to ES5 using Babel

March 12, 2015 by

Restful.js: A Framework Agnostic JS Client for RESTful APIs

March 10, 2015 by

Marmelab souhaite la bienvenue à Yann

March 03, 2015 by

Ng-admin 0.6: Adding Support for Custom Types

February 25, 2015 by

NgAdminGeneratorBundle: Create a JavaScript Admin Panel and a REST API for Symfony2 Apps in Minutes

February 24, 2015 by

Ng-admin 0.5 Is Out, and It's Compatible With Your API

February 04, 2015 by

Playing with websockets in Go

January 29, 2015 by

[Video] ArchitectureTree: Visualize Software Architectures In Your Browser

January 27, 2015 by

2014

Admin GUIs in the Microservices Era: Introducing ng-admin Multi Backend

December 19, 2014 by

Marmelab: 2 years of Open-Source

December 17, 2014 by

Two days to write my first Protractor tests on the ng-admin AngularJs module

December 12, 2014 by

ng-admin 0.4: Eating our own dog food

December 05, 2014 by

Creating JSON Web Token in JavaScript

December 02, 2014 by

DotJS 2014: Big stars don't make a great event

November 24, 2014 by

Big changes in ng-admin 0.3: Introducing views

November 13, 2014 by

Bilan du Forum PHP 2014: Le PHP, langage de l'innovation ?

November 12, 2014 by

We're retiring gaudi

November 06, 2014 by

Introducing koa-multifetch, a Node.js middleware for REST APIs

November 04, 2014 by

Une commande tree plus efficace grâce au Go

October 30, 2014 by &

Marmelab déménage!

October 29, 2014 by

Une console plus graphique avec node.js et d3.js

October 03, 2014 by

ng-admin Update: Callback Field Type, Easier Customization

September 30, 2014 by

[Video] MobileInsight : une semaine avec Angular.js, Ionic et PhoneGap

September 26, 2014 by

Marmelab souhaite la bienvenue à Alexis

September 16, 2014 by

ng-admin: Add an AngularJS admin GUI to any RESTful API

September 15, 2014 by

Seamlessly Run Composer On HHVM Inside Docker: Introducing make-docker-command

September 10, 2014 by

Fibonacci sequence generator in Go

September 08, 2014 by

One New Tech Per Project

September 01, 2014 by

Resolving Action Dependencies: Comparing JavaScript and Go implementations

August 22, 2014 by

Create a Full Stack Magento Environment With gaudi

June 17, 2014 by

[Screencast] Build a working SF2 web application using 3 docker containers in 2 minutes

June 04, 2014 by

PHPCR Browser: Edit Support and Better Performance

May 22, 2014 by

ArcheoloGit: Visualize Code Age and Dev Activity

May 15, 2014 by

Gaudi News: gaudi.io, apt-get install gaudi, ambassadors, and more!

May 12, 2014 by

Running Symfony CMF With Gaudi

February 09, 2014 by

Create Gaudi's File Easily With A Web App

February 06, 2014 by

Introducing Gaudi: An Architect for Multi-Component Applications

January 31, 2014 by

2013

My First Assignment: a PHPCR Browser

December 16, 2013 by

Converting the Symfony Stopwatch Component from PHP to Zephir

December 05, 2013 by

Marmelab souhaite la bienvenue à Robin

December 04, 2013 by

My First Assignment: Creating an Elastica Adapter for the Sonata Admin list view

November 19, 2013 by

Marmelab souhaite la bienvenue à Daphné

November 05, 2013 by

How To Use Docker To Run PHPUnit Tests In Parallel

November 04, 2013 by

Marmelab souhaite la bienvenue à Jérôme

September 16, 2013 by

Using Connected Objects To Keep Your Job

July 22, 2013 by

Building Sophisticated WebApps For Mobile: A Bumpy Ride

July 01, 2013 by

Integrating Raphael.js With Backbone.js

May 22, 2013 by

Inline Text Editing With Raphaël.js

May 13, 2013 by

CloudScreener, le comparateur d'offres Cloud, sort son mode expert

March 29, 2013 by

Lancement de CloudScreener, le comparateur d'offre cloud pour les PME

February 13, 2013 by

Pour la fin des contrats au forfait

February 11, 2013 by