Présentation du projet
Alibaba Baixiu, un système de gestion de contenu, est divisé en deux fonctions principales : la gestion de contenu et l'affichage de contenu.
1. Module fonctionnel
1.1 Gestion du contenu
module | Fonction |
---|
utilisateur | Connexion, déconnexion, ajout d'utilisateur, suppression, modification et requête |
article | Gestion des articles |
Classification | Gestion des classements |
Commentaire | Gestion des commentaires |
Paramètres du site Web | Mots clés, description, logo du site Web, image du carrousel |
1.2 Affichage du contenu
module | Fonction |
---|
première page | Navigation, affichage des données d'articles |
Page de liste | Afficher une liste d'articles par catégorie |
Page de détails | Afficher les détails de l'article et implémenter la fonction de commentaire |
2. Mode développement
2.1 Modèle de développement mixte front-end et back-end
Tout le code et les données HTML sont fusionnés côté serveur et tout le contenu est envoyé au client en même temps. Le navigateur exécute le code et présente le contenu à l'utilisateur.
question:
- Les développeurs front-end et back-end ne connaissent pas le code de chacun. Il est très difficile pour un développement mixte de gérer le code de chacun.
- Au cours du processus de développement, les codes se chevaucheront inévitablement, doublant ainsi la charge de travail.
2.2 Modèle de développement de séparation front-end et back-end
Avantages : responsabilités et division du travail claires, développement indépendant, aucune influence les uns sur les autres.
3. Structure du projet
Superposition du système | Utiliser la technologie |
---|
couche de données | mongoDB |
couche de service | node.js (express) |
client | modèle d'art, jQuery, police géniale, glisser |
4. Configuration de l'environnement d'exploitation du projet (ce que vous devez savoir pour exécuter le projet)
- Installez le logiciel node.js et testez s'il est installé avec succès
- Win + R ouvre le programme en cours d'exécution dans le système Windows, entrez PowerShell dans le programme en cours d'exécution et appuyez sur Entrée pour ouvrir le programme de ligne de commande
- Entrez la commande
node -v
pour vérifier la version de node.js. Si le numéro de version est affiché dans le programme de ligne de commande et qu'aucune erreur n'est signalée, l'installation est réussie.
- Installez les logiciels mongodb et mongodb-compass
- Copiez le dossier du projet Alibaba Baixiu sur le disque dur (programme côté serveur)
- Accédez au répertoire racine du projet dans l'outil de ligne de commande
- Maintenez la touche Maj enfoncée, cliquez avec le bouton droit et sélectionnez Ouvrir la fenêtre PowerShell ici
- Utilisez la commande
npm install
pour installer les fichiers de dépendances requis pour le projet - Ouvrez le fichier app.js et modifiez la section de connexion à la base de données à la ligne 47 : 'mongodb://itcast:itcast@localhost:27017/alibaixiu'
pour 'mongodb://localhost:27017/alibaixiu'
(1) Raison : Vous n'avez pas créé le compte de connexion à la base de données mongodb et les informations sur le mot de passe. Nous avons choisi d'utiliser la méthode par défaut pour vous connecter à la base de données mongodb.
(2) Si vous souhaitez vous connecter à la base de données avec votre compte et votre mot de passe. Veuillez vous référer à : https://www.cnblogs.com/b02330224/p/10049395.html
Entrez les commandes dans l'ordre sur la ligne de commande : use alibaixiu
#Entrez la base de données alibaixiu
db.createUser({user:'itcast',pwd:'itcast',roles:['readWrite']})
#Créer un utilisateur de base de données
Si vous êtes invité à indiquer que les autorisations sont insuffisantes, veuillez vous référer au lien ci-dessus et vous connecter d'abord à la base de données avec le compte administrateur mongodb.
7. (Nouvelle étape) Récemment, les données de la base de données db_data ont été téléchargées et la base de données alibaixiu peut être saisie via le logiciel mongodb-compass.
Créez users
, comment
, slides
, categories
, posts
et des collections settings
avec le même nom que les données json dans le dossier db_data
(Collection), et enfin importez tour à tour les données json correspondantes dans chaque collection.
8. Entrez node app.js
dans l'outil de ligne de commande pour démarrer le projet
5. Choses à noter après avoir exécuté le projet (ce que vous devez savoir pour exécuter好看的项目
)
1. Ouvrez le navigateur et saisissez localhost:3000/admin/login.html dans la barre d'adresse du navigateur pour accéder à la page de connexion.
Entrez le nom d'utilisateur par défaut du système : (original) [email protected] (maintenant) [email protected] Mot de passe : 123456 Accédez à la page de l'administrateur
2. Étant donné que le fichier de base de données n'est pas téléchargé, toutes les données doivent être ajoutées manuellement (si les données json dans db_data sont introduites, ignorez les étapes 2 à 10)
3. Accédez à la page d'administrateur et modifiez d'abord les informations de votre compte (changer le mot de passe, etc.) et téléchargez l'avatar de l'utilisateur.
4. Ajoutez ensuite les informations sur l'article, les informations sur les paramètres du système et les informations sur l'image du carrousel (la commande n'est pas requise, l'ajout signifie remplir les informations du formulaire, sélectionner les fichiers image, etc.)
5. Notez que lors de la modification des informations de classification, l'icône des informations de classification doit être recherchée sur font-awesome, par exemple : fa-phone, fa-gift, etc.
Le format de nom de classe d'image recherché dans font-awesome est : fa fa-xxx-xxx, il vous suffit d'ajouter la partie fa-xxx-xxx après.
6. Après avoir ajouté les informations de base de la base de données, vous pouvez choisir de vous déconnecter et d'enregistrer un nouvel utilisateur (l'utilisateur enregistré est par défaut un utilisateur ordinaire)
Ou utilisez les droits d'ajout d'utilisateur de l'administrateur pour ajouter des utilisateurs ordinaires.
7. Une fois les données d'arrière-plan ajoutées, utilisez un compte utilisateur normal pour accéder à la page d'affichage de l'article frontal (si vous souhaitez que le contenu de la page soit plus riche).
Il est recommandé d'ajouter environ 15 informations sur l'article et environ 4 informations sur la catégorie)
8. Si vous souhaitez utiliser le compte administrateur pour accéder au site Web, ne vous déconnectez pas du compte administrateur. Ouvrez un nouvel onglet dans votre navigateur
Entrez localhost:3000 dans la barre d'adresse pour accéder à la première page d'affichage de l'article
9. Si l'administrateur active la fonction de commentaire, la fonction de commentaire sera affichée sur la page de détails de l'article de couverture. Si l'administrateur désactive la fonction de commentaire, la fonction de commentaire sera affichée sur la page de détails de l'article de couverture.
La page n'affiche pas la fonction de commentaire
10. Si l'administrateur active la fonction de révision des commentaires, les commentaires de l'utilisateur ne seront pas affichés immédiatement sur la page et l'administrateur doit être en arrière-plan.
Les commentaires sont examinés sur la page de gestion et ne seront affichés sur la page de l'article qu'après avoir été approuvés. Si l'administrateur désactive la fonction de commentaire, le
Il sera affiché sur la page de détails de l'article.
11. Si le projet ne peut toujours pas démarrer, veuillez me contacter au 1565066165
6.Adresse du projet
Page d'accueil : http://luoxu.ltd:3000/ (temporairement remplacée par http://luoxucoder.icu lors de l'enregistrement du nom de domaine)
Page de connexion : http://luoxu.ltd:3000/admin/login.html (de même)
Affichage des effets du projet
1. Page d'affichage des articles front-end
2. Page de classification des articles front-end
3. Page de détails de l'article frontal
4. Page de connexion
5. Page d'inscription
6.Page de gestion du backend
Fonction de projet
1. Fonctions utilisateur
1.1 Connexion
- Ajouter un événement de clic pour le bouton de connexion
- Obtenez le nom d'utilisateur et le mot de passe saisis par l'utilisateur dans la zone de texte
- Vérifiez si l'utilisateur a saisi le nom d'utilisateur et le mot de passe. Sinon, empêchez le programme de s'exécuter vers le bas et invitez l'utilisateur à saisir le nom d'utilisateur et le mot de passe.
- Appelez l'interface qui implémente la fonction de connexion. Si la connexion réussit, elle passera à la page d'accueil de la gestion des données. Si la connexion échoue, elle vous demandera que le nom d'utilisateur ou le mot de passe est incorrect.
1.2 Interception de connexion
- Utilisez la balise de script pour charger l'adresse d'interface fournie par le serveur
- Déterminez la valeur de la variable isLogin. Si la valeur est fausse, accédez à la page de connexion.
1.3 Ajouter un utilisateur
- Ajoutez un attribut de nom à chaque élément de formulaire qui ajoute des fonctions utilisateur, et la valeur de l'attribut de nom doit être cohérente avec le nom du paramètre requis dans le document d'interface.
- Liez l'événement de soumission au formulaire et empêchez le formulaire d'être soumis par défaut dans la fonction de gestionnaire d'événements.
- Obtenir le contenu saisi par l'utilisateur dans le formulaire dans la fonction de gestionnaire d'événements
- Appelez l'interface utilisateur d'ajout et envoyez le contenu obtenu au serveur via l'interface. Si l'opération réussit, la page sera actualisée. Si l'opération échoue, une invite utilisateur sera émise.
1.4 Afficher la liste des utilisateurs
- Envoyer une requête Ajax au serveur pour demander les données de la liste d'utilisateurs
- La deuxième étape consiste à utiliser le moteur de modèle pour fusionner les données et le modèle HTML.
- La troisième étape consiste à afficher le contenu épissé sur la page
1.5 Téléchargement de l'avatar de l'utilisateur
- Ajoutez un événement onchange au contrôle de sélection de fichier et obtenez le fichier sélectionné par l'utilisateur dans la fonction de gestion des événements.
- Créez un objet formData pour télécharger des fichiers image
- Appelez l'interface de téléchargement de fichiers image pour implémenter le téléchargement d'images
- Ajoutez un nouveau champ masqué dans le formulaire d'ajout d'un nouvel utilisateur et stockez l'adresse de l'image dans le champ masqué
1.6 Affichage de la liste des utilisateurs
- Envoyer une requête Ajax au serveur lors du chargement de la page pour demander les données de la liste d'utilisateurs
- Utilisez un moteur de modèles pour fusionner des données et des modèles HTML
- Afficher le contenu épissé sur la page
1.7 Modification des informations utilisateur
- Ajouter des événements pour les clics sur le bouton d'édition via la délégation d'événements
- Obtenir la valeur ID de l'utilisateur actuellement cliqué dans la fonction de gestion des événements
- Obtenez les informations détaillées de l'utilisateur en fonction de l'ID utilisateur et affichez les informations détaillées de l'utilisateur dans le formulaire de gauche via le moteur de modèle.
- Ajoutez un événement de clic pour le bouton de modification, obtenez le contenu saisi par l'utilisateur dans le formulaire dans la fonction de traitement d'événement et appelez l'interface de modification des informations utilisateur pour implémenter la fonction de modification des informations utilisateur.
1.8 Supprimer un utilisateur
- Ajouter un événement de clic pour le bouton Supprimer
- Confirmez si l'utilisateur souhaite supprimer l'opération
- Obtenez l'ID de l'utilisateur actuellement cliqué
- Appelez l'interface utilisateur de suppression pour supprimer l'utilisateur en fonction de l'ID. Si la suppression réussit, actualisez la page actuelle afin qu'elle affiche le contenu le plus récent.
1.9 Supprimer des utilisateurs par lots
- Gérer le statut coché des cases à cocher
- Lorsque le bouton Sélectionner tout est sélectionné, tous les utilisateurs sont sélectionnés ; lorsque le bouton Sélectionner tout est désélectionné, tous les utilisateurs sont désélectionnés.
- Lorsque l'état du bouton de case à cocher devant l'utilisateur est modifié, vérifiez si un utilisateur est dans un état non sélectionné. Si tel est le cas, annulez l'état sélectionné du bouton Sélectionner tout. Sinon, cela signifie que tous les utilisateurs sont dans un état non sélectionné. État sélectionné À ce moment, sélectionnez tous les boutons définis sur l'état sélectionné.
- Gérer l'état des boutons de suppression groupée
- Lorsque le bouton Sélectionner tout est sélectionné, le bouton Supprimer par lots s'affiche. Lorsque le bouton Sélectionner tout est désélectionné, le bouton Supprimer par lots est masqué.
- Lorsque l'état du bouton de la case à cocher devant l'utilisateur change, vérifiez l'état sélectionné de tous les utilisateurs. Si un utilisateur est sélectionné, affichez le bouton de suppression par lots. Si tous les utilisateurs ne sont pas sélectionnés, masquez le bouton de suppression par lots.
- Implémenter la fonction de suppression par lots des utilisateurs
- Ajoutez un événement de clic au bouton de suppression par lots Dans la fonction de traitement des événements de clic, stockez tous les ID utilisateur sélectionnés dans un tableau.
- Appelez l'interface utilisateur de suppression pour implémenter la fonction de suppression d'utilisateur
1.10 Changer le mot de passe
- Ajoutez un attribut de nom à chaque élément de formulaire dans le formulaire de modification de mot de passe. La valeur de l'attribut de nom doit être cohérente avec le nom du paramètre dans l'interface.
- Ajoutez un événement de soumission de formulaire au formulaire de changement de mot de passe et, dans la fonction de gestionnaire d'événements, empêchez le comportement de soumission par défaut du formulaire.
- Récupérer le contenu saisi par l'utilisateur dans le formulaire
- Appelez l'interface de modification du mot de passe pour implémenter la fonction de modification du mot de passe. Si le mot de passe est modifié avec succès, accédez à la page de connexion et autorisez l'utilisateur à se reconnecter.
1.11 Afficher les informations de l'utilisateur connecté
- Selon la valeur de la variable userId, obtenez les informations de l'utilisateur actuellement connecté auprès du serveur.
- Afficher les informations utilisateur sur le côté gauche de la page
2. Fonction de classement
2.1 Ajouter une catégorie
- Ajoutez un attribut name à chaque élément de formulaire du formulaire. La valeur de l'attribut name doit être cohérente avec le nom du paramètre requis dans le document d'interface.
- Ajoutez un événement de soumission de formulaire au formulaire et, dans la fonction de gestionnaire d'événements, empêchez le comportement par défaut de la soumission du formulaire.
- Récupérer le contenu saisi par l'utilisateur dans le formulaire
- Appelez l'interface d'ajout de catégorie pour implémenter la fonction d'ajout de catégorie
2.2 Affichage des données classifiées
- Envoyer une requête Ajax au serveur pour demander les données de la page de catégorie
- Utilisez un moteur de modèle pour fusionner les données renvoyées par le serveur avec le modèle HTML
- Afficher le contenu épissé sur la page
2.3 Modification des données classifiées
- Ajoutez un événement de clic au bouton d'édition via la délégation d'événement et obtenez l'ID des données de classification à modifier dans la fonction de traitement des événements.
- Appelez l'interface en fonction de l'identifiant pour obtenir des informations détaillées sur les données classifiées
- Utilisez le moteur de modèle pour fusionner les données classifiées et les caractères HTML. Une fois le couplage terminé, le contenu sera rendu dans la page.
- Ajoutez un événement de clic au bouton de modification et obtenez le contenu saisi par l'administrateur dans le formulaire dans la fonction de gestionnaire d'événements
- Appelez l'interface de données de classification de modification pour implémenter la fonction de modification des données de classification.
2.4 Suppression des données classifiées
- Ajoutez un événement de clic au bouton de suppression via la délégation d'événement, et la boîte de confirmation de suppression apparaît dans le gestionnaire d'événement de clic.
- Une fois que l'utilisateur a cliqué pour confirmer la suppression, obtenez l'ID des données classifiées à supprimer.
- Appelez l'interface de données de catégorie de suppression pour implémenter la fonction de suppression des données de catégorie. Si la catégorie est supprimée avec succès, actualisez la page.
3. Fonction des articles
3.1 Ajouter un article
- Obtenir les données de classification des articles et afficher les données dans la liste déroulante de la catégorie que l'administrateur devra sélectionner
- Téléchargez l'image de couverture de l'article et enregistrez l'adresse de l'image téléchargée dans un champ masqué
- Ajoutez un attribut de nom à chaque élément de formulaire dans le formulaire d'ajout d'article, et la valeur de l'attribut de nom doit être cohérente avec le nom du paramètre requis dans l'interface.
- Liez l'événement de soumission de formulaire au formulaire d'ajout d'article et empêchez le formulaire d'être soumis par défaut dans la fonction de gestionnaire d'événements.
- Récupérer le contenu saisi par l'administrateur dans le formulaire
- Envoyez une demande d'ajout d'article au serveur pour implémenter la fonction d'ajout d'article. Une fois l'article ajouté avec succès, il passera à la page de liste d'articles.
3.2 Affichage des données de la liste d'articles
- Lorsque la page apparaît, envoyez une demande au serveur pour obtenir les données de la liste d'articles.
- Utilisez le moteur de modèle pour fusionner les données de la liste d'articles et le code HTML. Une fois le couplage terminé, le contenu sera affiché sur la page.
- Implémenter la fonction de pagination des données de liste basée sur les données de pagination
3.3 Filtrage de la liste de données d'articles
- Envoyez une requête au serveur pour demander les données de classification de l'article et affichez les données dans la liste déroulante de la catégorie à laquelle il appartient.
- Ajoutez un événement de clic au bouton de filtre et obtenez le contenu sélectionné par l'utilisateur dans la fonction de gestionnaire d'événements
- Envoyer une requête au serveur pour demander les données de la liste d'articles demandées par l'administrateur et afficher les données sur la page
3.4 Édition des articles
- Ajoutez un lien vers le bouton d'édition et transmettez l'identifiant de l'article comme paramètre de requête du lien vers la page d'édition de l'article
- Récupérez le paramètre id dans la barre d'adresse de la page d'édition de l'article
- Obtenez les détails de l'article en fonction de l'identifiant et affichez les informations sur l'article dans le formulaire d'édition de l'article
- Liez l'événement de soumission de formulaire pour modifier le formulaire d'article et empêchez le formulaire d'être soumis par défaut dans la fonction de gestionnaire d'événements.
- Récupérer le contenu saisi par l'utilisateur dans le formulaire
- Envoyez une requête au serveur pour implémenter la fonction de modification des informations sur l'article. Si les informations sur l'article sont modifiées avec succès, accédez à la page de liste des articles.
3.5 Suppression d'articles
- Ajoutez un événement de clic au bouton de suppression via la délégation d'événement, affichez une boîte de confirmation de suppression dans la fonction de traitement des événements et confirmez l'opération de suppression avec l'administrateur.
- Récupérer l'identifiant de l'article à supprimer dans la fonction de gestionnaire d'événements
- Envoyez une requête Ajax pour effectuer l'opération de suppression. L'opération de suppression est réussie et la page est actualisée.
3.6 Recommandations d'articles populaires
Envoyer une demande au serveur pour les données de recommandation populaires
Utilisez un moteur de modèles pour fusionner des données et des modèles HTML, et afficher le contenu fusionné sur la page
var str = '<div>{{name}}</div>' ;
var obj = { name : '张三' }
var html = template . render ( str , obj ) ;
3.7 Recherche d'articles
- Lier l'événement de soumission du formulaire au formulaire de recherche
- Empêchez le comportement de soumission par défaut du formulaire dans le gestionnaire d'événements et obtenez les mots-clés de recherche saisis par l'utilisateur
- Accédez à la page des résultats de recherche et transmettez les mots-clés de recherche saisis par l'utilisateur à la page des résultats de recherche.
- Dans la page des résultats de recherche, les mots-clés saisis par l'utilisateur sont obtenus à partir des paramètres de requête dans la barre d'adresse.
- L'interface de recherche est appelée en fonction des mots-clés de recherche saisis par l'utilisateur. Lorsque le serveur renvoie les données, les données des résultats de recherche et le modèle HTML sont épissés, et le contenu épissé est finalement affiché sur la page.
4.Fonction commentaire
4.1 Affichage de la liste des commentaires
- Envoyer une requête au serveur pour obtenir les données de la liste de commentaires
- Utilisez un moteur de modèle pour fusionner les données de la liste de commentaires et le modèle HTML, puis affichez le contenu sur la page une fois le couplage terminé.
- Implémenter une fonction de pagination basée sur les données de pagination
4.2 Modération des commentaires
- Modifiez le texte du bouton de modération en fonction du statut actuel du commentaire. Si le commentaire actuel n'est pas examiné, le bouton affichera Approbation ; si le commentaire actuel est examiné, le bouton affichera Rejeter.
- Ajoutez un événement de clic au bouton de révision via la délégation d'événement et obtenez l'état du commentaire actuel dans la fonction de gestion des événements
- Envoyez une requête au serveur et indiquez au serveur dans quel état le commentaire doit être modifié. Si la modification réussit, actualisez la page afin que les dernières données soient affichées sur la page.
4.3 Suppression de commentaires
- Ajoutez un événement de clic au bouton de suppression via la délégation d'événement et affichez la boîte de confirmation de suppression dans la fonction de gestion des événements
- Obtenez la valeur d'identification du commentaire que l'administrateur souhaite supprimer
- Envoyez une demande au serveur pour supprimer le commentaire. Si le commentaire est supprimé avec succès, actualisez la page.
5. Fonction de graphique carrousel
5.1 Ajouter des données de carrousel d'images
- Implémentez la fonction de téléchargement d'image et enregistrez l'adresse de l'image téléchargée dans un champ caché
- Ajoutez un attribut de nom à chaque élément de formulaire dans le formulaire carrousel d'images. La valeur de l'attribut de nom doit être cohérente avec le nom du paramètre requis dans l'interface.
- Liez l'événement de soumission de formulaire au formulaire carrousel d'images et empêchez le formulaire d'être soumis par défaut dans la fonction de gestionnaire d'événements.
- Récupérer le contenu saisi par l'administrateur dans le formulaire
- Envoyez une demande au serveur pour implémenter la fonction d'ajout de données de carrousel d'images. Si les données sont ajoutées avec succès, actualisez la page.
5.2 Affichage des données du graphique carrousel
- Envoyer une demande au serveur pour les données de la liste du carrousel d'images
- Utilisez un moteur de modèle pour assembler les données de la liste du carrousel d'images et le modèle HTML. Une fois l'assemblage terminé, le contenu sera affiché sur la page.
5.3 Suppression des données du carrousel d'images
- Ajouter un événement de clic au bouton de suppression via la délégation d'événement
- Affichez la boîte de confirmation de suppression dans la fonction de gestionnaire d'événements
- Obtenez l'ID des données d'image du carrousel à supprimer
- Envoyez une requête au serveur pour effectuer l'opération de suppression. L'opération de suppression réussit et la page est actualisée.
5.4 Affichage des données du graphique carrousel (mis à jour)
- Envoyer une demande au serveur pour les données du carrousel
- Utilisez un moteur de modèle pour assembler des données et des chaînes HTML et afficher le contenu épissé sur la page
- Déplacez le code JavaScript original qui implémente l'effet carrousel à la fin de la fonction de réussite de la méthode ajax
6. Fonction de configuration du site Web
6.1 Paramètres du site Web
- Implémentez le téléchargement des images du logo du site Web et enregistrez l'adresse de l'image téléchargée dans un domaine caché
- Ajoutez un attribut name à chaque élément de formulaire du formulaire. La valeur de l'attribut name doit être cohérente avec le nom du paramètre requis dans le document d'interface.
- Liez l'événement de soumission au formulaire et empêchez le formulaire d'être soumis par défaut dans la fonction de gestionnaire d'événements.
- Récupérer le contenu saisi par l'administrateur dans le formulaire
- Envoyer une demande au serveur pour implémenter la fonction d'ajout de données de configuration du site Web
6.2 Afficher les données de configuration du site Web
- Envoyer une demande au serveur pour obtenir les données de configuration du site Web
- Déterminez si les données renvoyées par le serveur sont vraies. Si elles sont vraies, affichez les données dans le formulaire.
7. Dernière fonction de mise à jour du site Web
7.1 La page affiche les informations sur les commentaires de l'article
1. Recherchez les commentaires de l'article en fonction de l'identifiant de l'article
2. Les commentaires approuvés seront affichés directement sur la page
3. Les derniers commentaires ont été optimisés
4. Les commentaires non approuvés sur la page de gestion seront marqués en rouge
7.2 Optimisation des pages
1. Tous les boutons similaires implémentent la fonction similaire
2. Le lien de commentaire implémente la fonction de passage à l'article de commentaire
3. Tous les boutons de classification implémentent la fonction de passage à la page de classification
7.3 Page d'inscription
1. Ajout d'un bouton d'enregistrement d'utilisateur à la page de connexion
2. js sur la page d'inscription implémente une vérification de base des informations d'inscription frontale
3. Fonctions de page développées à l'aide de bootstrap
4. Tous les utilisateurs enregistrés sur la page d'inscription sont des utilisateurs ordinaires
5. Implémentation de la fonction de recherche d'utilisateurs en fonction de leurs adresses e-mail
Pour des informations détaillées, veuillez vous référer à la documentation de l'interface.