Aller au contenu

« Module:Episode/SGU/Season1 » : différence entre les versions

De Stargate Wiki Sémantique
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
-- Module:Episode/SGU/Season1
-- Module:Episode/SGU/Season1
-- Stargate Universe — Saison 1 (20 épisodes)
-- Stargate Universe — Saison 1 (VF)
-- Conforme au modèle compact fourni (make_aliases + episodes + export)
-- Version optimisée pour MultiSeries (pas de mapping manuel)


local season = {}
local S1 = {}


------------------------------------------------------------
local function E(id, page, fr, vo, ep, aliases)
-- Fonction utilitaire interne pour générer les alias
season[id] = {
------------------------------------------------------------
id = id,
local function make_aliases(id, title_fr, title_vo, episode)
namespace = "Épisode",
page_title = page,
local a = {}
title_fr = fr,
title_vo = vo,
season = 1,
episode = ep,
property = page,
aliases = aliases,
}
end


-- Alias bruts VF / VO
----------------------------------------------------------------------
table.insert(a, title_fr)
-- S01E01 — Air (1re partie)
table.insert(a, title_vo)
----------------------------------------------------------------------
E("SGU-S01E01",
"Air, 1re partie",
"''Air'', 1{{re}} partie",
"\"Air\", Part 1",
1,
{
"sgu s01e01", "sgu 101", "sgu 1x01",
"air 1re partie", "air part 1",
"air",
}
)


-- Alias techniques
----------------------------------------------------------------------
table.insert(a, id)
-- S01E02 — Air (2e partie)
table.insert(a, episode)
----------------------------------------------------------------------
E("SGU-S01E02",
"Air, 2e partie",
"''Air'', 2{{e}} partie",
"\"Air\", Part 2",
2,
{
"sgu s01e02", "sgu 102", "sgu 1x02",
"air 2e partie", "air part 2",
}
)


-- Variantes usuelles
----------------------------------------------------------------------
table.insert(a, id:gsub("-", " "))
-- S01E03 — Air (3e partie)
table.insert(a, id:gsub("S(%d%d)E(%d%d)", "%1x%2"))
----------------------------------------------------------------------
E("SGU-S01E03",
"Air, 3e partie",
"''Air'', 3{{e}} partie",
"\"Air\", Part 3",
3,
{
"sgu s01e03", "sgu 103", "sgu 1x03",
"air 3e partie", "air part 3",
}
)


return a
----------------------------------------------------------------------
end
-- S01E04 — Ombre et Lumière (1re partie)
----------------------------------------------------------------------
E("SGU-S01E04",
"Ombre et Lumière, 1re partie",
"''Ombre et Lumière'', 1{{re}} partie",
"\"Darkness\"",
4,
{
"sgu s01e04", "sgu 104", "sgu 1x04",
"ombre et lumiere 1re partie",
"ombre et lumiere",
"darkness",
}
)


----------------------------------------------------------------------
------------------------------------------------------------
-- Données des épisodes SGU Saison 1 (selon fichier joint)
-- S01E05 — Ombre et Lumière (2e partie)
----------------------------------------------------------------------
------------------------------------------------------------
E("SGU-S01E05",
"Ombre et Lumière, 2e partie",
"''Ombre et Lumière'', 2{{e}} partie",
"\"Light\"",
5,
{
"sgu s01e05", "sgu 105", "sgu 1x05",
"ombre et lumiere 2e partie",
"light",
}
)


