Page d'authentification sur google sheet
Salut a tous jaimerais vous soumettre un soucis
jai voulu cree une page d'authentification sur google sheet avec une boite de dialogue .
cette page d'authentification comprend deux elements a renseigne le nom et le matricule . jai cree une feuille shet que jai renommée verifie dans laquelle jai cree un tableau avec des ellement deja rempli.
ensuite jai cree une boutton sur une feuille que jai nommée acc
puis jai ecris les code html et css et jai appelle le formulaire sous forme de boite de dialogue jai ensuite excecute les code java pour verifie si le nom que lutilisateur utilise fais partie dans la feuille verifie . quand jai excute le script normalement il devait menvoye sur la page accueille si lutilisateur y figue . je vous mettrai le different code pour que vous m'aidiez car depuis bon moment je le fait mais je ne trouve pas de solution. merci de votre bienveillance . voici le different code
'''''''''code pour la page d'authentification''''''''''
<!DOCTYPE html><html lang="fr"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Authentification</title> <style> /* Style général */ body { margin: 0; padding: 0; font-family: 'Arial', sans-serif; background-color: #0d1b2a; /* Bleu nuit */ display: flex; justify-content: center; align-items: center; height: 100vh; color: #fff; }
/* Conteneur principal */ .auth-container { width: 90%; max-width: 400px; padding: 2rem; background: rgba(255, 255, 255, 0.1); /* Fond semi-transparent */ border-radius: 12px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6); text-align: center; }
/* Titre */ .auth-container h1 { font-size: 2rem; margin-bottom: 1.5rem; color: #1fa2ff; }
/* Champs de saisie */ .auth-container input[type="text"], .auth-container input[type="number"] { width: 100%; padding: 0.8rem; margin-bottom: 1.2rem; border: none; border-radius: 8px; font-size: 1rem; background: rgba(255, 255, 255, 0.2); color: #fff; outline: none; }
/* Bouton */ .auth-container input[type="button"] { width: 100%; padding: 0.8rem; font-size: 1rem; border: none; border-radius: 8px; background: linear-gradient(90deg, #1fa2ff, #12d8fa, #a6ffcb); color: #fff; cursor: pointer; transition: background 0.3s ease-in-out; }
.auth-container input[type="button"]:hover { background: linear-gradient(90deg, #a6ffcb, #12d8fa, #1fa2ff); }
/* Message d'erreur */ .error-message { margin-top: 1rem; font-size: 0.9rem; color: #ff4d4d; display: none; } </style></head><body> <div class="auth-container"> <h1>Authentification</h1> <input type="text" id="nom" placeholder="Nom"> <input type="number" id="matricule" placeholder="Matricule"> <input type="button" value="Se Connecter" onclick="authentifier()"> <p class="error-message" id="error-message"></p> </div>
<script> function authentifier() { const nom = document.getElementById('nom').value.trim(); const matricule = document.getElementById('matricule').value.trim();
if (!nom || !matricule) { afficherErreur("Veuillez remplir tous les champs."); return; }
// Appel à Apps Script pour vérifier les informations google.script.run .withSuccessHandler(function(isValid) { if (isValid) { // Si authentification réussie, redirection ou message personnalisé google.script.run.bienvenue(); } else { afficherErreur("Nom ou matricule incorrect."); } }) .verifierUtilisateur(nom, matricule); }
function afficherErreur(message) { const errorMessage = document.getElementById('error-message'); errorMessage.textContent = message; errorMessage.style.display = "block"; } </script></body></html>le code pour appellez le code html en boite de dialogue
function afficherAuth() { const html = HtmlService.createHtmlOutputFromFile("authen") .setWidth(350) .setHeight(400); SpreadsheetApp.getUi().showModalDialog(html, "ENTREZ VOS INFORMATIONS");}et mettenant le code pour excute le verification
// Boîte de dialogue pour VERIFIE UTILISATEUR
function verifierUtilisateur(nom, matricule) { const sheetId = "verifi"; // Remplacez par l'ID de votre Google Sheet const feuille = SpreadsheetApp.openById(sheetId).getSheetByName("verifi");
if (!feuille) { throw new Error("La feuille 'verifi' n'existe pas."); }
const données = feuille.getDataRange().getValues();
for (let i = 1; i < données.length; i++) { // Supposant que la ligne 0 contient les en-têtes const nomFeuille = String(données[i][0]).trim().toLowerCase(); const matriculeFeuille = String(données[i][1]).trim();
if (nomFeuille === nom.trim().toLowerCase() && matriculeFeuille === matricule) { return true; } } return false;}NB la base ou les information se trouve se nomme ''verifi''
la feuille ou je lance le script pour que la page d'authentification affiche comme une boite de dialogue se nomme ''acc''
merci car je sais que je peux compte sur forum
Bonjour,
Concernant les restrictions d'accès, Google organise cela avec les options de partage, où il est possible ou bien d'ajouter des users un à un et de définir leurs droits (editeur / lecteur) ou bien un accès général.
https://sheets-pratique.com/fr/cours/partage
Pourquoi ajouter une surcouche ?
Waouh je ny avais pas pensé merci aussi simple que sa