Excuse my replying in English - my one year of French from 30+ years ago is not at all up to the task.
You don’t need to change controllers to get full use of your MPCNC, including adding a laser if you’d like. I use the CNC Shield v3.00 on two of my machines, an MPCNC Burly (with cnc-controlled variable spindle RPM) and a K40 laser engraver. I’m running grbl 1.1 on both, and adjust the settings primarily with the $ commands. Grbl documentation (in English) is here, and configuration specifics here. You can send the configuration commands from the cncjs terminal once you’ve connected by specifying that you’re using grbl firmware. As an example, to fix your distance error, it sounds like you’ve got only half the steps-per-mm that you should have. I’d issue a $$ command to view current settings, then $100= whatever you want the new value to be for the X axis, and $101= for the Y axis.
About 99% of fine tuning the machine is done through these config changes, which are automatically persistent between restarts. You really only need to edit the firmware if you want to change the homing sequence, enable a second pin to split the coolant flood and mist commands to different pins (which I’ve done on both mine to have different accessories like air assist and coolant pump be independently controlled), or do some other non-standard things. The options are well documented in the firmware source file, so you can look through it to see what is supported.
Enabling laser mode is as simple as sending $32=1 through the terminal. $32=0 turns it off again.
Because the v3.00 CNC shield is limited to 3 axis (plus one clone), you can’t do auto-squaring, therefore the dual endstop configuration V1 firmware isn’t beneficial, so the two motors for a given axis are wired in series. Honestly, hard-stops that you hold the machine on while enabling the steppers gets me as close to square as I can measure. Also, even though the board shows connections for Max and Min end stops on the three axes, each axis only gets 1 pin on the Arduino so the pins on the board are in parallel for each axis. On my MPCNC, I do have min X and Y and max Z end stops connected for ease of homing, and for re-establishing machine position if/when I get around to trying 2-sided cuts, but they’re not really needed for normal operations. I had to add capacitors to the board-end of the end stop connections to defeat a noise problem in my machine.
The v3.00 board was originally designed before grbl supported pwm control of spindle rpm/laser intensity. When this feature was added to grbl after version 0.9g (I think), they had to swap the use of 2 pins, but no one has updated the silkscreen on the board design. With current versions of grbl, the Z axis end stop pin (either one, since they’re in parallel as noted above) becomes the new Spindle Enable pin (which also controls the spindle RPM or laser intensity), and the old Spindle Enable pin becomes the new Z end stop.
I’ve had good luck with the CNC Shield v3.00 board running both these machines, and don’t feel the need to upgrade to get auto-squaring, which is really the only feature I’m “missing out” on. If I were to upgrade, I would probably go for a 32-bit board that @vicious1 stocks in the V1 Shop, as it would allow me to use the pre-built V1 firmware. The only significant changes I’d need to make to the machine would be rewiring my motors so each was on its own driver, and adding the second end stop for each axis. It is important for auto-squaring to work properly to pay attention to which end stop matches which motor.