local episodes = {
----------------------------------------------------------------------
{
-- S01E06 — Eau
id = "SGU-S01E01",
----------------------------------------------------------------------
series = "SGU",
E("SGU-S01E06",
season = 1,
"Eau",
episode = 1,
"''Eau''",
namespace = "Épisode",
"\"Water\"",
page_title = "Air, 1re partie",
6,
title_fr = "Air, 1{{re}} partie",
{
"sgu s01e06", "sgu 106", "sgu 1x06",
title_vo = "Air, Part 1",
aliases = make_aliases("SGU-S01E01", "Air 1re partie", "Air part 1", "1")
"eau", "water",
}
},
{
)
id = "SGU-S01E02",
series = "SGU",
season = 1,
episode = 2,
namespace = "Épisode",
page_title = "Air, 2e partie",
title_fr = "Air, 2{{e}} partie",
title_vo = "Air, Part 2",
aliases = make_aliases("SGU-S01E02", "Air 2e partie", "Air part 2", "2")
},
{
id = "SGU-S01E03",
series = "SGU",
season = 1,
episode = 3,
namespace = "Épisode",
page_title = "Air, 3e partie",
title_fr = "Air, 3{{e}} partie",
title_vo = "Air, Part 3",
aliases = make_aliases("SGU-S01E03", "Air 3e partie", "Air part 3", "3")
},
{
id = "SGU-S01E04",
series = "SGU",
season = 1,
episode = 4,
namespace = "Épisode",
page_title = "Ombre et Lumière, 1re partie",
title_fr = "Ombre et Lumière, 1{{re}} partie",
title_vo = "Darkness",
aliases = make_aliases("SGU-S01E04", "Ombre et lumiere 1re partie", "Darkness", "4")
},
{
id = "SGU-S01E05",
series = "SGU",
season = 1,
episode = 5,
namespace = "Épisode",
page_title = "Ombre et Lumière, 2e partie",
title_fr = "Ombre et Lumière, 2{{e}} partie",
title_vo = "Light",
aliases = make_aliases("SGU-S01E05", "Ombre et lumiere 2e partie", "Light", "5")
},
{
id = "SGU-S01E06",
series = "SGU",
season = 1,
episode = 6,
namespace = "Épisode",
page_title = "Eau",
title_fr = "Eau",
title_vo = "Water",
aliases = make_aliases("SGU-S01E06", "Eau", "Water", "6")
},
{
id = "SGU-S01E07",
series = "SGU",
season = 1,
episode = 7,
namespace = "Épisode",
page_title = "Terre",
title_fr = "Terre",
title_vo = "Earth",
aliases = make_aliases("SGU-S01E07", "Terre", "Earth", "7")
},
{
id = "SGU-S01E08",
series = "SGU",
season = 1,
episode = 8,
namespace = "Épisode",
page_title = "Les Naufragés du temps",
title_fr = "Les Naufragés du temps",
title_vo = "Time",
aliases = make_aliases("SGU-S01E08", "Les naufrages du temps", "Time", "8")
},
{
id = "SGU-S01E09",
series = "SGU",
season = 1,
episode = 9,
namespace = "Épisode",
page_title = "Un nouvel espoir",
title_fr = "Un nouvel espoir",
title_vo = "Life",
aliases = make_aliases("SGU-S01E09", "Un nouvel espoir", "Life", "9")
},
{
id = "SGU-S01E10",
series = "SGU",
season = 1,
episode = 10,
namespace = "Épisode",
page_title = "Soupçons",
title_fr = "Soupçons",
title_vo = "Justice",
aliases = make_aliases("SGU-S01E10", "Soupcons", "Justice", "10")
},
{
id = "SGU-S01E11",
series = "SGU",
season = 1,
episode = 11,
namespace = "Épisode",
page_title = "Premier Contact",
title_fr = "Premier Contact",
title_vo = "Space",
aliases = make_aliases("SGU-S01E11", "Premier contact", "Space", "11")
},
{
id = "SGU-S01E12",
series = "SGU",
season = 1,
episode = 12,
namespace = "Épisode",
page_title = "Mutinerie",
title_fr = "Mutinerie",
title_vo = "Divided",
aliases = make_aliases("SGU-S01E12", "Mutinerie", "Divided", "12")
},
{
id = "SGU-S01E13",
series = "SGU",
season = 1,
episode = 13,
namespace = "Épisode",
page_title = "Éden",
title_fr = "Éden",
title_vo = "Faith",
aliases = make_aliases("SGU-S01E13", "Eden", "Faith", "13")
},
{
id = "SGU-S01E14",
series = "SGU",
season = 1,
episode = 14,
namespace = "Épisode",
page_title = "Regrets éternels",
title_fr = "Regrets éternels",
title_vo = "Human",
aliases = make_aliases("SGU-S01E14", "Regrets eternels", "Human", "14")
},
{
id = "SGU-S01E15",
series = "SGU",
season = 1,
episode = 15,
namespace = "Épisode",
page_title = "Seuls au monde",
title_fr = "Seuls au monde",
title_vo = "Lost",
aliases = make_aliases("SGU-S01E15", "Seuls au monde", "Lost", "15")
},
{
id = "SGU-S01E16",
series = "SGU",
season = 1,
episode = 16,
namespace = "Épisode",
page_title = "À la dérive",
title_fr = "À la dérive",
title_vo = "Sabotage",
aliases = make_aliases("SGU-S01E16", "A la derive", "Sabotage", "16")
},
{
id = "SGU-S01E17",
series = "SGU",
season = 1,
episode = 17,
namespace = "Épisode",
page_title = "La Somme de toutes les peurs",
title_fr = "La Somme de toutes les peurs",
title_vo = "Pain",
aliases = make_aliases("SGU-S01E17", "La somme de toutes les peurs", "Pain", "17")
},
{
id = "SGU-S01E18",
series = "SGU",
season = 1,
episode = 18,
namespace = "Épisode",
page_title = "Ennemi intérieur",
title_fr = "Ennemi intérieur",
title_vo = "Subversion",
aliases = make_aliases("SGU-S01E18", "Ennemi interieur", "Subversion", "18")
},
{
id = "SGU-S01E19",
series = "SGU",
season = 1,
episode = 19,
namespace = "Épisode",
page_title = "L'Assaut, 1re partie",
title_fr = "L'Assaut, 1{{re}} partie",
title_vo = "Incursion, Part 1",
aliases = make_aliases("SGU-S01E19", "Lassaut 1re partie", "Incursion part 1", "19")
},
{
id = "SGU-S01E20",
series = "SGU",
season = 1,
episode = 20,
namespace = "Épisode",
page_title = "L'Assaut, 2e partie",
title_fr = "L'Assaut, 2{{e}} partie",
title_vo = "Incursion, Part 2",
aliases = make_aliases("SGU-S01E20", "Lassaut 2e partie", "Incursion part 2", "20")
},
}


