diff --git a/app/public/global.css b/app/public/global.css index 8e357d7..caac29b 100644 --- a/app/public/global.css +++ b/app/public/global.css @@ -404,3 +404,131 @@ p { .flex-between { justify-content: space-between; } .gap-sm { gap: var(--spacing-sm); } .gap-md { gap: var(--spacing-md); } + +/* ===== Navigation ===== */ +.navbar { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; + background-color: rgba(22, 27, 34, 0.95); + backdrop-filter: blur(10px); + border-bottom: 1px solid var(--border-color); + padding: var(--spacing-md) 0; +} + +.navbar-container { + display: flex; + align-items: center; + justify-content: space-between; + max-width: 1200px; + margin: 0 auto; + padding: 0 var(--spacing-md); +} + +.navbar-brand { + display: flex; + align-items: center; + gap: var(--spacing-sm); + font-size: 1.25rem; + font-weight: 700; + color: var(--text-primary); + text-decoration: none; +} + +.navbar-brand:hover { + color: var(--text-primary); + text-decoration: none; +} + +.navbar-brand img { + width: 32px; + height: 32px; + border-radius: 50%; +} + +.navbar-nav { + display: flex; + align-items: center; + gap: var(--spacing-lg); +} + +.navbar-link { + color: var(--text-secondary); + font-weight: 500; + text-decoration: none; + transition: color var(--transition-fast); +} + +.navbar-link:hover { + color: var(--text-primary); + text-decoration: none; +} + +.navbar-user { + display: flex; + align-items: center; + gap: var(--spacing-sm); + padding: var(--spacing-xs) var(--spacing-sm); + background-color: var(--bg-card); + border-radius: var(--border-radius); + border: 1px solid var(--border-color); +} + +.navbar-user img { + width: 28px; + height: 28px; + border-radius: 50%; +} + +.navbar-user span { + color: var(--text-primary); + font-weight: 500; +} + +.navbar-actions { + display: flex; + align-items: center; + gap: var(--spacing-sm); +} + +/* ===== Footer ===== */ +.footer { + padding: var(--spacing-xl) var(--spacing-md); + border-top: 1px solid var(--border-color); + text-align: center; + background-color: var(--bg-card); +} + +.footer-content { + max-width: 1200px; + margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; + gap: var(--spacing-md); +} + +.footer-links { + display: flex; + gap: var(--spacing-lg); + flex-wrap: wrap; + justify-content: center; +} + +.footer-links a { + color: var(--text-secondary); + text-decoration: none; + transition: color var(--transition-fast); +} + +.footer-links a:hover { + color: var(--primary); + text-decoration: none; +} + +.footer-copyright { + color: var(--text-muted); + font-size: 0.9rem; +} diff --git a/app/public/index.html b/app/public/index.html index 1e7a286..0d79011 100644 --- a/app/public/index.html +++ b/app/public/index.html @@ -120,10 +120,12 @@ diff --git a/app/public/privacy.html b/app/public/privacy.html new file mode 100644 index 0000000..c26925a --- /dev/null +++ b/app/public/privacy.html @@ -0,0 +1,227 @@ + + + + Politique de confidentialité - LazyBot + + + + + + + + + + + +
+
+

🔒 Politique de confidentialité

+

Dernière mise à jour : 17 janvier 2026

+ +
+

1. Introduction

+

+ Cette politique de confidentialité explique comment LazyBot ("le Bot", "nous") collecte, + utilise et protège vos informations lorsque vous utilisez nos services. + Nous nous engageons à protéger votre vie privée et à traiter vos données de manière transparente. +

+
+ +
+

2. Données collectées

+

Nous collectons uniquement les données nécessaires au fonctionnement du Bot :

+ +

2.1 Données de serveur

+
    +
  • ID du serveur : Pour identifier et stocker les configurations
  • +
  • ID des salons : Pour les fonctionnalités de messages automatiques
  • +
  • ID des rôles : Pour les fonctionnalités d'attribution de rôles
  • +
+ +

2.2 Données utilisateur

+
    +
  • ID Discord : Pour identifier les utilisateurs dans les systèmes de niveaux et d'économie
  • +
  • Nom d'utilisateur : Affiché temporairement dans les messages (non stocké)
  • +
  • Avatar : Utilisé dans le dashboard (récupéré via Discord, non stocké)
  • +
+ +

2.3 Données de progression

+
    +
  • Niveau et XP : Pour le système de niveaux
  • +
  • Solde et banque : Pour le système d'économie virtuelle
  • +
  • Horodatages : Pour gérer les cooldowns des commandes
  • +
+
+ +
+

3. Utilisation des données

+

Vos données sont utilisées exclusivement pour :

+
    +
  • Fournir les fonctionnalités du Bot (niveaux, économie, messages automatiques)
  • +
  • Sauvegarder vos configurations de serveur
  • +
  • Authentifier les administrateurs sur le dashboard
  • +
  • Améliorer nos services
  • +
+

+ Nous ne vendons jamais vos données. Nous ne partageons pas vos données avec des tiers + à des fins commerciales ou publicitaires. +

+
+ +
+

4. Stockage et sécurité

+
    +
  • Les données sont stockées dans une base de données SQLite sécurisée
  • +
  • L'accès aux données est limité et protégé
  • +
  • Les sessions du dashboard utilisent des cookies sécurisés
  • +
  • L'authentification passe par OAuth2 de Discord (nous ne stockons pas votre mot de passe)
  • +
+
+ +
+

5. Conservation des données

+

Les données sont conservées tant que :

+
    +
  • Données de serveur : Tant que le Bot est présent sur le serveur
  • +
  • Données utilisateur : Tant que l'utilisateur est membre d'un serveur utilisant le Bot
  • +
  • Sessions dashboard : Jusqu'à déconnexion ou expiration (24 heures)
  • +
+
+ +
+

6. Vos droits

+

Conformément aux réglementations en vigueur (notamment le RGPD), vous avez le droit de :

+
    +
  • Accès : Demander quelles données nous avons sur vous
  • +
  • Rectification : Demander la correction de données inexactes
  • +
  • Suppression : Demander la suppression de vos données
  • +
  • Portabilité : Recevoir vos données dans un format lisible
  • +
  • Opposition : Vous opposer au traitement de vos données
  • +
+
+ +
+

7. Suppression des données

+

Pour supprimer vos données :

+
    +
  • Données de serveur : Retirez le Bot de votre serveur - les données seront automatiquement supprimées
  • +
  • Données personnelles : Contactez-nous via le serveur Discord de support
  • +
+

+ La suppression est effectuée dans un délai de 30 jours maximum après la demande. +

+
+ +
+

8. Cookies

+

Le dashboard utilise des cookies essentiels pour :

+
    +
  • Maintenir votre session de connexion
  • +
  • Assurer la sécurité de votre compte
  • +
+

+ Nous n'utilisons pas de cookies de tracking ou publicitaires. +

+
+ +
+

9. Services tiers

+

Le Bot interagit avec les services suivants :

+ +
+ +
+

10. Mineurs

+

+ Le Bot respecte les conditions d'utilisation de Discord concernant l'âge minimum (13 ans, ou plus selon les pays). + Nous ne collectons pas sciemment de données sur des enfants en dessous de l'âge requis. +

+
+ +
+

11. Modifications

+

+ Cette politique peut être mise à jour occasionnellement. Les modifications seront publiées sur cette page + avec une date de mise à jour. Nous vous encourageons à consulter régulièrement cette page. +

+
+ +
+

12. Contact

+

+ Pour toute question concernant cette politique de confidentialité ou pour exercer vos droits, + contactez-nous via notre serveur Discord de support. +

+
+ + +
+
+ + + + + + + diff --git a/app/public/tos.css b/app/public/tos.css new file mode 100644 index 0000000..da3cd38 --- /dev/null +++ b/app/public/tos.css @@ -0,0 +1,121 @@ +/* ===== TOS Page Styles ===== */ + +body { + padding-top: 80px; /* Espace pour la navbar fixed */ +} + +.tos-container { + max-width: 900px; + margin: 0 auto; + padding: 2rem; + min-height: calc(100vh - 200px); +} + +.tos-content { + background: var(--bg-secondary); + border-radius: var(--radius-lg); + padding: 3rem; + border: 1px solid var(--border-color); +} + +.tos-content h1 { + font-size: 2.5rem; + margin-bottom: 0.5rem; + color: var(--text-primary); +} + +.tos-updated { + color: var(--text-muted); + font-size: 0.9rem; + margin-bottom: 2.5rem; + padding-bottom: 1.5rem; + border-bottom: 1px solid var(--border-color); +} + +.tos-section { + margin-bottom: 2rem; +} + +.tos-section h2 { + font-size: 1.4rem; + color: var(--text-primary); + margin-bottom: 1rem; + padding-bottom: 0.5rem; + border-bottom: 2px solid var(--accent-primary); + display: inline-block; +} + +.tos-section h3 { + font-size: 1.1rem; + color: var(--text-primary); + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tos-section p { + color: var(--text-secondary); + line-height: 1.7; + margin-bottom: 1rem; +} + +.tos-section ul { + list-style: none; + padding: 0; + margin: 1rem 0; +} + +.tos-section ul li { + position: relative; + padding-left: 1.5rem; + margin-bottom: 0.75rem; + color: var(--text-secondary); + line-height: 1.6; +} + +.tos-section ul li::before { + content: "•"; + position: absolute; + left: 0; + color: var(--accent-primary); + font-weight: bold; +} + +.tos-section ul li strong { + color: var(--text-primary); +} + +.tos-section a { + color: var(--accent-primary); + text-decoration: none; + transition: color var(--transition-fast); +} + +.tos-section a:hover { + color: var(--accent-secondary); +} + +.tos-back { + margin-top: 3rem; + padding-top: 2rem; + border-top: 1px solid var(--border-color); + text-align: center; +} + +/* ===== Responsive ===== */ +@media (max-width: 768px) { + .tos-container { + padding: 1rem; + } + + .tos-content { + padding: 1.5rem; + } + + .tos-content h1 { + font-size: 1.8rem; + } + + .tos-section h2 { + font-size: 1.2rem; + } +} diff --git a/app/public/tos.html b/app/public/tos.html new file mode 100644 index 0000000..8cfef73 --- /dev/null +++ b/app/public/tos.html @@ -0,0 +1,192 @@ + + + + Conditions d'utilisation - LazyBot + + + + + + + + + + + +
+
+

📜 Conditions d'utilisation

+

Dernière mise à jour : 17 janvier 2026

+ +
+

1. Acceptation des conditions

+

+ En utilisant LazyBot ("le Bot"), vous acceptez d'être lié par ces conditions d'utilisation. + Si vous n'acceptez pas ces conditions, veuillez ne pas utiliser le Bot. +

+
+ +
+

2. Description du service

+

+ LazyBot est un bot Discord offrant diverses fonctionnalités incluant, mais sans s'y limiter : +

+
    +
  • Système de niveaux et d'expérience
  • +
  • Système d'économie virtuelle
  • +
  • Messages de bienvenue et d'au revoir personnalisés
  • +
  • Attribution automatique de rôles
  • +
  • Dashboard de configuration web
  • +
+
+ +
+

3. Utilisation acceptable

+

En utilisant le Bot, vous vous engagez à :

+
    +
  • Respecter les Conditions d'utilisation de Discord
  • +
  • Ne pas utiliser le Bot à des fins illégales ou nuisibles
  • +
  • Ne pas tenter de contourner, désactiver ou interférer avec les fonctionnalités de sécurité du Bot
  • +
  • Ne pas abuser des fonctionnalités du Bot (spam, exploitation de bugs, etc.)
  • +
  • Ne pas utiliser le Bot pour harceler d'autres utilisateurs
  • +
+
+ +
+

4. Données collectées

+

+ Le Bot collecte et stocke certaines données nécessaires à son fonctionnement : +

+
    +
  • Identifiants Discord : ID de serveur, ID d'utilisateur, ID de salon
  • +
  • Données de configuration : Paramètres configurés via le dashboard
  • +
  • Données de progression : Niveaux, XP, solde d'économie virtuelle
  • +
  • Horodatages : Pour gérer les cooldowns et fonctionnalités temporelles
  • +
+

+ Ces données sont stockées de manière sécurisée et ne sont jamais partagées avec des tiers. + Elles sont utilisées uniquement pour le fonctionnement du Bot. +

+
+ +
+

5. Suppression des données

+

+ Vous pouvez demander la suppression de vos données à tout moment en : +

+
    +
  • Retirant le Bot de votre serveur (supprime les données du serveur)
  • +
  • Contactant l'équipe de support pour une suppression manuelle
  • +
+
+ +
+

6. Disponibilité du service

+

+ Le Bot est fourni "tel quel" sans garantie de disponibilité permanente. Nous nous réservons le droit de : +

+
    +
  • Modifier ou interrompre le service à tout moment
  • +
  • Effectuer des maintenances sans préavis
  • +
  • Limiter ou révoquer l'accès au Bot en cas d'abus
  • +
+
+ +
+

7. Limitation de responsabilité

+

+ En aucun cas, les développeurs de LazyBot ne pourront être tenus responsables de : +

+
    +
  • Dommages directs ou indirects résultant de l'utilisation du Bot
  • +
  • Perte de données ou interruption de service
  • +
  • Actions d'utilisateurs tiers utilisant le Bot
  • +
+
+ +
+

8. Modifications des conditions

+

+ Nous nous réservons le droit de modifier ces conditions à tout moment. + Les modifications entreront en vigueur dès leur publication. + L'utilisation continue du Bot après modification constitue une acceptation des nouvelles conditions. +

+
+ +
+

9. Contact

+

+ Pour toute question concernant ces conditions d'utilisation, vous pouvez nous contacter via + notre serveur Discord de support. +

+
+ + +
+
+ + + + + + + diff --git a/app/server.js b/app/server.js index 94c2dc9..a9643f9 100644 --- a/app/server.js +++ b/app/server.js @@ -81,6 +81,14 @@ app.get("/dashboard", (req, res) => { res.sendFile(path.join(__dirname, "public", "dashboard.html")); }); +app.get("/tos", (req, res) => { + res.sendFile(path.join(__dirname, "public", "tos.html")); +}); + +app.get("/privacy", (req, res) => { + res.sendFile(path.join(__dirname, "public", "privacy.html")); +}); + // --- Lancement du serveur --- app.listen(PORT, () => console.log(`Serveur lancé sur http://localhost:${PORT}`)); \ No newline at end of file