"""Contenus initiaux repris du projet Laravel (pages institutionnelles et services)."""

from django.db import migrations

PAGES = [
    {
        "slug": "a-propos",
        "titre": "À propos de Label Info TV",
        "chapo": "Média d'investigation et d'information générale basé au Bénin.",
        "ordre": 1,
        "contenu": """
<h2>Notre mission</h2>
<p>Label Info TV est un média d'investigation et d'information générale basé au Bénin. Notre mission est de fournir une information fiable, vérifiée et pertinente à nos lecteurs et téléspectateurs.</p>
<p>Nous croyons en un journalisme de qualité, qui va au-delà des faits pour analyser les enjeux, décrypter l'actualité et donner la parole aux acteurs du changement.</p>
<h2>Notre vision</h2>
<p>Nous aspirons à devenir la référence médiatique au Bénin et dans la sous-région, en alliant la rigueur de la presse écrite à la puissance du numérique. Nous nous engageons à promouvoir une image positive et dynamique de l'Afrique.</p>
<h2>Nos valeurs</h2>
<ul>
<li><strong>Intégrité</strong> : nous respectons une éthique journalistique rigoureuse.</li>
<li><strong>Excellence</strong> : nous visons la qualité dans chaque contenu produit.</li>
<li><strong>Innovation</strong> : nous adoptons les nouvelles technologies pour mieux vous informer.</li>
<li><strong>Proximité</strong> : nous sommes à l'écoute de notre audience et de ses préoccupations.</li>
</ul>
<h2>Notre équipe</h2>
<p>Label Info TV est composé d'une équipe passionnée de journalistes, reporters, cadreurs et éditeurs web, tous dévoués à la recherche de la vérité et à la diffusion de l'information.</p>
""",
    },
    {
        "slug": "mentions-legales",
        "titre": "Mentions légales",
        "chapo": "",
        "ordre": 2,
        "contenu": """
<h2>Éditeur du site</h2>
<p>Label Info TV — Média d'information en ligne.<br>Adresse : Cotonou, Bénin.</p>
<h2>Hébergement</h2>
<p>Le site est hébergé sur une infrastructure web professionnelle et sécurisée, avec supervision technique continue. Pour toute demande liée à l'hébergement ou à la disponibilité du service, merci de nous contacter.</p>
<h2>Propriété intellectuelle</h2>
<p>Sauf mention contraire, l'ensemble des contenus publiés (articles, vidéos, photos, logos, éléments graphiques et documents) est protégé par le droit de la propriété intellectuelle.</p>
<p>Toute reproduction, représentation, diffusion ou adaptation, totale ou partielle, sans autorisation écrite préalable, est interdite et peut faire l'objet de poursuites.</p>
<h2>Responsabilité</h2>
<p>Nous mettons en œuvre des moyens raisonnables pour assurer la fiabilité des informations publiées. Toutefois, l'éditeur ne peut garantir l'absence totale d'erreurs, d'omissions ou d'indisponibilités temporaires.</p>
<h2>Données personnelles</h2>
<p>Le traitement des données personnelles est détaillé dans notre <a href="/confidentialite">politique de confidentialité</a>.</p>
<h2>Contact</h2>
<p>Pour toute question juridique ou éditoriale, écrivez-nous via la page <a href="/contact">Contact</a>.</p>
""",
    },
    {
        "slug": "confidentialite",
        "titre": "Politique de confidentialité",
        "chapo": "Comment nous collectons et utilisons certaines données lorsque vous utilisez le site.",
        "ordre": 3,
        "contenu": """
<h2>Données collectées</h2>
<ul><li>Formulaire de contact (nom, email, message).</li><li>Newsletter (email).</li><li>Commentaires (contenu, et pour les invités : nom/email).</li></ul>
<h2>Finalités</h2>
<p>Les données collectées nous permettent de :</p>
<ul><li>répondre aux demandes transmises via le formulaire de contact ;</li><li>modérer et publier les commentaires ;</li><li>gérer les interactions (réactions, votes) et prévenir les abus ;</li><li>envoyer la newsletter, uniquement en cas d'inscription volontaire.</li></ul>
<h2>Conservation</h2>
<p>Les données sont conservées pendant une durée proportionnée à leur finalité, puis supprimées ou anonymisées. Les obligations légales de conservation peuvent entraîner un archivage limité dans le temps.</p>
<h2>Partage des données</h2>
<p>Nous ne vendons pas vos données. Elles peuvent être traitées par nos prestataires techniques (hébergement, maintenance, sécurité) strictement dans le cadre de l'exploitation du site.</p>
<h2>Sécurité</h2>
<p>Des mesures techniques et organisationnelles raisonnables sont appliquées pour protéger les données contre l'accès non autorisé, la perte, l'altération ou la divulgation.</p>
<h2>Cookies et traceurs</h2>
<p>Le site peut utiliser des cookies techniques nécessaires à son fonctionnement (sécurité, session, préférences). Les cookies non essentiels, s'ils sont activés ultérieurement, feront l'objet d'une information dédiée.</p>
<h2>Vos droits</h2>
<p>Vous pouvez demander l'accès, la rectification, la suppression ou la limitation du traitement de vos données en nous contactant via la page <a href="/contact">Contact</a>.</p>
<h2>Mise à jour de la politique</h2>
<p>Cette politique peut évoluer pour refléter les changements légaux, techniques ou éditoriaux. La date de mise à jour indiquée en haut de page fait foi.</p>
""",
    },
    {
        "slug": "cgu",
        "titre": "Conditions générales d'utilisation",
        "chapo": "En accédant au site Label Info TV, vous acceptez les présentes conditions d'utilisation.",
        "ordre": 4,
        "contenu": """
<h2>Accès au service</h2>
<p>Le site est accessible gratuitement, sous réserve d'interruptions pour maintenance, mises à jour ou cas de force majeure.</p>
<h2>Comportement attendu</h2>
<p>L'utilisateur s'engage à utiliser le site de manière licite et respectueuse. Toute tentative d'atteinte au fonctionnement du site, d'usurpation d'identité ou de diffusion de contenu illicite est interdite.</p>
<h2>Commentaires</h2>
<p>Les commentaires sont soumis à modération. Les propos illégaux, haineux, diffamatoires ou hors-sujet peuvent être supprimés.</p>
<h2>Propriété intellectuelle</h2>
<p>Les contenus sont protégés. Toute réutilisation sans autorisation est interdite.</p>
<h2>Liens externes</h2>
<p>Le site peut contenir des liens vers des sites tiers. Nous ne sommes pas responsables du contenu ni des pratiques de ces sites externes.</p>
<h2>Limitation de responsabilité</h2>
<p>Les informations publiées sont fournies à titre informatif. Malgré nos efforts éditoriaux, aucune garantie absolue n'est donnée sur l'exhaustivité ou l'absence d'erreurs. L'utilisation des contenus relève de la responsabilité de l'utilisateur.</p>
<h2>Droit applicable</h2>
<p>Les présentes CGU sont régies par le droit applicable au Bénin. En cas de litige, une résolution amiable sera privilégiée avant toute procédure.</p>
<h2>Contact</h2>
<p>Pour toute question, rendez-vous sur la page <a href="/contact">Contact</a>.</p>
""",
    },
]