----------------------------------------------------------------------
------------------------------------------------------------
-- S01E07 Terre
-- Export des épisodes
----------------------------------------------------------------------
------------------------------------------------------------
for _, ep in ipairs(episodes) do
E("SGU-S01E07",
S1[ep.id] = ep
"Terre",
end
"''Terre''",
"\"Earth\"",
7,
{
"sgu s01e07", "sgu 107", "sgu 1x07",
"terre", "earth",
}
)

----------------------------------------------------------------------
-- S01E08 — Les Naufragés du temps
----------------------------------------------------------------------
E("SGU-S01E08",
"Les Naufragés du temps",
"''Les Naufragés du temps''",
"\"Time\"",
8,
{
"sgu s01e08", "sgu 108", "sgu 1x08",
"les naufrages du temps", "time",
}
)

----------------------------------------------------------------------
-- S01E09 — Un nouvel espoir
----------------------------------------------------------------------
E("SGU-S01E09",
"Un nouvel espoir",
"''Un nouvel espoir''",
"\"Life\"",
9,
{
"sgu s01e09", "sgu 109", "sgu 1x09",
"un nouvel espoir", "life",
}
)

----------------------------------------------------------------------
-- S01E10 — Soupçons
----------------------------------------------------------------------
E("SGU-S01E10",
"Soupçons",
"''Soupçons''",
"\"Justice\"",
10,
{
"sgu s01e10", "sgu 110", "sgu 1x10",
"soupcons", "justice",
}
)

