arrow_back RDTvlokip Search
gavel Mentions Légales
description

Mentions Légales

Dernière mise à jour : 16 mars 2026 à 19:41 (CET)

1. Éditeur du site

Le site RDTvlokip Search est un moteur de recherche personnel développé et maintenu par :

Théo CHARLET (alias RDTvlokip)
Site web : rdtvlokip.fr
GitHub : github.com/RDTvlokip
Contact : contact@rdtvlokip.fr
Statut : Particulier (projet personnel non commercial)

2. Hébergement

Ce site est hébergé sur un serveur dédié :

  • Hébergeur : Hetzner Online GmbH
  • Localisation : Nuremberg, Allemagne
  • Type : Serveur dédié (VPS/Dedicated)
  • Responsable technique : Théo CHARLET

Hetzner Online GmbH
Industriestr. 25, 91710 Gunzenhausen, Allemagne
Site web : www.hetzner.com

Les données sont stockées exclusivement sur ce serveur et ne transitent par aucun autre service cloud tiers. Hetzner est conforme au RGPD en tant qu'hébergeur européen.

3. Objet du service

RDTvlokip Search est un moteur de recherche personnel permettant d'indexer et de rechercher du contenu web préalablement collecté (crawlé). Ce service est fourni à titre privé, éducatif et non commercial.

Fonctionnalités principales

  • Recherche full-text sur plus de +2 500 000 pages indexées
  • Recherche avancée avec opérateurs (site:, intitle:, inurl:, filetype:, OR, AND)
  • Historique de recherche 100% local (localStorage, jamais transmis au serveur)
  • Suggestions de recherche en temps réel (autocomplete)
  • Featured snippets (extraits mis en avant)
  • Personnalisation du classement par l'utilisateur (sliders)
  • Transparence des scores (détail du calcul pour chaque résultat)
  • Raccourcis personnels (favoris)
  • Preuve de non-tracking en temps réel
  • Soumission de site pour indexation prioritaire (/soumettre) : vérification de propriété par balise <meta name="rdtvlokip-verify">, bot automatique toutes les 15 minutes, maximum 5 tentatives, expiration après 7 jours
  • Page d'inspection d'URL (/inspection) : état de découverte, exploration, indexation et vérification d'un domaine
  • Graphe interactif des connexions entre domaines (/network)
  • Graphiques de progression du crawling (/graph)
  • Explorer (/explorer) : agrégateur de contenu frais via flux RSS de 22 sources francophones (Tech, Actualités, Science, Économie, Culture, Sport), mis à jour toutes les 15 minutes, aucun contenu stocké, images proxifiées pour zéro cookie tiers
  • Messagerie interne (/mail) : comptes @rdtvlokip.fr, chiffrement LISP-8 + AES, anti-bot (honeypot + délai + activation par message), système d'alertes par mot-clé, suppression automatique après 1 an
  • Éditeur de texte (/editeur) : éditeur WYSIWYG avec format propriétaire .rdt (RDTVLOKIP_DOC_V1), chiffrement LISP-8 + AES-128, export/import de documents chiffrés
  • Audit cookies par route (/preuve) : scan côté serveur de toutes les routes avec détection des cookies HttpOnly, bouton de suppression complète

Technologies utilisées

  • Backend : Python 3.x avec Flask
  • Base de données : SQLite avec extension FTS5
  • Algorithme de classement : BM25 adaptatif + PageRank + 22 signaux de scoring + synonymes français + stemming (vectorisé NumPy)
  • Cache : Système LRU en mémoire (top 1000 requêtes)
  • Serveur web : Nginx avec HTTP/2 et HTTP/3 (QUIC)
  • Frontend : HTML5, CSS3, Tailwind CSS v4
  • Hébergement : 100% self-hosted (polices, images, CSS — aucun CDN externe)

4. Propriété intellectuelle

© 2026 Théo CHARLET. Tous droits réservés.

Le code source, le design, les algorithmes et la marque "RDTvlokip Search" sont la propriété exclusive de Théo CHARLET.