SERVICES = [
    ("Réalisation de spot publicitaire", "video",
     "Création de contenus publicitaires authentiques qui mettent en valeur les initiatives de développement au Bénin. Notre approche journalistique garantit des messages crédibles et percutants."),
    ("Couverture médiatique", "camera",
     "Reportages approfondis et couverture professionnelle de vos événements avec notre rigueur journalistique. Capturons l'essentiel pour valoriser vos projets et actualités."),
    ("Location de drone", "drone",
     "Prises de vues aériennes professionnelles pour enrichir vos reportages et documentaires. Images de haute qualité pour mettre en perspective les projets de développement."),
    ("Réalisation de documentaires", "film",
     "Production de documentaires d'investigation qui mettent en lumière les success stories du Bénin. Une narration factuelle et engagée pour inspirer le changement positif."),
    ("Élaboration et gestion de plan de communication", "chart",
     "Stratégies de communication basées sur notre expertise média. Accompagnement pour véhiculer une image positive et factuelle de vos organisations et projets."),
    ("Maintenance et systèmes réseaux informatiques", "server",
     "Solutions techniques pour garantir votre autonomie numérique. Support informatique et maintenance pour que votre communication reste fluide et efficace."),
]


def seed(apps, schema_editor):
    Page = apps.get_model("core", "Page")
    Service = apps.get_model("core", "Service")
    SiteSettings = apps.get_model("core", "SiteSettings")
    SiteSettings.objects.get_or_create(pk=1)
    for p in PAGES:
        Page.objects.get_or_create(slug=p["slug"], defaults={**p, "contenu": p["contenu"].strip()})
    if not Service.objects.exists():
        for i, (titre, icone, description) in enumerate(SERVICES, start=1):
            Service.objects.create(titre=titre, icone=icone, description=description, ordre=i)


class Migration(migrations.Migration):
    dependencies = [("core", "0001_initial")]
    operations = [migrations.RunPython(seed, migrations.RunPython.noop)]
