Titre : WEBAPP DE GESTION DE SITE WEB
Lien de démonstration : http://52.28.221.30/account/
Description
Dans ce projet, j'ai développé un système de gestion de site Web avec lequel vous pouvez effectuer les opérations suivantes :
1 : Inscrivez-vous, connectez-vous et récupérez le mot de passe.
2 : Téléchargez, modifiez et supprimez les images de votre site Web.
3 : Écrivez, modifiez et supprimez les informations de votre site Web telles que : À propos de nous, Nos services, etc.
4 : Visualisez et analysez vos statistiques de visiteurs et d’utilisateurs. 5 : Une API pour se connecter et interroger la base de données.
Les langages incluent : PHP, MYSQL (PDO), Javascript, HTML5 et CSS.
COMMENT UTILISER :
Base de données :
Vous aurez besoin de XAMPP exécutant PHP 8+, changez le nom d'utilisateur et le mot de passe mysql en (adminui,#J4dIg0Mn4PiJm0Ck4#) respectivement, modifiez les détails de la base de données dans le fichier de configuration phpmyadmin si vous décidez d'utiliser des détails différents .
Récapitulatif :
dans le fichier .env, créez la variable SECRET_KEY et attribuez-la à votre google recatcha secrect_key et également à la ligne 8 de account.settings.js remplacez la clé du site par la vôtre.
SMTP :
dans le fichier .env, créez les variables SMTP_EMAIL et SMTP_PASS et attribuez-les à vos propres informations.
Variable hôte :
La variable HOST dans config.php contient le domaine racine de la machine, remplacez-le pour qu'il corresponde au vôtre.
Variable du dossier d'images :
La variable Img_folder dans config.php contient le dossier dans lequel stocker les images, remplacez-le pour qu'il corresponde au vôtre.
Variable MAX REG :
La variable MAX_REG dans config.php contient le nombre d'utilisateurs (administrateurs) que vous souhaitez autoriser.
Suivi des statistiques des visiteurs
Ajoutez require_once('includes/tracking.php'); en haut de login.php ou de toute autre page/fichier de votre choix, vous pouvez également faire une demande à *votredomaine/compte/tracking.php pour enregistrer une visite.
FICHIERS :
config.php :
ce fichier est constitué des variables globales et de l'initialisation de la base de données.
fonctions.php :
dans ce fichier se trouvent toutes les fonctions partagées, cela nécessite les fonctionnalités de config.php .
index.php :
c'est le support principal de toutes les pages, il bascule entre les pages en fonction de la valeur de l' action et de la subAction à partir des paramètres url action et subAction respectivement, il nécessite les fonctionnalités de function.php , include/actions.php , include/header .php , inclut/footer.php .
connexion.php :
ce fichier contient la logique d'authentification de connexion, il nécessite les fonctionnalités de function.php .
déconnexion.php :
ce fichier pour la destruction de session et la déconnexion de l'utilisateur, il nécessite les fonctionnalités de function.php .
recorver-password.php :
ce fichier est destiné à la récupération de mot de passe, il nécessite les fonctionnalités de function.php .
inscription.php :
ce fichier contient la logique d'authentification d'inscription, il nécessite les fonctionnalités de function.php .
suivi.php :
ce fichier est destiné au suivi et à l'enregistrement des informations d'un visiteur via son IP, il nécessite les fonctionnalités de fonctions.php .
api.handledata.php :
ce fichier contient toutes les logiques de manipulation des données comme le téléchargement, la modification et la suppression de données, il nécessite les fonctionnalités de fonctions.php .
js/account.settings.js :
ce fichier contient la logique et les fonctionnalités javascript telles que Google Recaptcha, l'envoi de requêtes XML au backend, les interactions entre les pages, l'enregistrement de la différence de pourcentage des statistiques des utilisateurs et des visiteurs, et nécessite certaines fonctionnalités de include/footer.php .
css/compte.style.css :
ce fichier contient tout le style de ce programme.
inclut/actions.php :
ce fichier contient les fonctions permettant d'organiser et d'afficher le code HTML de la page et ses données comme décidé par index.php , il nécessite certaines fonctionnalités de function.php .
inclut/header.php :
ce fichier contient les fonctions permettant d'afficher les parties d'en-tête et de tête du site Web dans son ensemble, il nécessite certaines fonctionnalités de function.php et include/tags.php .
inclut/tags.php :
ce fichier contient toutes les balises méta HTML et les liens de fichiers à ajouter dans la partie d'en-tête de l'ensemble du site Web, afin de permettre aux pages individuelles d'avoir leur propre titre.
inclut/footer.php :
ce fichier contient toute la partie pied de page du code HTML et du javascript de l'ensemble du site Web.
images :
ce dossier contient toutes les images téléchargées.
fournisseur :
ce dossier contient des plugins php comme autoload et symphony.
composer.lock & composer.json :
il s'agit d'un package php pour installer des packages et des plugins.
Comment utiliser l'API
Se connecter
Pour vous connecter, vous devez d'abord créer un compte sur la page Web, puis fournir l'e-mail et le mot de passe sous forme de données JSON, par exemple {"email": "[email protected]", "password": "testing12345"}, envoyer une demande de publication sur http://52.28.221.30/account/api/login.php et vous obtiendrez un jeton ( le jeton expire dans 48 heures ). Exemple de réponse const data = {"success":true,"message": "Connexion réussie", "access_token": "ac9e4fd897999fa3419bec77718de76c"}. Avec le jeton d'accès, vous pouvez effectuer des opérations brutes.
Opérations de brut
Cet accès est réservé aux utilisateurs connectés. Pour cela, vous devrez envoyer une demande de publication à http://52.28.221.30/account/handledata.php
En-têtes : pour que cette opération réussisse, vous devrez définir un en-tête avec le jeton d'accès comme autorisation, par exemple const HEADERS = {"Content-Type": "application/json","Authorisation": "Bearer a3f714e812578a46d97f703ed2a99b59" }.
Corps de la requête : il existe deux opérations principales, Images et Textes, vous devez fournir des données json conformément à l'opération.
Images :
Données d'image : const data = {"data": [{"old_name": "example.extension", "image_name": "example.extension", "image_blob": "contient les données base64 de l'image", "xtension":to être spécifié si opération=upload}],"origin": "api_req", "type": "image", "category": "galleries", "sub_category": "à spécifier (images du site, tatouages, peintures)", "opération": "à préciser (modifier, supprimer, télécharger)", "état": "modifié"}
Textes :
Données texte : const data = {"data": à préciser,"origin": "api_req", "type": "textual", "category": "à propos/services", "sub_category": "à préciser" ,"opération": "à préciser","état": "modifié"}
Obtention de données : pour obtenir des données, envoyez une requête Get à http://52.28.221.30/account/api/readdata.php, en spécifiant l' action , la sous-action , la page et la limite .
par exemple demande : http://52.28.221.30/account/api/readdata.php?action=galleries&sub=site-images&page=0&limit=4,
Par exemple, réponse : {'success' : True, 'page' : '0', 'limit' : '4', 'total_data_count' : 12, 'data_count' : 4, 'data' : [{'img_url' : 'http ://127.0.0.1/backend/account/images/site-images/favicon-sm.ico'}, {'img_url' : 'http://127.0.0.1/backend/account/images/site-images/favicon-lg.ico'}, {'img_url' : 'http://127.0.0.1/backend/account/images/site-images /23891556799905703.png'}, {'img_url' : 'http://127.0.0.1/backend/account/images/site-images/youtube-circle-black.png'}]}