----------------------------------------------------------------------
-- S01E11 — Premier Contact
----------------------------------------------------------------------
E("SGU-S01E11",
"Premier Contact",
"''Premier Contact''",
"\"Space\"",
11,
{
"sgu s01e11", "sgu 111", "sgu 1x11",
"premier contact", "space",
}
)

----------------------------------------------------------------------
-- S01E12 — Mutinerie
----------------------------------------------------------------------
E("SGU-S01E12",
"Mutinerie",
"''Mutinerie''",
"\"Divided\"",
12,
{
"sgu s01e12", "sgu 112", "sgu 1x12",
"mutinerie", "divided",
}
)

----------------------------------------------------------------------
-- S01E13 — Éden
----------------------------------------------------------------------
E("SGU-S01E13",
"Éden",
"''Éden''",
"\"Faith\"",
13,
{
"sgu s01e13", "sgu 113", "sgu 1x13",
"eden", "faith",
}
)

----------------------------------------------------------------------
-- S01E14 — Regrets éternels
----------------------------------------------------------------------
E("SGU-S01E14",
"Regrets éternels",
"''Regrets éternels''",
"\"Human\"",
14,
{
"sgu s01e14", "sgu 114", "sgu 1x14",
"regrets eternels", "human",
}
)

----------------------------------------------------------------------
-- S01E15 — Seuls au monde
----------------------------------------------------------------------
E("SGU-S01E15",
"Seuls au monde",
"''Seuls au monde''",
"\"Lost\"",
15,
{
"sgu s01e15", "sgu 115", "sgu 1x15",
"seuls au monde", "lost",
}
)

----------------------------------------------------------------------
-- S01E16 — À la dérive
----------------------------------------------------------------------
E("SGU-S01E16",
"À la dérive",
"''À la dérive''",
"\"Sabotage\"",
16,
{
"sgu s01e16", "sgu 116", "sgu 1x16",
"a la derive", "sabotage",
}
)

----------------------------------------------------------------------
-- S01E17 — La Somme de toutes les peurs
----------------------------------------------------------------------
E("SGU-S01E17",
"La Somme de toutes les peurs",
"''La Somme de toutes les peurs''",
"\"Pain\"",
17,
{
"sgu s01e17", "sgu 117", "sgu 1x17",
"la somme de toutes les peurs", "pain",
}
)

----------------------------------------------------------------------
-- S01E18 — Ennemi intérieur
----------------------------------------------------------------------
E("SGU-S01E18",
"Ennemi intérieur",
"''Ennemi intérieur''",
"\"Subversion\"",
18,
{
"sgu s01e18", "sgu 118", "sgu 1x18",
"ennemi interieur", "subversion",
}
)

----------------------------------------------------------------------
-- S01E19 — L'Assaut (1re partie)
----------------------------------------------------------------------
E("SGU-S01E19",
"L'Assaut, 1re partie",
"''L'Assaut'', 1{{re}} partie",
"\"Incursion\", Part 1",
19,
{
"sgu s01e19", "sgu 119", "sgu 1x19",
"lassaut 1re partie", "incursion part 1",
"lassaut", "incursion",
}
)

----------------------------------------------------------------------
-- S01E20 — L'Assaut (2e partie)
----------------------------------------------------------------------
E("SGU-S01E20",
"L'Assaut, 2e partie",
"''L'Assaut'', 2{{e}} partie",
"\"Incursion\", Part 2",
20,
{
"sgu s01e20", "sgu 120", "sgu 1x20",
"lassaut 2e partie", "incursion part 2",
}
)


return season
return S1

Dernière version du 1 juin 2026 à 21:15

Documentation icon Documentation module[créer]
-- Module:Episode/SGU/Season1
-- Stargate Universe — Saison 1 (VF)
-- Conforme au modèle compact fourni (make_aliases + episodes + export)

local S1 = {}

