293 lines
13 KiB
HTML
293 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr" class="fr">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>Politique de confidentialité — Livrets</title>
|
|
<meta
|
|
name="description"
|
|
content="Politique de confidentialité du jeu Livrets : vos données restent sur votre appareil. Privacy policy for the Livrets game: your data stays on your device."
|
|
/>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<script>
|
|
tailwind.config = {
|
|
darkMode: 'media',
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
navy: '#1D3557',
|
|
accent: '#457B9D',
|
|
mist: '#A8DADC',
|
|
paper: '#F1FAEE',
|
|
coral: '#E63946',
|
|
},
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style>
|
|
html.fr [data-lang='en'] { display: none !important; }
|
|
html.en [data-lang='fr'] { display: none !important; }
|
|
.placeholder {
|
|
border: 1px dashed #e63946;
|
|
color: #e63946;
|
|
border-radius: 0.375rem;
|
|
padding: 0 0.375rem;
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="min-h-screen bg-paper text-navy antialiased dark:bg-navy dark:text-paper">
|
|
<div class="mx-auto max-w-2xl px-6 py-10">
|
|
<header class="flex items-center justify-between gap-4">
|
|
<div class="flex items-center gap-4">
|
|
<svg width="48" height="48" viewBox="0 0 128 128" aria-hidden="true" class="shrink-0">
|
|
<rect x="4" y="4" width="120" height="120" rx="28" fill="#1D3557"/>
|
|
<rect x="18" y="18" width="42" height="42" rx="12" fill="#A8DADC"/>
|
|
<rect x="68" y="18" width="42" height="42" rx="12" fill="#E63946"/>
|
|
<rect x="18" y="68" width="42" height="42" rx="12" fill="#F1FAEE"/>
|
|
<rect x="68" y="68" width="42" height="42" rx="12" fill="#457B9D"/>
|
|
<path d="M29,28 L49,28 L36,50" fill="none" stroke="#1D3557" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<path d="M81,31 L97,47 M97,31 L81,47" fill="none" stroke="#F1FAEE" stroke-width="6.5" stroke-linecap="round"/>
|
|
<circle cx="39" cy="82.75" r="5.5" fill="#1D3557"/>
|
|
<circle cx="39" cy="93.25" r="7.5" fill="#1D3557"/>
|
|
<path d="M81,81 C81,73 97,73 97,81 C97,86.5 89,86.5 89,93 L89,95.5" fill="none" stroke="#F1FAEE" stroke-width="6" stroke-linecap="round"/>
|
|
<circle cx="89" cy="102.5" r="3.4" fill="#F1FAEE"/>
|
|
</svg>
|
|
<div>
|
|
<p class="text-sm font-medium text-accent">Livrets</p>
|
|
<h1 class="text-2xl font-bold" data-lang="fr">Politique de confidentialité</h1>
|
|
<h1 class="text-2xl font-bold" data-lang="en">Privacy Policy</h1>
|
|
</div>
|
|
</div>
|
|
<button
|
|
id="lang-toggle"
|
|
type="button"
|
|
aria-label="Switch to English"
|
|
class="shrink-0 rounded-lg border border-navy/20 px-3 py-1.5 text-sm font-semibold hover:bg-mist/50 focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent dark:border-paper/30 dark:hover:bg-paper/10"
|
|
>
|
|
English
|
|
</button>
|
|
</header>
|
|
|
|
<p class="mt-8 rounded-xl bg-mist/40 p-4 text-sm dark:bg-paper/10" data-lang="fr">
|
|
<strong>En résumé : vos données restent sur votre appareil.</strong> Le jeu ne contient
|
|
ni publicité ni analytique, et rien n'est envoyé à des serveurs, sauf si vous activez
|
|
volontairement Google Play Jeux sur Android.
|
|
</p>
|
|
<p class="mt-8 rounded-xl bg-mist/40 p-4 text-sm dark:bg-paper/10" data-lang="en">
|
|
<strong>In short: your data stays on your device.</strong> The game contains no ads and
|
|
no analytics, and nothing is sent to servers unless you voluntarily sign in to
|
|
Google Play Games on Android.
|
|
</p>
|
|
|
|
<main class="mt-10 space-y-10 text-base leading-relaxed text-navy/85 dark:text-paper/85">
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">1. Éditeur</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">1. Publisher</h2>
|
|
<p data-lang="fr">
|
|
Cette politique de confidentialité décrit la manière dont Livrets (« le jeu »),
|
|
édité par <span class="placeholder">[ÉDITEUR — À REMPLIR]</span>, traite les données.
|
|
Dernière mise à jour : <span class="placeholder">[DATE]</span>.
|
|
</p>
|
|
<p data-lang="en">
|
|
This privacy policy describes how Livrets (“the game”), published by
|
|
<span class="placeholder">[ÉDITEUR — À REMPLIR]</span>, handles data.
|
|
Last updated: <span class="placeholder">[DATE]</span>.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">
|
|
2. Données stockées localement
|
|
</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">
|
|
2. Data stored locally
|
|
</h2>
|
|
<p data-lang="fr">
|
|
Le jeu enregistre sur votre appareil — et uniquement sur votre appareil :
|
|
l'historique des parties (score, date, réponses) et le taux de réussite cumulé
|
|
par table. Ces données ne sont jamais transmises à des serveurs : elles restent
|
|
dans le stockage local de l'application (<code>~/.livrets/</code> sur desktop,
|
|
stockage privé de l'app sur Android et iOS). Désinstaller l'application
|
|
les supprime définitivement.
|
|
</p>
|
|
<p data-lang="en">
|
|
The game saves the following data on your device — and only on your device:
|
|
game history (score, date, answers) and cumulative success rate per table.
|
|
This data is never transmitted to servers: it stays in the app's local storage
|
|
(<code>~/.livrets/</code> on desktop, private app storage on Android and iOS).
|
|
Uninstalling the app permanently deletes it.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">
|
|
3. Google Play Jeux (Android, optionnel)
|
|
</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">
|
|
3. Google Play Games (Android, optional)
|
|
</h2>
|
|
<p data-lang="fr">
|
|
Sur Android, si vous choisissez de vous connecter à Google Play Jeux, le jeu envoie
|
|
vos scores aux classements. Google traite alors votre identifiant joueur et votre
|
|
pseudonyme Play Jeux conformément à
|
|
<a
|
|
href="https://policies.google.com/privacy"
|
|
class="font-medium text-accent underline underline-offset-2"
|
|
>sa propre politique de confidentialité</a
|
|
>. La connexion est optionnelle : sans elle, le jeu reste pleinement jouable et
|
|
aucune donnée ne quitte votre appareil.
|
|
</p>
|
|
<p data-lang="en">
|
|
On Android, if you choose to sign in to Google Play Games, the game submits your
|
|
scores to leaderboards. Google then processes your Play Games player ID and
|
|
nickname under
|
|
<a
|
|
href="https://policies.google.com/privacy"
|
|
class="font-medium text-accent underline underline-offset-2"
|
|
>its own privacy policy</a
|
|
>. Signing in is optional: without it, the game remains fully playable and no data
|
|
leaves your device.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">
|
|
4. Ce que le jeu ne fait pas
|
|
</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">
|
|
4. What the game does not do
|
|
</h2>
|
|
<ul class="list-disc space-y-1 pl-5" data-lang="fr">
|
|
<li>pas de publicité ;</li>
|
|
<li>pas d'analytique ni de mesure d'audience ;</li>
|
|
<li>pas de création de compte par nos soins ;</li>
|
|
<li>pas d'accès à votre position ;</li>
|
|
<li>pas d'accès à vos contacts, photos ou fichiers ;</li>
|
|
<li>aucune donnée vendue ni partagée à des tiers.</li>
|
|
</ul>
|
|
<ul class="list-disc space-y-1 pl-5" data-lang="en">
|
|
<li>no advertising;</li>
|
|
<li>no analytics or audience measurement;</li>
|
|
<li>no account creation on our side;</li>
|
|
<li>no access to your location;</li>
|
|
<li>no access to your contacts, photos or files;</li>
|
|
<li>no data sold or shared with third parties.</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">5. Mineurs</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">5. Minors</h2>
|
|
<p data-lang="fr">
|
|
Livrets est un jeu éducatif destiné à l'apprentissage des tables de multiplication.
|
|
Le jeu ne collecte délibérément aucune donnée personnelle d'enfant. Les seules
|
|
données susceptibles de transiter le sont via Google Play Jeux, sous la
|
|
responsabilité de Google.
|
|
</p>
|
|
<p data-lang="en">
|
|
Livrets is an educational game for learning multiplication tables. The game does not
|
|
knowingly collect any personal data from children. The only data that may transit
|
|
does so via Google Play Games, under Google's responsibility.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">
|
|
6. Conservation des données
|
|
</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">
|
|
6. Data retention
|
|
</h2>
|
|
<p data-lang="fr">
|
|
Les données locales sont conservées tant que l'application est installée sur votre
|
|
appareil ; vous pouvez les effacer à tout moment en désinstallant l'application.
|
|
Les scores envoyés aux classements Play Jeux sont conservés par Google selon ses
|
|
propres règles.
|
|
</p>
|
|
<p data-lang="en">
|
|
Local data is kept as long as the app is installed on your device; you can erase it
|
|
at any time by uninstalling the app. Scores submitted to Play Games leaderboards are
|
|
retained by Google under its own rules.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">
|
|
7. Vos droits
|
|
</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">
|
|
7. Your rights
|
|
</h2>
|
|
<p data-lang="fr">
|
|
Conformément au RGPD, vous disposez de droits d'accès, de rectification et de
|
|
suppression. Comme l'essentiel des données reste sur votre appareil, l'exercice de
|
|
ces droits passe par la désinstallation de l'application. Pour toute autre demande :
|
|
<span class="placeholder">[EMAIL — À REMPLIR]</span>.
|
|
</p>
|
|
<p data-lang="en">
|
|
Under the GDPR, you have rights of access, rectification and erasure. Since most
|
|
data stays on your device, exercising these rights is done by uninstalling the app.
|
|
For any other request:
|
|
<span class="placeholder">[EMAIL — À REMPLIR]</span>.
|
|
</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="fr">
|
|
8. iOS et desktop
|
|
</h2>
|
|
<h2 class="mb-2 text-lg font-semibold text-navy dark:text-mist" data-lang="en">
|
|
8. iOS and desktop
|
|
</h2>
|
|
<p data-lang="fr">
|
|
Sur iOS et macOS, le jeu n'a aucune fonctionnalité en ligne : toutes les données
|
|
restent sur votre appareil.
|
|
</p>
|
|
<p data-lang="en">
|
|
On iOS and macOS, the game has no online features: all data stays on your device.
|
|
</p>
|
|
</section>
|
|
</main>
|
|
|
|
<footer class="mt-12 border-t border-navy/10 pt-6 text-sm text-navy/70 dark:border-paper/20 dark:text-paper/70">
|
|
<p data-lang="fr">
|
|
Contact : <span class="placeholder">[EMAIL — À REMPLIR]</span>
|
|
</p>
|
|
<p data-lang="en">
|
|
Contact: <span class="placeholder">[EMAIL — À REMPLIR]</span>
|
|
</p>
|
|
</footer>
|
|
</div>
|
|
|
|
<script>
|
|
(function () {
|
|
var root = document.documentElement;
|
|
var btn = document.getElementById('lang-toggle');
|
|
function set(lang) {
|
|
root.classList.remove('fr', 'en');
|
|
root.classList.add(lang);
|
|
root.lang = lang;
|
|
btn.textContent = lang === 'fr' ? 'English' : 'Français';
|
|
btn.setAttribute('aria-label', lang === 'fr' ? 'Switch to English' : 'Passer en français');
|
|
try {
|
|
localStorage.setItem('livrets-lang', lang);
|
|
} catch (e) {}
|
|
}
|
|
var saved = null;
|
|
try {
|
|
saved = localStorage.getItem('livrets-lang');
|
|
} catch (e) {}
|
|
var initial =
|
|
location.hash === '#en' ? 'en' : location.hash === '#fr' ? 'fr' : saved === 'en' ? 'en' : 'fr';
|
|
set(initial);
|
|
btn.addEventListener('click', function () {
|
|
set(root.classList.contains('fr') ? 'en' : 'fr');
|
|
});
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|