ValueError: No gradients provided for any variable
I found the solution to my problem.
First of all, I had to declare a loss when compiling the model :
model.compile(
    optimizer='adam', 
    loss='mean_absolute_error', 
    metrics=['mean_absolute_error']
)

In addition to that, I changed the monitor for the checkpoint:
import tensorflow.keras.callbacks as C

checkpoint = C.ModelCheckpoint(
                filepath='best_pool.h5',
                save_best_only=True,     
                monitor='val_mean_absolute_error', 
                mode='min')

Changing the monitor gave a better result in this case.