Les contenus indexés (pages web) restent la propriété de leurs auteurs et éditeurs respectifs. RDTvlokip Search ne revendique aucun droit sur ces contenus et agit uniquement en tant qu'intermédiaire technique.

Licence du projet

Ce projet est développé à titre personnel. Le code source est propriétaire (tous droits réservés) et ne sera jamais publié ou mis en ligne. Toute reproduction, modification, distribution ou utilisation du code source sans autorisation écrite est strictement interdite.

5. Responsabilité éditoriale

En tant qu'agrégateur de contenu, RDTvlokip Search :

  • Ne crée pas de contenu original (hormis l'interface utilisateur)
  • Ne modifie pas le contenu des pages indexées
  • N'exerce pas de contrôle éditorial sur les sites tiers
  • S'engage à retirer tout contenu signalé comme illicite dans les plus brefs délais

Signalement de contenu

Pour signaler un contenu inapproprié ou demander le retrait d'une page de l'index, veuillez contacter l'éditeur à contact@rdtvlokip.fr avec les informations suivantes :

  • URL de la page concernée
  • Motif de la demande
  • Preuve de votre qualité à agir (si applicable)
lock

Politique de Confidentialité

Protection de vos données

1. Données collectées

Dans le cadre de l'utilisation du moteur de recherche, les données suivantes peuvent être collectées :

Données de recherche

  • Requêtes de recherche — enregistrées uniquement lors d'un clic sur un résultat (CTR), utilisées pour améliorer le classement, non liées à un profil utilisateur ni à une adresse IP, supprimées automatiquement après 90 jours
  • Clics sur les résultats (pour améliorer le classement)
  • Horodatage des recherches

Données de messagerie (@rdtvlokip.fr)

  • Nom d'utilisateur (choisi librement, aucune donnée personnelle requise)
  • Mot de passe haché avec bcrypt (irréversible)
  • Messages chiffrés avec l'algorithme LISP-8 (chiffrement par blocs Unicode multi-alphabet avec injection de bruit, clé unique par message) — les clés de chiffrement sont elles-mêmes protégées par AES-128 (Fernet) — le contenu en clair n'est jamais stocké en base
  • Messages automatiquement supprimés après 1 an
  • Messagerie interne uniquement — aucun envoi/réception externe (pas de SMTP/IMAP/POP3)

Accès administrateur et engagement de non-lecture

L'administrateur dispose techniquement d'un accès aux données chiffrées via la clé maître serveur (utilisée pour protéger les clés individuelles de chaque compte via AES-128 Fernet). Cet accès est une conséquence de l'architecture de chiffrement côté serveur. L'administrateur s'engage à ne jamais lire, consulter ni exploiter le contenu des messages des utilisateurs. Cet engagement est présenté et accepté explicitement par chaque utilisateur lors de la création de son compte.

Système d'alertes

Le système d'alertes vous permet d'être notifié automatiquement lorsqu'une nouvelle page web correspondant à un mot-clé de votre choix est indexée par RDTvlokip Search.

  • Comment ça marche : depuis l'onglet "Alertes" de la messagerie (/mail), ajoutez un ou plusieurs mots-clés à surveiller. Chaque jour, le système recherche automatiquement les nouvelles pages indexées correspondant à vos mots-clés.
  • Notification : si de nouvelles pages sont trouvées, vous recevez un message chiffré dans votre boîte de réception avec le titre et le lien de chaque page découverte.
  • Limites : maximum 20 alertes par compte, mot-clé entre 2 et 100 caractères. Chaque alerte ne signale que les pages indexées depuis le dernier scan — aucune page n'est notifiée deux fois.
  • Données stockées : uniquement le mot-clé et la date du dernier scan. Vous pouvez supprimer vos alertes à tout moment depuis l'interface.

Éditeur de texte RDT (/editeur)

L'éditeur de texte intégré permet de créer et modifier des documents au format propriétaire .rdt (RDTVLOKIP_DOC_V1).

  • Chiffrement : le titre et le contenu de chaque document sont chiffrés avec LISP-8 (clé unique par document), la clé est protégée par AES-128 (Fernet)
  • Format .rdt : header RDTVLOKIP_DOC_V1 + JSON chiffré encodé en Base64. Le fichier contient le titre chiffré, le contenu chiffré et la clé AES (elle-même chiffrée par la clé maître serveur)
  • Portabilité : les fichiers .rdt sont liés à l'infrastructure RDTvlokip. Ils ne peuvent pas être déchiffrés sur un autre serveur. Exportez vos données en format clair (copier-coller) avant toute migration
  • Stockage : base de données séparée, indépendante de la messagerie
  • Authentification : même compte @rdtvlokip.fr que la messagerie

Données techniques

  • Adresse IP (logs serveur Nginx uniquement, non stockée par l'application, supprimée après 14 jours maximum)
  • Type de navigateur (User-Agent, logs serveur uniquement, supprimé après 14 jours maximum)

2. Utilisation des données

Les données collectées sont utilisées exclusivement pour :

  • Améliorer la pertinence des résultats de recherche
  • Optimiser les performances du cache
  • Analyser l'utilisation du service à des fins d'amélioration

Aucune donnée n'est vendue, partagée ou transmise à des tiers.

3. Stockage et sécurité

Les données sont stockées localement dans une base de données SQLite sécurisée. Aucun service cloud externe n'est utilisé pour le stockage des données utilisateur.

Les mesures de sécurité suivantes sont en place :

  • Protection contre les injections XSS (échappement HTML systématique)
  • Protection contre les injections SQL (requêtes paramétrées, sanitisation FTS5)
  • Protection contre le path traversal (validation des chemins)
  • Protection CSRF (token double-submit cookie signé HMAC-SHA256 sur les endpoints POST)
  • Protection anti-SSRF (vérification DNS + IP privée avant requêtes sortantes du bot de vérification)
  • Rate limiting sur tous les endpoints (anti brute-force / DDoS applicatif)
  • Validation et sanitisation de toutes les entrées utilisateur (taille bornée, regex strict)
  • Blocage des adresses IP et domaines réservés dans les soumissions
  • Authentification par clé API (header uniquement) pour les endpoints d'administration
  • Headers de sécurité : HSTS, X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy, Permissions-Policy
  • Accès restreint à la base de données
  • Pas de transmission de données vers l'extérieur
  • Données hébergées sur infrastructure privée
  • Masquage de la version du serveur (server_tokens off) pour limiter l'exposition aux attaques ciblées
  • Verrouillage fichier (FileLock) pour les opérations concurrentes crawler/bot de vérification
  • Messagerie : mots de passe bcrypt, tokens HMAC-SHA256 timing-safe, contenu chiffré LISP-8 + clés AES-128 (Fernet), cookies HttpOnly/SameSite/Secure, rate limiting strict, noms réservés bloqués, protection CSRF sur tous les endpoints
  • Logging structuré (module Python logging) — aucun print() en production
  • Anti spam-farm : limite de sous-domaines par domaine parent + blocklist de domaines malveillants

4. Cookies et stockage local

RDTvlokip Search n'utilise aucun cookie de tracking, publicitaire ou analytique.

Un seul cookie technique est utilisé :

  • csrf_token : cookie de sécurité anti-CSRF, uniquement sur la page de soumission de site (/soumettre). Il expire après 1 heure, est marqué SameSite=Strict et Secure. Il ne contient aucune donnée personnelle.
  • mail_token : cookie d'authentification pour la messagerie interne (/mail). Token signé HMAC-SHA256 contenant uniquement le nom d'utilisateur et un horodatage. Expire après 7 jours, marqué HttpOnly, SameSite=Strict.

Le site utilise le stockage local du navigateur (localStorage) uniquement pour :

  • Vos raccourcis personnels (sites favoris)
  • Vos préférences de classement (sliders Pertinence, Autorité, Profondeur)
  • Votre historique de recherche (stocké uniquement dans votre navigateur)

Ces données ne sont jamais transmises à nos serveurs. Elles restent exclusivement dans votre navigateur et vous pouvez les supprimer à tout moment.

5. Vos droits

Conformément au RGPD, vous disposez des droits suivants :

  • Droit d'accès : obtenir une copie de vos données
  • Droit de rectification : corriger vos données
  • Droit à l'effacement : supprimer vos données
  • Droit à la portabilité : recevoir vos données dans un format lisible

Pour exercer ces droits, contactez l'éditeur à contact@rdtvlokip.fr.

6. Contenu indexé

Le contenu indexé par le moteur de recherche provient de sites web publics. RDTvlokip Search n'est pas responsable du contenu des pages indexées.

Si vous êtes propriétaire d'un contenu et souhaitez qu'il soit retiré de l'index, veuillez contacter l'éditeur à contact@rdtvlokip.fr.

Demande de non-indexation

  • Ajouter <meta name="robots" content="noindex"> dans votre HTML
  • Ou ajouter dans votre robots.txt :
    User-agent: RDTvlokipBot
    Disallow: /

Notre crawler (RDTvlokipBot) respecte ces directives.

help

Conditions d'Utilisation

Règles d'usage du service

1. Acceptation des conditions

En utilisant RDTvlokip Search, vous acceptez les présentes conditions d'utilisation. Si vous n'acceptez pas ces conditions, veuillez ne pas utiliser le service.

2. Usage autorisé

Le service est destiné à un usage personnel et non commercial. Vous vous engagez à :

  • Utiliser le service de manière responsable
  • Ne pas tenter de surcharger ou perturber le service
  • Ne pas utiliser de systèmes automatisés pour effectuer des requêtes massives
  • Respecter les droits de propriété intellectuelle

3. Limitation de responsabilité

Le service est fourni "en l'état" sans garantie d'aucune sorte. L'éditeur ne peut être tenu responsable :

  • De l'exactitude ou de la pertinence des résultats de recherche
  • Du contenu des sites tiers indexés
  • Des interruptions ou dysfonctionnements du service
  • De toute perte de données

4. Propriété intellectuelle

Le code source, le design et la marque RDTvlokip Search sont la propriété de l'éditeur. Les contenus indexés restent la propriété de leurs auteurs respectifs.

5. Modifications

L'éditeur se réserve le droit de modifier ces conditions à tout moment. Les utilisateurs seront informés des modifications majeures.

6. Droit applicable

Les présentes conditions sont régies par le droit français. En cas de litige, les tribunaux français seront seuls compétents.

layers

Spécifications Techniques

Architecture et fonctionnement du moteur

1. Architecture globale

Composant Technologie Version
Reverse proxyNginx + HTTP/2 + HTTP/3 (QUIC)1.XX
Serveur webFlask (Python)3.x
Base de donnéesSQLite + FTS53.35+
Algorithme de rankingBM25 (natif FTS5)-
CacheLRU en mémoire1000 requêtes
PageRankscipy (matrices creuses)-
FrontendTailwind CSS4.x

2. Algorithme de classement

Le classement des résultats utilise une combinaison de 22 signaux, calculés en temps réel et vectorisés avec NumPy. Les poids BM25 s'adaptent automatiquement au type de requête (navigationnelle, informationnelle ou mixte) :

  • Score BM25 adaptatif : pertinence textuelle via FTS5 avec poids adaptatifs selon l'intention — navigationnelle (titre x25, desc x3, contenu x0.5), informationnelle (titre x10, desc x7, contenu x3), mixte (titre x15, desc x5, contenu x1)
  • PageRank : autorité de la page basée sur les liens entrants (calcul par matrices creuses scipy)
  • Boost titre : +50 points si le terme apparaît dans le titre
  • Correspondance URL : +25 points par terme présent dans l'URL
  • Autorité du domaine : multiplicateur basé sur les domaines de confiance reconnus
  • Synonymes français : expansion automatique des requêtes avec ~200 groupes de synonymes organisés en 16 catégories (transport, tech, santé, éducation, finance, juridique, etc.)
  • Stemming français : réduction morphologique avec ~80 suffixes (minimum 3 caractères après réduction), ~170 stop words, 14 règles de pluriels irréguliers (travaux→travail, vitraux→vitrail, etc.) et filtrage de ~70 mots interrogatifs
  • CTR (Click-Through Rate) : bonus pour les pages souvent cliquées
  • Profondeur URL : pénalité pour les URLs très profondes (> 4 niveaux)
  • Détection URL spam : pénalité pour les URLs anormalement longues (>150 caractères) ou contenant trop de paramètres (>3)
  • Qualité du contenu : pénalité pour les pages pauvres (<50 mots x0.5, <100 mots x0.75), bonus pour les contenus riches (>500 mots x1.1)
  • HTTPS : bonus x1.05 pour les sites sécurisés HTTPS, pénalité x0.90 pour les sites HTTP
  • Qualité du titre : pénalité pour les pages sans titre (x0.6), titre trop court (x0.7) ou trop long (x0.85)
  • Qualité de la description : pénalité pour les pages sans description (x0.75) ou description trop courte (x0.85), bonus pour les descriptions de bonne longueur (x1.05)
  • Détection de langue : pénalité pour les pages non-francophones détectées par l'absence de mots français courants dans le titre et la description
  • Domaine exact : +500 points si le terme recherché correspond exactement au nom de domaine du résultat
  • Proximité des termes : bonus x1.25 quand les mots de la requête apparaissent adjacents dans le titre ou la description, pénalité x0.90 si très éloignés
  • Page racine : bonus x1.30 pour les pages d'accueil lors de requêtes navigationnelles (ex: "lemonde.fr" → favorise la homepage)
  • Détection de spam cross-domain : pénalité x0.3 si un même titre apparaît sur 3+ domaines différents (contenu dupliqué/généré)
  • Dédoublonnage intra-domaine : pénalité x0.4 pour les pages quasi-identiques du même domaine (pagination, catégories, tags)
  • Couverture de la requête : bonus x1.4 si tous les termes significatifs sont présents dans le titre ou la description, pénalité x0.7 si moins de 30% des termes correspondent
  • Diversité des domaines : maximum 3 résultats par domaine pour varier les sources
  • Fraîcheur : bonus pour les pages récemment mises à jour

3. Optimisations de performance

Chaque requête est optimisée à plusieurs niveaux pour garantir des temps de réponse minimaux :

  • Requête FTS5 en 2 étapes : recherche des meilleurs résultats par rank (algorithme top-K optimisé) sans JOINs, puis récupération des données en batch — évite de scorer et trier l'intégralité des documents matchants
  • BM25 rank pré-configuré : la fonction rank de FTS5 est configurée au démarrage avec les poids BM25 adaptatifs, permettant l'optimisation interne top-K de SQLite
  • WAL mode SQLite : lectures concurrentes pendant les écritures (crawl et recherche simultanés)
  • Memory-mapped I/O : 2 Go de la base de données mappés en mémoire (PRAGMA mmap_size) pour éviter les appels système de lecture
  • Cache SQLite : 64 Mo de cache en RAM + tables temporaires en mémoire
  • Scoring vectorisé NumPy : les 22 signaux sont combinés en opérations vectorielles au lieu d'une boucle Python
  • Templates Jinja2 pré-compilés : les templates HTML sont compilés une seule fois au démarrage
  • Pages statiques pré-encodées : les pages fixes sont pré-encodées en UTF-8 avec ETag et Cache-Control (304 Not Modified)
  • Compression Gzip : réduction de ~70% de la taille des transferts réseau
  • Regex pré-compilés : toutes les expressions régulières sont compilées au chargement de la classe
  • Cache warm-up : les requêtes les plus populaires sont pré-calculées au démarrage du serveur
  • SpellChecker indexé : correction orthographique avec index par (première lettre, longueur) pour une recherche ~10x plus rapide
  • Cache de synonymes : les expansions de termes sont mises en cache pour éviter les recalculs
  • Debounce autocomplete : délai de 300ms avec annulation des requêtes obsolètes (AbortController) pour réduire la charge serveur
  • Timeout adaptatif avec fallback : si une requête FTS5 dépasse 5 secondes, un fallback sans tri récupère des résultats partiels au lieu d'afficher une page vide
  • HTTP/2 + HTTP/3 (QUIC) : multiplexage des requêtes, compression des headers et résolution du blocage en tête de ligne via le protocole QUIC (UDP)
  • Preload des fonts critiques : chargement anticipé des polices (woff2) via <link rel="preload"> pour éviter la cascade séquentielle HTML → CSS → font
  • Format AVIF : images converties du format PNG vers AVIF (basé sur AV1), réduisant la taille de ~92% sans perte de qualité visible

4. Opérateurs de recherche

site: Recherche sur un domaine spécifique
intitle: Le titre doit contenir le terme
inurl: L'URL doit contenir le terme
filetype: Recherche par type de fichier
OR / AND Opérateurs booléens
"..." Expression exacte

5. Performances

  • Temps de réponse (cache) : < 1ms pour les requêtes populaires
  • Temps de réponse (sans cache) : 50ms à 10s selon la complexité
  • Capacité d'indexation : 2 500 000+ pages
  • Taille du cache : 1000 requêtes les plus fréquentes
  • TTL du cache : 24 heures
  • Protection timeout : les requêtes trop larges sont interrompues après 5 secondes avec un fallback automatique qui récupère des résultats partiels et affiche un bandeau d'avertissement
cloud

Utilisation de l'API

Points d'accès et limitations

1. Endpoints disponibles

/api/search?q= GET
/api/autocomplete?q= GET
/api/cache/stats GET
/api/soumettre POST
/api/soumettre/status/<domain> GET
/api/inspection/data?domain= GET
/api/graph/data GET
/api/network/data GET
/api/explorer/feeds GET
/api/preuve/compare?q= GET
/api/preuve/audit-cookies GET
/api/preuve/clear-cookies POST
/api/explorer/img?u= GET
/api/mail/register POST
/api/mail/login POST
/api/mail/inbox GET
/api/mail/compose POST
/api/mail/sent GET
/api/mail/read/<id> GET
/api/mail/delete/<id> DELETE
/api/mail/me GET
/api/mail/logout POST
/api/mail/alerts GET/POST
/api/mail/alerts/<id> DELETE
/api/click GET/POST

2. Exemple de réponse

{
  "query": "python tutoriel",
  "total": 1234,
  "page": 1,
  "results": [
    {
      "id": 42,
      "title": "Tutoriel Python",
      "url": "https://example.com/python",
      "score": 85.5
    }
  ]
}

3. Limitations

  • Rate limiting : 30 req/min (recherche, explorer), 60 req/min (autocomplete), 10 req/min (graphe, réseau), 20 req/min (inspection, flux RSS), 5 req/min (audit cookies), 120 req/min (proxy image)
  • Soumission de site : 3 req/min, 10 req/heure par IP, protection CSRF obligatoire
  • Messagerie : 5 req/min (inscription), 10 req/min (connexion/envoi), 30 req/min (lecture), protection anti-bot (honeypot, délai minimum 3s, activation par message)
  • Alertes : 20 alertes max par compte, scan quotidien automatique, 10 req/min (gestion des alertes)
  • Requêtes automatisées : Interdites sans autorisation
  • Scraping massif : Interdit

L'API est fournie à titre informatif. Aucune garantie de disponibilité n'est offerte.

4. Robots.txt

Un fichier robots.txt est en place pour contrôler l'accès des robots d'indexation :

  • Googlebot et Bingbot : autorisés à indexer les pages publiques (accueil, mentions légales)
  • Pages de résultats (/search) : interdites à l'indexation
  • API (/api/) : interdite à l'indexation
  • Tous les autres bots : pages publiques autorisées, API et pages internes interdites

Toute tentative de contournement de ces restrictions est interdite.

accessibility

Accessibilité

Engagement pour un web inclusif

1. Déclaration

RDTvlokip Search s'engage à rendre son service accessible conformément aux recommandations WCAG 2.1 (niveau AA).

2. Fonctionnalités

  • Mode sombre : réduit la fatigue oculaire
  • Navigation clavier : tous les éléments accessibles
  • Contrastes : ratios conformes (4.5:1 minimum)
  • Responsive : adaptée à toutes les tailles d'écran
  • Focus visible : indicateurs pour navigation clavier

3. Contact

Pour signaler un problème d'accessibilité, contactez l'éditeur à contact@rdtvlokip.fr.