------------------------------------------------------------
-- Fonction utilitaire interne pour générer les alias
------------------------------------------------------------
local function make_aliases(id, title_fr, title_vo, episode)
    local a = {}

    -- Alias bruts VF / VO
    table.insert(a, title_fr)
    table.insert(a, title_vo)

    -- Alias techniques
    table.insert(a, id)
    table.insert(a, episode)

    -- Variantes usuelles
    table.insert(a, id:gsub("-", " "))
    table.insert(a, id:gsub("S(%d%d)E(%d%d)", "%1x%2"))

    return a
end

------------------------------------------------------------
-- Données des épisodes SGU Saison 1 (selon fichier joint)
------------------------------------------------------------

local episodes = {
    {
        id = "SGU-S01E01",
        series = "SGU",
        season = 1,
        episode = 1,
        namespace = "Épisode",
        page_title = "Air, 1re partie",
        title_fr = "Air, 1{{re}} partie",
        title_vo = "Air, Part 1",
        aliases = make_aliases("SGU-S01E01", "Air 1re partie", "Air part 1", "1")
    },
    {
        id = "SGU-S01E02",
        series = "SGU",
        season = 1,
        episode = 2,
        namespace = "Épisode",
        page_title = "Air, 2e partie",
        title_fr = "Air, 2{{e}} partie",
        title_vo = "Air, Part 2",
        aliases = make_aliases("SGU-S01E02", "Air 2e partie", "Air part 2", "2")
    },
    {
        id = "SGU-S01E03",
        series = "SGU",
        season = 1,
        episode = 3,
        namespace = "Épisode",
        page_title = "Air, 3e partie",
        title_fr = "Air, 3{{e}} partie",
        title_vo = "Air, Part 3",
        aliases = make_aliases("SGU-S01E03", "Air 3e partie", "Air part 3", "3")
    },
    {
        id = "SGU-S01E04",
        series = "SGU",
        season = 1,
        episode = 4,
        namespace = "Épisode",
        page_title = "Ombre et Lumière, 1re partie",
        title_fr = "Ombre et Lumière, 1{{re}} partie",
        title_vo = "Darkness",
        aliases = make_aliases("SGU-S01E04", "Ombre et lumiere 1re partie", "Darkness", "4")
    },
    {
        id = "SGU-S01E05",
        series = "SGU",
        season = 1,
       episode = 5,
        namespace = "Épisode",
        page_title = "Ombre et Lumière, 2e partie",
        title_fr = "Ombre et Lumière, 2{{e}} partie",
        title_vo = "Light",
        aliases = make_aliases("SGU-S01E05", "Ombre et lumiere 2e partie", "Light", "5")
    },
    {
        id = "SGU-S01E06",
        series = "SGU",
        season = 1,
        episode = 6,
        namespace = "Épisode",
        page_title = "Eau",
        title_fr = "Eau",
        title_vo = "Water",
        aliases = make_aliases("SGU-S01E06", "Eau", "Water", "6")
    },
    {
        id = "SGU-S01E07",
        series = "SGU",
        season = 1,
        episode = 7,
        namespace = "Épisode",
        page_title = "Terre",
        title_fr = "Terre",
        title_vo = "Earth",
        aliases = make_aliases("SGU-S01E07", "Terre", "Earth", "7")
    },
    {
        id = "SGU-S01E08",
        series = "SGU",
        season = 1,
        episode = 8,
        namespace = "Épisode",
        page_title = "Les Naufragés du temps",
        title_fr = "Les Naufragés du temps",
        title_vo = "Time",
        aliases = make_aliases("SGU-S01E08", "Les naufrages du temps", "Time", "8")
    },
    {
        id = "SGU-S01E09",
        series = "SGU",
        season = 1,
        episode = 9,
        namespace = "Épisode",
        page_title = "Un nouvel espoir",
        title_fr = "Un nouvel espoir",
        title_vo = "Life",
        aliases = make_aliases("SGU-S01E09", "Un nouvel espoir", "Life", "9")
    },
    {
        id = "SGU-S01E10",
        series = "SGU",
        season = 1,
        episode = 10,
        namespace = "Épisode",
        page_title = "Soupçons",
        title_fr = "Soupçons",
        title_vo = "Justice",
        aliases = make_aliases("SGU-S01E10", "Soupcons", "Justice", "10")
    },
    {
        id = "SGU-S01E11",
        series = "SGU",
        season = 1,
        episode = 11,
        namespace = "Épisode",
        page_title = "Premier Contact",
        title_fr = "Premier Contact",
        title_vo = "Space",
        aliases = make_aliases("SGU-S01E11", "Premier contact", "Space", "11")
    },
    {
        id = "SGU-S01E12",
        series = "SGU",
        season = 1,
        episode = 12,
        namespace = "Épisode",
        page_title = "Mutinerie",
        title_fr = "Mutinerie",
        title_vo = "Divided",
        aliases = make_aliases("SGU-S01E12", "Mutinerie", "Divided", "12")
    },
    {
        id = "SGU-S01E13",
        series = "SGU",
        season = 1,
        episode = 13,
        namespace = "Épisode",
        page_title = "Éden",
        title_fr = "Éden",
        title_vo = "Faith",
        aliases = make_aliases("SGU-S01E13", "Eden", "Faith", "13")
    },
    {
        id = "SGU-S01E14",
        series = "SGU",
        season = 1,
        episode = 14,
        namespace = "Épisode",
        page_title = "Regrets éternels",
        title_fr = "Regrets éternels",
        title_vo = "Human",
        aliases = make_aliases("SGU-S01E14", "Regrets eternels", "Human", "14")
    },
    {
        id = "SGU-S01E15",
        series = "SGU",
        season = 1,
        episode = 15,
        namespace = "Épisode",
        page_title = "Seuls au monde",
        title_fr = "Seuls au monde",
        title_vo = "Lost",
        aliases = make_aliases("SGU-S01E15", "Seuls au monde", "Lost", "15")
    },
    {
        id = "SGU-S01E16",
        series = "SGU",
        season = 1,
        episode = 16,
        namespace = "Épisode",
        page_title = "À la dérive",
        title_fr = "À la dérive",
        title_vo = "Sabotage",
        aliases = make_aliases("SGU-S01E16", "A la derive", "Sabotage", "16")
    },
    {
        id = "SGU-S01E17",
        series = "SGU",
        season = 1,
        episode = 17,
        namespace = "Épisode",
        page_title = "La Somme de toutes les peurs",
        title_fr = "La Somme de toutes les peurs",
        title_vo = "Pain",
        aliases = make_aliases("SGU-S01E17", "La somme de toutes les peurs", "Pain", "17")
    },
    {
        id = "SGU-S01E18",
        series = "SGU",
        season = 1,
        episode = 18,
        namespace = "Épisode",
        page_title = "Ennemi intérieur",
        title_fr = "Ennemi intérieur",
        title_vo = "Subversion",
        aliases = make_aliases("SGU-S01E18", "Ennemi interieur", "Subversion", "18")
    },
    {
        id = "SGU-S01E19",
        series = "SGU",
        season = 1,
        episode = 19,
        namespace = "Épisode",
        page_title = "L'Assaut, 1re partie",
        title_fr = "L'Assaut, 1{{re}} partie",
        title_vo = "Incursion, Part 1",
        aliases = make_aliases("SGU-S01E19", "Lassaut 1re partie", "Incursion part 1", "19")
    },
    {
        id = "SGU-S01E20",
        series = "SGU",
        season = 1,
        episode = 20,
        namespace = "Épisode",
        page_title = "L'Assaut, 2e partie",
        title_fr = "L'Assaut, 2{{e}} partie",
        title_vo = "Incursion, Part 2",
        aliases = make_aliases("SGU-S01E20", "Lassaut 2e partie", "Incursion part 2", "20")
    },
}

------------------------------------------------------------
-- Export des épisodes
------------------------------------------------------------
for _, ep in ipairs(episodes) do
    S1[ep.id] = ep
end

return S1