function soumettre( form ) {
  //////////////////////////////////////////////////////////////////////////////////////
  // Rappel de la charte
  //////////////////////////////////////////////////////////////////////////////////////

  //////////////////////////////////////////////////////////////////////////////////////
  // Contrôle des champs obligatoires (tous)
  // Evidemment, ce contrôle est effectué sur le serveur, mais trop de gens se plaignaient
  // de ne pas être prévenu avant !

  var empty = /^\s*$/;
  if( empty.test( form.auteur.value ) ) {
    alert('Vous devez entrer votre nom.');
    return false;
  }
  
  var email = /^.+@.+\.[a-z]{2,6}$/i;
  if( ! email.test( form.email.value ) ) {
    alert('Vous devez entrer une adresse email.');
    return false;
  }

  //////////////////////////////////////////////////////////////////////////////////////
  // Analyse du message
  var charte_message = '';
  message = form.contenu.value;

  // pas de SMS (à enrichir)
  reg = /([,.?!\s:("']|^)(pkoi|toa|ki|kan|ke|k1|mé|mè|cé|dé|keski|kesski|koa|pourkoi|essque)([,.?!\s:)"']|$)/i;
  if( reg.test( message ) ) charte_message = '[Politesse] Vous semblez utiliser du langage SMS et ceci n\'est pas très apprécié sur ce forum.';

  // affichage des erreurs
  if( charte_message != '' ) {
    resultat = ! confirm("Votre message ne semble pas respecter la charte pour la raison suivante :\n\n\"" + charte_message + "\"\n\nSi vous validez ce message, vous risquez de le voir supprimé.\nVoulez-vous le modifier (OK) ou le poster quand même (Annuler) ?" );
	if( resultat ) return confirm("Vous êtes VRAIMENT sûr de vouloir poster ??\n(OK) pour VRAIMENT poster ou (Annuler) car vous êtes pris de remords");
    return false;
  } 

  //////////////////////////////////////////////////////////////////////////////////////
  // Militantisme
  reg = /([,.?!\s:(=_)-]|^)lol([,.?!\s:=_)-]|$)/i;
  if( ! reg.test(document.cookie) && reg.test( message ) ) {
    alert('[Militantisme]\n\nSavez-vous que la traduction exacte de "LOL" en français est "MDR" ?\n\nZ\'inquitez pas, je ne vous le rappelerai pas à chaque fois ;-)' );
    var today = new Date();
    var expire = new Date();
    expire.setTime(today.getTime() + 31536000); // on ne le rappele plus pendant 1 an
    document.cookie = 'lol=1;expires='+expire.toGMTString();
  }
  
  return true;
}
