

function doPost(e) {
  try {
    // ==========================================
    // 1. CONFIGURATION (À MODIFIER AVEC VOS ID)
    // ==========================================
    const FOLDER_ID = "18tKpAKOEvCFNfne67fzPBgwoVpvWcAmO";
    const SHEET_ID = "1QVWgE3_bNfIODos_Vlwa20okRfGt3Cb_yDr29Hfsy8k";
    // Note : le Sheet doit avoir 7 colonnes : Date, Nom, Prénom, Email, Téléphone, Catégorie, Lien Fichier

    // ==========================================
    // 2. RÉCUPÉRATION DES DONNÉES DU FORMULAIRE
    // ==========================================
    const data = JSON.parse(e.postData.contents);

    const nom = data.nom;
    const prenom = data.prenom;
    const email = data.email;
    const telephone = data.telephone;
    const categorie = data.categorie;

    // ==========================================
    // 3. DRIVE : CRÉATION ET RENOMMAGE DU FICHIER
    // ==========================================
    const folder = DriveApp.getFolderById(FOLDER_ID);

    // Récupérer l'extension du fichier original (ex: pdf ou zip)
    const extension = data.fileName.split('.').pop();

    // Renommage automatique : "TOYP_NOM_Prenom.extension"
    const newFileName = `TOYP_${nom.toUpperCase()}_${prenom}.${extension}`;

    const fileBlob = Utilities.newBlob(
      Utilities.base64Decode(data.file),
      data.mimeType,
      newFileName
    );

    const uploadedFile = folder.createFile(fileBlob);
    const fileUrl = uploadedFile.getUrl();

    // ==========================================
    // 4. GOOGLE SHEETS : ENREGISTREMENT DES DONNÉES
    // ==========================================
    const sheet = SpreadsheetApp.openById(SHEET_ID).getActiveSheet();

    // Ajout d'une nouvelle ligne avec les données
    sheet.appendRow([
      new Date(), // Horodatage
      nom,
      prenom,
      email,
      telephone,
      categorie,
      fileUrl
    ]);

    // ==========================================
    // 5. EMAIL : ACCUSÉ DE RÉCEPTION
    // ==========================================
    const subject = "Accusé de réception - Candidature TOYP JCI Tournai";
    const htmlBody = `
      <div style="font-family: Arial, sans-serif; color: #333;">
        <h2>Bonjour ${prenom} ${nom},</h2>
        <p>Nous vous confirmons la bonne réception de votre candidature pour le concours <strong>Ten Outstanding Young Persons (TOYP)</strong> de la JCI Tournai.</p>

        <p><strong>Récapitulatif de vos informations :</strong></p>
        <ul>
          <li><strong>Catégorie :</strong> ${categorie}</li>
          <li><strong>Téléphone :</strong> ${telephone}</li>
        </ul>

        <p>Votre dossier a été enregistré avec succès et sera analysé prochainement par notre jury.</p>
        <p>Merci pour votre participation !</p>

        <br>
        <p>Cordialement,<br><strong>L'équipe JCI Tournai</strong></p>
      </div>
    `;

    MailApp.sendEmail({
      to: email,
      subject: subject,
      htmlBody: htmlBody
    });

    // ==========================================
    // 6. RETOUR AU FRONT-END (SUCCÈS)
    // ==========================================
    return ContentService
      .createTextOutput(
        JSON.stringify({
          success: true,
          fileId: uploadedFile.getId(),
          fileUrl: fileUrl
        })
      )
      .setMimeType(ContentService.MimeType.JSON);

  } catch(error) {
    // ==========================================
    // 7. GESTION DES ERREURS
    // ==========================================
    return ContentService
      .createTextOutput(
        JSON.stringify({
          success: false,
          error: error.toString()
        })
      )
      .setMimeType(ContentService.MimeType.JSON);
  }
}
