Merci beaucoup ! Cela a fait l’affaire.
Pour toute autre personne ayant le même problème :
$url = 'https://www.website.com/{username}.json';
$data = ['name' => 'George'];
$api_key = CUSTOM_DISCOURSE_API;
$headers = array("Content-Type: multipart/form-data;", "Api-Key: $api_key", "Api-Username: system");
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec( $ch );
if ( curl_errno( $ch ) !== 0 ) {
// Gérer l'erreur, appeler curl_close( $ch ) et retourner.
}
curl_close( $ch );
$discourse_user = json_decode( $result );