Ok I understood, this is a bug:
Example of the shortcode:
[gd_post_badge key="claimed" condition="is_not_empty" alignment="left" badge="<img src='https://accentsduterroir.fr/medias/badges/mini/revendication.svg' />" bg_color="transparent" css_class="claim-badge"]
With classic WP editor: when registering the shortcode above, AUTOMATICALLY WordPress replaces the single quote from the shortcode URL with a double quote and when registering the post, the badge does not appear.
With Gutenberg WP editor (Custom HTML block): when saving the shortcode above, WordPress respects the simple quote of shortcode URL and saves the post well, and the badge appears. BUT if we re-edit the post, it once again replaces the double quote instead of the single quote. And so the badge no longer appears as soon as we save again the post.