Donc,
Header marche (= ne te génère pas une erreur de headers already sent) si et seulement s'il n'y a aucun output envoyé précedemment.
Dans ton cas, le msg d'erreur dit "output started at D:\Datas\Papa\PHP\www\test\ajout.php:2" donc ça veut dire qu'à la ligne 2 il y a qqch qui est envoyé vers la sortie => Headers already sent.
Ce que je pense c'est que ton fichier commence par un retour à la ligne, suivi par le <?php ..
Du coups le script envoie le retour à la ligne vers la sortie avant de commencer a lire le <?php => Erreur.
De plus, dans les quelques lignes que je t'ai écrit, je t'ai dit de faire un test pour voir si tout s'était bien passé au moment de l'édition, c'est typiquement pour éviter que si qqch se passe mal (=> Une erreur est envoyée vers la sortie) tu te manges en plus le headers already sent