;

-- ========================
-- TABLE PROJETS
-- ========================
CREATE TABLE projets (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    titre_fr TEXT NOT NULL,
    titre_en TEXT NOT NULL,
    description_fr TEXT,
    description_en TEXT,
    lien TEXT,
    date_creation DATE
);

-- ========================
-- TABLE COMPETENCES
-- ========================
CREATE TABLE competences (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nom TEXT NOT NULL,
    categorie TEXT, -- Backend, Frontend, DB, Outils...
    niveau TEXT CHECK(niveau IN ('débutant', 'intermédiaire', 'avancé')) NOT NULL,
    description_fr TEXT,
    description_en TEXT
);

-- ========================
-- TABLE PROJETS-COMPETENCES (relation N-N)
-- ========================
CREATE TABLE projets_competences (
    projet_id INTEGER NOT NULL,
    competence_id INTEGER NOT NULL,
    PRIMARY KEY (projet_id, competence_id),
    FOREIGN KEY (projet_id) REFERENCES projets(id) ON DELETE CASCADE,
    FOREIGN KEY (competence_id) REFERENCES competences(id) ON DELETE CASCADE
);

-- ========================
-- TABLE EXPERIENCES
-- ========================
CREATE TABLE experiences (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    titre_fr TEXT NOT NULL,
    titre_en TEXT NOT NULL,
    entreprise TEXT,
    description_fr TEXT,
    description_en TEXT,
    document TEXT,
    date_debut DATE,
    date_fin DATE
);

-- ========================
-- TABLE CONNAISSANCES
-- ========================
CREATE TABLE connaissances (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nom_fr TEXT NOT NULL,
    nom_en TEXT NOT NULL,
    categorie TEXT, -- Langues, Permis, etc.
    niveau TEXT CHECK(niveau IN ('débutant', 'intermédiaire', 'avancé')) NOT NULL
);

-- ========================
-- TABLE DOCUMENTS
-- ========================
CREATE TABLE documents (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    role TEXT NOT NULL,
    titre TEXT NOT NULL
);

-- ========================
-- TABLE Article (Veille technologique)
-- ========================
CREATE TABLE article (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    titre_fr TEXT NOT NULL,
    titre_en TEXT NOT NULL,
    contenu_fr TEXT NOT NULL,
    contenu_en TEXT NOT NULL,
    impact_metier_fr TEXT NOT NULL,
    impact_metier_en TEXT NOT NULL,
    date_de_suivie DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE sources (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    article_id INTEGER,
    nom_source TEXT,
    url TEXT
);

-- ========================
-- TABLE Article (Veille technologique)
-- ========================
CREATE TABLE certification (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    document TEXT NOT NULL,
    note_fr TEXT NOT NULL,
    note_en TEXT NOT NULL,
    organisme TEXT NOT NULL,
    date_obtention TEXT NOT NULL
);

INSERT INTO projets (titre_fr, titre_en, description_fr, description_en, lien, date_creation) VALUES
('Application web en ligne', 'Online web application',
 'Transformation d’une application web locale en application en ligne (PHP, SQL, cybersécurité).',
 'Transformation of a local web application into an online application (PHP, SQL, cybersecurity).',
 'https://github.com/NF-de/Scenik/tree/mateo', '2025/05/26'),
('Application de connexion avec API', 'Login application with API',
 'Création d’un POC (Proof of Concept) d’une application de connexion avec une API (PHP, Symfony, Vue.js, JWT).',
 'Creation of a POC (Proof of Concept) for a login application with an API (PHP, Symfony, Vue.js, JWT).',
 'https://github.com/NF-de/Scenik/tree/mateo', '2026/01/05');
 
INSERT INTO competences (nom, categorie, niveau, description_fr, description_en) VALUES
('PHP', 'Backend', 'intermédiaire',
 'Langage côté serveur utilisé pour créer des sites web dynamiques et gérer les données.',
 'Server-side language used to create dynamic websites and manage data.'),
('Database (SQLite, SQL)', 'DB', 'débutant',
 'Utilisation des bases de données pour stocker et manipuler les informations.',
 'Use of databases to store and manage information.'),
('HTML', 'Frontend', 'intermédiaire',
 'Langage de base utilisé pour structurer les pages web.',
 'Basic language used to structure web pages.'),
('CSS', 'Frontend', 'intermédiaire',
 'Langage permettant de styliser et mettre en forme les pages web.',
 'Language used to style and design web pages.'),
('JavaScript', 'Frontend', 'débutant',
 'Langage permettant d’ajouter de l’interactivité aux sites web.',
 'Language used to add interactivity to websites.'),
('Git', 'Outils', 'débutant',
 'Outil de gestion de versions permettant de suivre les modifications du code.',
 'Version control tool used to track changes in code.'),
('Symfony', 'Backend', 'débutant',
 'Framework PHP permettant de développer des applications web structurées.',
 'PHP framework used to build structured web applications.'),
('Flutter', 'Frontend', 'débutant',
 'Framework permettant de créer des applications multiplateformes avec une seule base de code.',
 'Framework used to build cross-platform applications from a single codebase.');

INSERT INTO projets_competences (projet_id, competence_id) VALUES
(1, 1),
(1, 2),
(1, 3),
(1, 4),
(1, 5),
(1, 6);

INSERT INTO experiences (titre_fr, titre_en, entreprise, description_fr, description_en, date_debut, date_fin, document) VALUES
('Stage 1ère année BTS SIO', 'First-year internship for the BTS SIO', 'Médiathèque de Veynes',
 'Évolution d’une application web locale en site internet (cybersécurité, PHP, site dynamique, base de données)',
 'Evolution of a local web application into a website (cybersecurity, PHP, dynamic website, database)',
 '2025/05/26', '2025/07/04', 'Rapport_de_stage_de_première_année-Maxime_Allart.pdf'),
('Stage 2ème année BTS SIO', 'Second-year internship for the BTS SIO', 'DevMountains',
'Création d’une section témoignage dynamique (cartes interactives, médias, responsive design)
Refactoring et optimisation du code + amélioration du référencement (SEO)
Réalisation d’un POC d’authentification sécurisée (OAuth2, JWT, 2FA, API avec Symfony & Vue.js)
Développement d’animations SVG pour améliorer l’expérience utilisateur',
'Creation of a dynamic testimonial section (interactive maps, media, responsive design)
Code refactoring and optimization + SEO improvements
Development of a secure authentication proof of concept (POC) (OAuth2, JWT, 2FA, API using Symfony & Vue.js)
Development of SVG animations to enhance the user experience',
'2026/01/05', '2025/02/13', 'Rapport_de_stage_de_deuxième_année-Maxime_Allart.pdf');

INSERT INTO connaissances (nom_fr, nom_en, categorie, niveau) VALUES
('Français', 'French', 'Langue', 'avancé'),
('Anglais', 'English', 'Langue', 'débutant'),
('Permis A1', 'A1 driving license', 'Permis', 'avancé'),
('Permis B', 'B driving license', 'Permis', 'avancé'),
('Permis A2', 'A2 driving license', 'Permis', 'avancé');

INSERT INTO documents (role, titre) VALUES
('CV', 'CV_Maxime_Allart.pdf'),
('Rapport', 'Rapport_de_stage_de_première_année-Maxime_Allart.pdf'),
('Rapport', 'Rapport_de_stage_de_deuxième_année-Maxime_Allart.pdf'),
('Certification', 'certification-pix.pdf');

INSERT INTO article (titre_fr, titre_en, contenu_fr, contenu_en, impact_metier_fr, impact_metier_en, date_de_suivie) VALUES
-- ========================
-- 01/12 → 07/12
-- ========================
(
'Lancement de Symfony AI',
'Launch of Symfony AI',

'Symfony introduit une initiative dédiée à l’intelligence artificielle avec plusieurs composants permettant d’intégrer des modèles IA dans des applications PHP. Parmi eux : Platform (connexion aux LLM), Agent (création d’agents intelligents), Store (gestion des données) et MCP SDK. Cette approche permet d’ajouter des fonctionnalités avancées comme des chatbots ou du RAG sans changer de stack.',

'Symfony introduces an AI initiative with components to integrate AI models into PHP applications, including Platform, Agent, Store, and MCP SDK. This enables chatbots and advanced AI features without changing the tech stack.',

'Permet d’intégrer facilement des fonctionnalités IA dans des projets existants. Ouvre des opportunités professionnelles dans un domaine en forte croissance. Facilite la création d’outils intelligents tout en restant dans l’écosystème Symfony. Nécessité de se former rapidement pour rester compétitif.',

'Enables easy AI integration in existing projects. Opens career opportunities in a fast-growing field. Encourages developers to learn AI-related tools early.',

'2025-12-04'
),
-- ========================
-- 08/12 → 14/12
-- ========================
(
'Sortie de PHP 8.5',
'PHP 8.5 Release',

'PHP 8.5 introduit plusieurs nouveautés majeures dont l’opérateur pipe permettant d’enchaîner les fonctions de manière plus lisible. Une extension URI native améliore la gestion des URL selon les standards modernes. Des outils de débogage améliorés facilitent le développement et la maintenance.',

'PHP 8.5 introduces major features such as the pipe operator for cleaner function chaining, a native URI extension for secure URL handling, and improved debugging tools.',

'Améliore la lisibilité et la maintenance du code. Renforce la sécurité des applications web. Facilite le débogage et accélère le développement. Nécessite une montée en compétence pour exploiter les nouvelles fonctionnalités et rester à jour.',

'Improves code readability and maintenance. Strengthens web application security. Enhances debugging and developer productivity. Requires learning new features.',

'2025-12-10'
),
-- ========================
-- 15/12 → 21/12
-- ========================
(
'Mises à jour de maintenance Symfony 7.4 et 8.0',
'Symfony maintenance updates 7.4 and 8.0',

'Symfony publie plusieurs versions de maintenance pour corriger des bugs et stabiliser les nouvelles versions 7.4 et 8.0. Ces mises à jour permettent d’assurer la fiabilité des nouvelles fonctionnalités et de préparer leur adoption en production.',

'Symfony released maintenance updates fixing bugs and stabilizing versions 7.4 and 8.0, ensuring reliability before large-scale production use.',

'Montre l’importance de suivre les mises à jour régulières pour garantir la stabilité. Nécessite une bonne gestion des versions et des tests. Renforce les bonnes pratiques de maintenance logicielle en environnement professionnel.',

'Highlights the importance of regular updates for stability. Requires proper version management and testing. Reinforces software maintenance best practices.',

'2025-12-18'
),
-- ========================
-- 22/12 → 28/12
-- ========================
(
'20 ans de Symfony : analyse de la communauté',
'20 years of Symfony: community analysis',

'Une analyse statistique montre l’évolution de Symfony sur 20 ans avec des centaines de releases et une forte activité communautaire. Le framework continue d’évoluer grâce à une base de contributeurs active et renouvelée.',

'A statistical analysis highlights Symfony’s evolution over 20 years, with hundreds of releases and a strong, active community driving continuous improvements.',

'Démontre la stabilité et la pérennité de Symfony pour des projets long terme. Rassure sur le choix technologique. Montre l’importance de la communauté open source et l’opportunité de contribuer pour développer ses compétences.',

'Demonstrates Symfony’s stability for long-term projects. Highlights the importance of open-source communities and contribution opportunities.',

'2025-12-24'
),
-- ========================
-- 29/12 → 04/01
-- ========================
(
'Mises à jour Symfony début 2026',
'Symfony updates early 2026',

'Symfony publie de nouvelles versions de maintenance avec corrections de bugs et amélioration des tests, notamment pour PHPUnit. Ces mises à jour assurent la compatibilité avec les outils récents.',

'Symfony releases maintenance updates with bug fixes and improved testing compatibility, especially with PHPUnit.',

'Rappelle l’importance des mises à jour régulières. Améliore la qualité du code grâce aux tests automatisés. Montre la nécessité de suivre les évolutions des outils de développement.',

'Highlights the importance of regular updates. Improves code quality through testing. Emphasizes keeping development tools up to date.',

'2026-01-02'
),
-- ========================
-- 05/01 → 11/01
-- ========================
(
'Symfony UX Toolkit et nouveautés 8.1',
'Symfony UX Toolkit and 8.1 features',

'Symfony UX introduit un toolkit de composants UI personnalisables facilitant la création d’interfaces modernes. Ces composants sont directement intégrés dans le projet, offrant un contrôle total au développeur.',

'Symfony UX introduces a customizable UI toolkit enabling modern interface development with full developer control over components.',

'Améliore la productivité frontend. Permet de créer des interfaces cohérentes et modernes rapidement. Donne un contrôle total sur le code UI. Représente une compétence recherchée sur le marché du travail.',

'Improves frontend productivity. Enables consistent modern UI development. Provides full control over UI code. Represents a valuable professional skill.',

'2026-01-08'
);

INSERT INTO sources (article_id, nom_source, url) VALUES
(1, 'PHP Weekly', 'https://www.phpweekly.com/archive/2025-11-13.html'),

(2, 'GitHub', 'https://github.com/advisories/GHSA-3rg7-wf37-54rm'),
(2, 'Symfony', 'https://symfony.com/blog/cve-2025-64500-incorrect-parsing-of-path-info-can-lead-to-limited-authorization-bypass'),

(3, 'Symfony', 'https://symfony.com/blog/symfony-8-0-0-released'),

(4, 'Symfony Blog', 'https://symfony.com/blog/kicking-off-the-symfony-ai-initiative'),
(4, 'Symfony Blog (vidéo)', 'https://symfony.com/blog/'),
(4, 'JoliCode', 'https://jolicode.com/blog/symfony-ai-simplifier-lanalyse-de-similarites-de-textes-et-linteraction-avec-vos-llms-favoris'),

(5, 'PHP.net', 'https://www.php.net/releases/8.5/en.php'),
(5, 'SensioLabs', 'https://sensiolabs.com/fr/blog/2025/nouveautes-php-8-5'),
(5, 'Les-Tilleuls.coop', 'https://les-tilleuls.coop/blog/sortie-de-php-8-5-ce-quil-faut-retenir'),
(5, 'Kinsta', 'https://kinsta.com/fr/blog/php-8-5/'),

(6, 'Symfony UX', 'https://ux.symfony.com/toolkit');

INSERT INTO certification (document, note_fr, note_en, organisme, date_obtention) VALUES
('diplome_brevet.pdf',
'blabla',
'blibli',
'Diplôme National du Brevet', '2021-07-7'),

('diplome_bac.pdf',
'blabla',
'blibli',
'Diplôme du Baccalauréat Technologique', '2024-09-18'),

('Concevez_votre_site_web_avec_PHP_et_MySQL.png',
'blabla',
'blibli',
'OpenClassRooms', '2025-03-03'),

('Decouvrez_le_fonctionnement_des_algorithmes.png',
'blabla',
'blibli',
'OpenClassRooms', '2025-09-15'),

('mooc-Maxime_Allart.pdf',
'blabla',
'blibli',
'SecNum académie', '2025-09-15'),

('Apprenez_les_bases_du_langage_Python.png',
'blabla',
'blibli',
'OpenClassRooms', '2025-09-29'),

('Apprenez_a_programmer_en_C.png',
'blabla',
'blibli',
'OpenClassRooms', '2025-10-13'),

('initiez-vous_a_intelligence_artificielle.png',
'blabla',
'blibli',
'OpenClassRooms', '2025-11-03'),

('Apprenez_a_programmer_avec_JavaScript.png',
'blabla',
'blibli',
'OpenClassRooms', '2025-12-01'),

('Gerez_du_code_avec_Git_et_GitHub.png',
'blabla',
'blibli',
'OpenClassRooms', '2025-12-12'),

('Construisez_un_site_web_a_aide_du_framework_Symfony_7.png',
'blabla',
'blibli',
'OpenClassRooms', '2026-03-02'),

('certification-pix.pdf', 
'blabla', 
'blibli',
'PIX', '2026-03-12');