diff --git a/public/assets/images/learning_theme_2d.png b/public/assets/images/learning_theme_2d.png index 2877b0f54c612958690a5f7db96f1159755ea892..3419306cbd8556f14322d48520f1a6db31e2f1a0 100755 Binary files a/public/assets/images/learning_theme_2d.png and b/public/assets/images/learning_theme_2d.png differ diff --git a/public/assets/images/learning_theme_coding.png b/public/assets/images/learning_theme_coding.png index b2e86cb98c2b7553a2e021483a5097249aa92010..82efabc56b127ef43be662d012064b1c68786afb 100755 Binary files a/public/assets/images/learning_theme_coding.png and b/public/assets/images/learning_theme_coding.png differ diff --git a/public/assets/images/learning_theme_math.png b/public/assets/images/learning_theme_math.png index 4db8753f5879146b36d62c2e1d51098a255aa657..f57bbfcc7e79ac4fd7a756bbdd6fa5ee2f5882be 100755 Binary files a/public/assets/images/learning_theme_math.png and b/public/assets/images/learning_theme_math.png differ diff --git a/public/assets/images/learning_theme_pc.png b/public/assets/images/learning_theme_pc.png index 4a9f92981c7b457485736d04590719a5d8546c63..f0f7c7d4db71de8b67fcf0d989e2c8dc42252321 100755 Binary files a/public/assets/images/learning_theme_pc.png and b/public/assets/images/learning_theme_pc.png differ diff --git a/public/education/education.js b/public/education/education.js index 7caba152c0cbeba6e3d4eb8b0794a5a2fef1f4e3..57b79f183166a22c797bca269726b8a91de37967 100644 --- a/public/education/education.js +++ b/public/education/education.js @@ -123,50 +123,49 @@ module.exports = WebPage; const { images_url } = require("../../../constants"); const WebPage = require("../../lib/web-page"); -// const GameStudioClub = require("./components/game-studio-club"); -// const Popularization = require("./components/popularization"); const EDU_THEMES = [ - { - title: "Game Studio Club", - description: "Conception, graphisme et animation, programmation, je vous accompagne dans la découverte des techniques pour créer un jeu vidéo de A à Z", - image: "learning_theme_conception.png", - pageUrl: "game-studio-club", - }, + // { + // title: "Création de jeux vidéo", + // description: "Conception, graphisme et animation, programmation, je vous accompagne dans la découverte des techniques pour créer un jeu vidéo de A à Z", + // image: "learning_theme_conception.png", + // pageUrl: "gamedev", + // }, { title: "Programmation", - description: "Vous avez une idée de projet à réaliser en programmation ou vous êtes simplement curieux ? Apprenez à programmer avec différent langages, pour du web du logiciel ou du jeu vidéo.", + description: `<b>Franchissez le mur du code !</b><br /> + Apprenez à programmer avec différents langages (Python, Javascript, C ...), pour du web, du logiciel, du jeu vidéo ou autre.`, image: "learning_theme_coding.png", - pageUrl: "coding", + // pageUrl: "coding", }, { title: "Dessin numérique et animation 2D", - description: "Maîtriser des logiciels libres de création graphique 2D et d'animation.", + description: `Apprenez à utiliser des logiciels libres de création graphique 2D et d'animation.<br /> + Créez des personnages et des décors, menez un projet de dessin animé, d'illustration ou de jeu vidéo`, image: "learning_theme_2d.png", - pageUrl: "2d", + // pageUrl: "2d", }, { title: "Maths et physiques", - description: "Fâché avec les maths ? Aborder les notions fondamentales de façon décontractée pour le plaisir de comprendre.", + description: "Abordez les notions fondamentales de façon décontractée pour le plaisir de comprendre.", image: "learning_theme_math.png", - pageUrl: "math", - }, - { - title: "Musique et sons électroniques", - description: "Maîtriser des logiciels libres de composition musicales, de synthèse sonore et de prise de son.", - image: "learning_theme_sound.png", - pageUrl: "sound", + // pageUrl: "math", }, + // { + // title: "Musique et sons électroniques", + // description: "Découvrez des logiciels libres de composition musicales, de synthèse sonore et de prise de son.", + // image: "learning_theme_sound.png", + // pageUrl: "sound", + // }, { title: "Aide informatique générale", - description: "Perdu avec votre ordinateur, les logicels, internet ? Je vous aide pas à pas à comprendre les fondamentaux et à utiliser sereinement la technologie.", + description: "Perdu avec votre ordinateur ou votre smartphone, les logiciels, internet ? Je vous aide pas à pas à comprendre les fondamentaux et à utiliser sereinement la technologie.", image: "learning_theme_pc.png", - pageUrl: "popularization" + // pageUrl: "popularization" } ]; class EducationPage extends WebPage { - render() { return { tag: "div", @@ -195,7 +194,8 @@ class EducationPage extends WebPage { { tag: "h1", contents: "Pédagogie" }, { tag: "p", - contents: `Animations autour de la création de jeux vidéos, vulgarisation numérique.`, + contents: `Animation d'ateliers informatiques accessibles à tous. + Programmation, graphisme 2D, jeux vidéo, vulgarisation, accompagnement de projet, etc.`, }, ], }, @@ -206,66 +206,200 @@ class EducationPage extends WebPage { class: "title-banner", }, { - tag: "div", - class: "page-contents-center", + tag: "section", + class: "bg-dark", contents: [ { - tag: "p", - class: "edu-pitch", - contents: `La pédagogie est un des objectifs majeurs de Kuadrado Software. <br /> - L'informatique est aujourd'hui un élément incontournable de notre société et j'ai la conviction - qu'il est fondamental de pouvoir accéder de façon simple à une forme d'apprentissage et de partage de connaissances.<br /> - Je propose donc des séances d'enseignement autour des sujets que je suis en position de transmettre en tant que développeur et artiste.` + tag: "div", + class: "page-contents-center", + contents: [ + { + tag: "ul", + class: "edu-themes", + contents: EDU_THEMES.map(theme => { + return { + tag: "li", + class: "edu-theme", + contents: [ + { tag: "img", width: 250, height: 140, class: "pixelated", src: `${images_url}${theme.image}` }, + { tag: "h3", contents: theme.title }, + { tag: "p", contents: theme.description }, + ] + } + }) + }, + ] }, + ] + }, + { + tag: "section", + class: "practical-info", + contents: [ { - tag: "ul", - class: "edu-themes", - contents: EDU_THEMES.map(theme => { - return { - tag: "li", - class: "edu-theme", + tag: "div", + class: "page-contents-center", + contents: [ + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Pour qui ?" }, + { + tag: "p", + class: "info-body", + contents: `Les ateliers sont accessibles aux adultes comme aux enfants, plutôt à partir de 12 ans.<br/> + Les séances ont lieu en groupes mixtes. + ` + } + ] + }, + { + tag: "div", + class: "info-block", contents: [ + { tag: "h3", class: "info-title", contents: "Où ça ?" }, { - tag: "a", - href: theme.pageUrl, + tag: "p", + class: "info-body", + contents: "Dans mon local professionnel : <br /><blue>32 rue Simon Vialet, passage du Cheminou, 07240 Vernoux en Vivarais.</blue>" + } + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Quel matériel ?" }, + { + tag: "p", + class: "info-body", + contents: `Le matériel informatique est fourni sur place (ordinateurs et tablettes graphique) + mais il est possible d'amener le sien. + <br />Il est recommandé d'apporter au moins une clé USB pour faire ses sauvegardes.` + } + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Quand ?" }, + { + tag: "ul", + class: "info-body tabled", contents: [ - { tag: "h3", contents: theme.title }, - { tag: "img", class: "pixelated", src: `${images_url}/${theme.image}` }, - { tag: "p", contents: theme.description }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Mardi" }, + { tag: "span", contents: "16h - 18h" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Mercredi" }, + { tag: "span", contents: "14h - 16h" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Jeudi" }, + { tag: "span", contents: "16h - 18h" }, + ] + }, + { + tag: "li", + class: "fullwidth", + contents: "<em><blue>Ouvert de Septembre à Juin, sauf vacances scolaires ou fermetures exceptionnelles</blue></em>" + } + ] + }, + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Combien ça coûte ?" }, + { + tag: "ul", + class: "info-body tabled", + contents: [ + { + tag: "li", + contents: [ + { tag: "span", contents: "Inscription au mois" }, + { tag: "span", contents: "50€" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Inscription à la séance" }, + { tag: "span", contents: "15€" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Cours particuliers" }, + { tag: "span", contents: "30€/h, sur place ou en visio. Horaires à définir." }, + ] + } + ] + } + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Pour s'inscrire ou en savoir plus" }, + { + tag: "ul", + class: "info-body", + contents: [ + { + tag: "li", + contents: [ + { tag: "span", contents: "Me contacter" }, + { + tag: "a", + href: "mailto:contact@kuadrado-software.fr", + contents: "contact@kuadrado-software.fr", + } + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "" }, + { + tag: "a", + href: "tel:+33475780872", + contents: "04 75 78 08 72", + property: "telephone", + }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "ou passer directement me voir au local !" } + ] + } ] } - ] } - }) - }, - { - tag: "div", - contents: "Pour qui ? Tout le monde à partir de 12 ans, ados ou adultes." - }, - { - tag: "div", - contents: "Ou ça ? Dans mon local professionel 32 rue Simon Vialet Vernoux" - }, - { - tag: "div", - contents: "Tarfs: 60 bal par mois. Ou 30€/h pour des cours particuliers, visio possible." - }, - { - tag: "div", - contents: "Horaires: mardi 17h 18h30, mercredi 15h 16h30, jeudi 17h 18h30" - }, - { - tag: "div", - contents: "Matos informatique fournis sur place, on peut amener le sien si on veut." - }, - { - tag: "div", - contents: "Pour s'inscrire: Me contacter ou passer me voir. Télécharger le ficher d'inscription -> ici" + ] } ] - }, + }, ], }; } @@ -297,17 +431,15 @@ module.exports = function runPage(PageComponent) { const { images_url } = require("../../../constants"); const NAV_MENU_ITEMS = [ - ["/games/", "Jeux"], - [ - "/education/", - "Pédagogie", - [ - // submenu - ["/education/#game-studio-club", "Game Studio Club"], - ["/education/#popularization", "Vulgarisation numérique"], - ], - ], - ["/software-development/", "Software"], + { url: "/games/", text: "Jeux" }, + { + url: "/education/", + text: "Pédagogie", + // submenu: [ + // { url: "/gamedev", text: "Création de jeux vidéo" }, + // ] + }, + { url: "/software-development/", text: "Software" } ]; class NavBar { @@ -357,13 +489,14 @@ class NavBar { }; } - renderMenu(menuItemsArray, isSubmenu = false) { + renderMenu(menuItemsArray, isSubmenu = false, parentUrl = "") { return { tag: "ul", id: "nav-menu-list", class: isSubmenu ? "submenu" : "", - contents: menuItemsArray.map(link => { - const [href, text, submenu] = link; + contents: menuItemsArray.map(item => { + const { url, text, submenu } = item; + const href = `${parentUrl}${url}`; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -373,7 +506,7 @@ class NavBar { href, contents: text, }, - ].concat(submenu ? [this.renderMenu(submenu, true)] : []), + ].concat(submenu ? [this.renderMenu(submenu, true, url)] : []), }; }), }; @@ -459,13 +592,12 @@ class Template { }, { tag: "span", - contents: - "<b><blue>Où sommes-nous ? </blue></b>32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", + contents: "32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", }, { tag: "div", contents: [ - { tag: "strong", contents: "<blue>Nous contacter : </blue>" }, + { tag: "strong", contents: "<blue>Contact : </blue>" }, { tag: "a", href: "mailto:contact@kuadrado-software.fr", diff --git a/public/education/game-studio-club/game-studio-club.js b/public/education/gamedev/gamedev.js similarity index 50% rename from public/education/game-studio-club/game-studio-club.js rename to public/education/gamedev/gamedev.js index d4f746a95a0c38f5b1059f20b7b8ca348f0745be..3f699d870dd172ac3d42210ceec7bd42b6147d04 100644 --- a/public/education/game-studio-club/game-studio-club.js +++ b/public/education/gamedev/gamedev.js @@ -121,7 +121,8 @@ module.exports = WebPage; },{}],5:[function(require,module,exports){ "use strict"; -const { images_url } = require("../../../../constants"); +const { images_url } = require("../../../../../constants"); +const WebPage = require("../../../../lib/web-page"); const GAMEDEV_THEMES = [ { @@ -207,27 +208,8 @@ class GameStudioClub { { tag: "div", class: "title-banner game-banner", - id: "game-studio-club", // anchor id contents: [{ tag: "h2", contents: "Game Studio Club", property: "name" }], }, - // { - // tag: "div", - // class: "special-announcement", - // contents: [ - // { - // tag: "div", - // class: "page-contents-center", - // contents: [ - // { - // tag: "p", - // contents: ` - // Démarrage des séances à partir du <blue>1er Mars 2021</blue> - // `, - // }, - // ], - // }, - // ], - // }, { tag: "div", class: "section-contents page-contents-center", @@ -255,63 +237,6 @@ class GameStudioClub { }, ], }, - { - tag: "div", - class: "practical-infos", - contents: [ - { - tag: "div", - class: "info-item", - property: "about", - contents: [ - { tag: "strong", contents: "Ça se passe où ?" }, - { - tag: "span", - - contents: - "Dans les locaux,<br/><em>32 rue Simon Vialet, passage du Cheminou<br/>07240 Vernoux en Vivarais</em>", - }, - ], - }, - { - tag: "div", - class: "info-item", - property: "about", - contents: [ - { tag: "strong", contents: "Pour qui ?" }, - { - tag: "span", - contents: `Tout le monde à partir de <b><blue>12 ans</blue></b>. - <br><br><b><blue>Ados</blue></b> et <b><blue>adultes</blue></b>. - `, - }, - ], - }, - { - tag: "div", - class: "info-item", - property: "about", - contents: [ - { - tag: "strong", - contents: "Contact", - }, - { - tag: "a", - href: "tel:+33475780872", - contents: "04 75 78 08 72", - property: "telephone", - }, - { - tag: "a", - href: "mailto:contact@kuadrado-software.fr", - contents: "contact@kuadrado-software.fr", - property: "email", - }, - ], - }, - ], - }, { tag: "div", class: "list-wrapper", @@ -365,217 +290,6 @@ class GameStudioClub { }, ], }, - { - tag: "div", - class: "infos-inscriptions full-row", - property: "about", - contents: [ - { - tag: "div", - class: "groups", - contents: [ - { - tag: "h3", - contents: "Groupes", - }, - { - tag: "p", - contents: - "Les groupes sont de <b><blue>5 personnes</blue></b> maximum.", - }, - { - tag: "div", - class: "table-wrapper", - contents: [ - { - tag: "table", - contents: [ - { - tag: "tr", - contents: [ - { tag: "td", contents: "Mardi" }, - { - tag: "td", - contents: "16h - 19h", - }, - ], - }, - { - tag: "tr", - contents: [ - { tag: "td", contents: "Mercredi" }, - { - tag: "td", - contents: "14h - 17h", - }, - ], - }, - { - tag: "tr", - contents: [ - { tag: "td", contents: "Jeudi" }, - { - tag: "td", - contents: "16h - 19h", - }, - ], - }, - ], - }, - ], - }, - { - tag: "p", - contents: ` - Les séances sont accessibles sur des plages horaires de 3 heures, - mais les participants peuvent arriver et repartir à l'heure qu'ils souhaitent, - ils ne sont pas obligés de rester les 3 heures. - <br><br> - Le club est ouvert à toute personne à partir de <b><blue>12 ans</blue></b>, - adolescent ou adulte, et les groupes sont aussi <b><blue>intergénérationnels</blue></b> que possible. - `, - }, - ], - }, - { - tag: "div", - class: "pricing", - contents: [ - { - tag: "h3", - contents: "Inscription, fonctionnement et tarifs", - }, - { - tag: "p", - contents: `Vous pouvez vous inscrire dans un des groupes pour un mois ou un trimestre.<br /><br /> - Le matériel informatique (pc portable, souris, tablette graphique) est fourni sur place, mais vous pouvez amener votre propre ordinateur portable si vous le souhaitez. - `, - }, - { - tag: "div", - class: "table-wrapper", - contents: [ - { - tag: "table", - contents: [ - { - tag: "tr", - contents: [ - { - tag: "td", - contents: "Abonnement 1 mois", - }, - { - tag: "td", - contents: "(4 séances)", - }, - { - tag: "td", - contents: - "<b><blue>60€</blue></b>", - }, - ], - }, - { - tag: "tr", - contents: [ - { - tag: "td", - contents: - "Abonnement 1 trimestre", - }, - { - tag: "td", - contents: "(12 séances)", - }, - { - tag: "td", - contents: - "<b><blue>160€</blue></b>", - }, - ], - }, - ], - }, - ], - }, - { - tag: "div", - class:"documents", - contents: [ - { - tag: "div", - contents: "Télécharger la fiche d'inscription", - }, - { - tag:"div", - class: "links", - contents: [ - { - tag: "a", - class: "download-link", - download: "fiche-inscription", - href: "/assets/documents/fiche-inscription.pdf", - contents: "PDF", - }, - { - tag: "a", - class: "download-link", - download: "fiche-inscription", - href: "/assets/documents/fiche-inscription.odt", - contents: "Libre Office", - }, - ] - } - - ], - }, - ], - }, - ], - }, - { - tag: "div", - class: "teacher", - contents: [ - - { - tag: "div", - class: "teacher-card", - contents: [ - { - tag: "h3", - contents: "Animé par", - }, - { - tag: "div", - class: "pic", - contents: [ - { - tag: "img", - src: - "/assets/images/pijar_profile_lt_square.png", - }, - ], - }, - { - tag:"div", - class:"infos-text", - contents: [ - { - tag:"h4", - contents: "Pierre Jarriges" - }, - { - tag: "p", - contents: "Développeur jeu vidéo, auteur BD, compositeur." - } - ] - } - ], - }, - ], - }, ], }, ], @@ -583,15 +297,8 @@ class GameStudioClub { } } -module.exports = GameStudioClub; -},{"../../../../constants":2}],6:[function(require,module,exports){ -"use strict"; - -const WebPage = require("../../../../lib/web-page"); -const GameStudioClub = require("../../components/game-studio-club"); - -class GameStudioClubPage extends WebPage { +class GamedevPage extends WebPage { render() { return { @@ -604,16 +311,16 @@ class GameStudioClubPage extends WebPage { } } -module.exports = GameStudioClubPage; +module.exports = GamedevPage; -},{"../../../../lib/web-page":4,"../../components/game-studio-club":5}],7:[function(require,module,exports){ +},{"../../../../../constants":2,"../../../../lib/web-page":4}],6:[function(require,module,exports){ "use strict"; const runPage = require("../../../../run-page"); -const GameStudioClubPage = require("./game-studio-club"); -runPage(GameStudioClubPage); +const GamedevPage = require("./gamedev-page"); +runPage(GamedevPage); -},{"../../../../run-page":8,"./game-studio-club":6}],8:[function(require,module,exports){ +},{"../../../../run-page":7,"./gamedev-page":5}],7:[function(require,module,exports){ "use strict"; const objectHtmlRenderer = require("./lib/object-html-renderer"); @@ -625,23 +332,21 @@ module.exports = function runPage(PageComponent) { objectHtmlRenderer.renderCycle(); }; -},{"./lib/object-html-renderer":3,"./template/template":10}],9:[function(require,module,exports){ +},{"./lib/object-html-renderer":3,"./template/template":9}],8:[function(require,module,exports){ "use strict"; const { images_url } = require("../../../constants"); const NAV_MENU_ITEMS = [ - ["/games/", "Jeux"], - [ - "/education/", - "Pédagogie", - [ - // submenu - ["/education/#game-studio-club", "Game Studio Club"], - ["/education/#popularization", "Vulgarisation numérique"], - ], - ], - ["/software-development/", "Software"], + { url: "/games/", text: "Jeux" }, + { + url: "/education/", + text: "Pédagogie", + // submenu: [ + // { url: "/gamedev", text: "Création de jeux vidéo" }, + // ] + }, + { url: "/software-development/", text: "Software" } ]; class NavBar { @@ -691,13 +396,14 @@ class NavBar { }; } - renderMenu(menuItemsArray, isSubmenu = false) { + renderMenu(menuItemsArray, isSubmenu = false, parentUrl = "") { return { tag: "ul", id: "nav-menu-list", class: isSubmenu ? "submenu" : "", - contents: menuItemsArray.map(link => { - const [href, text, submenu] = link; + contents: menuItemsArray.map(item => { + const { url, text, submenu } = item; + const href = `${parentUrl}${url}`; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -707,7 +413,7 @@ class NavBar { href, contents: text, }, - ].concat(submenu ? [this.renderMenu(submenu, true)] : []), + ].concat(submenu ? [this.renderMenu(submenu, true, url)] : []), }; }), }; @@ -736,7 +442,7 @@ class NavBar { module.exports = NavBar; -},{"../../../constants":2}],10:[function(require,module,exports){ +},{"../../../constants":2}],9:[function(require,module,exports){ "use strict"; const { in_construction } = require("../../config"); @@ -793,13 +499,12 @@ class Template { }, { tag: "span", - contents: - "<b><blue>Où sommes-nous ? </blue></b>32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", + contents: "32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", }, { tag: "div", contents: [ - { tag: "strong", contents: "<blue>Nous contacter : </blue>" }, + { tag: "strong", contents: "<blue>Contact : </blue>" }, { tag: "a", href: "mailto:contact@kuadrado-software.fr", @@ -847,4 +552,4 @@ class Template { module.exports = Template; -},{"../../config":1,"../../constants":2,"./components/navbar":9}]},{},[7]); +},{"../../config":1,"../../constants":2,"./components/navbar":8}]},{},[6]); diff --git a/public/education/game-studio-club/index.html b/public/education/gamedev/index.html similarity index 96% rename from public/education/game-studio-club/index.html rename to public/education/gamedev/index.html index 64c1eed7258f9040d0b052d2d45ed85cf1654f9e..4ae9e1f17b52a02f5586c12f4ec9737f5032c061 100644 --- a/public/education/game-studio-club/index.html +++ b/public/education/gamedev/index.html @@ -11,7 +11,7 @@ <meta property="og:title" content="Kuadrado Software | Game Studio Club"/> <meta property="og:description" content="Apprendre à créer un jeu vidéo de A à Z"/> <meta property="og:type" content="website" /> - <meta property="og:url" content="https://kuadrado-software.fr/game-studio-club"/> + <meta property="og:url" content="https://kuadrado-software.fr/gamedev"/> <meta property="og:image" content="https://kuadrado-software.fr/assets/images/brain.png"/> <meta property="twitter:image" content="https://kuadrado-software.fr/assets/images/brain.png"/> <meta property="og:locale" content="fr_FR"/> @@ -31,5 +31,5 @@ <!-- The H1 tag will be never seen but it's necessary for SEO --> <main><h1 style="visibility: hidden">Kuadrado Software | Game Studio Club</h1></main> </body> - <script type="text/javascript" src="./game-studio-club.js"></script> + <script type="text/javascript" src="./gamedev.js"></script> </html> diff --git a/public/games/games.js b/public/games/games.js index 7932baaf00c1140c444bb5a3f9fa415ceaf9d7a2..38cc7a6ff80170e7bd76b965b6b3cdb60f81e26a 100644 --- a/public/games/games.js +++ b/public/games/games.js @@ -554,17 +554,15 @@ module.exports = function runPage(PageComponent) { const { images_url } = require("../../../constants"); const NAV_MENU_ITEMS = [ - ["/games/", "Jeux"], - [ - "/education/", - "Pédagogie", - [ - // submenu - ["/education/#game-studio-club", "Game Studio Club"], - ["/education/#popularization", "Vulgarisation numérique"], - ], - ], - ["/software-development/", "Software"], + { url: "/games/", text: "Jeux" }, + { + url: "/education/", + text: "Pédagogie", + // submenu: [ + // { url: "/gamedev", text: "Création de jeux vidéo" }, + // ] + }, + { url: "/software-development/", text: "Software" } ]; class NavBar { @@ -614,13 +612,14 @@ class NavBar { }; } - renderMenu(menuItemsArray, isSubmenu = false) { + renderMenu(menuItemsArray, isSubmenu = false, parentUrl = "") { return { tag: "ul", id: "nav-menu-list", class: isSubmenu ? "submenu" : "", - contents: menuItemsArray.map(link => { - const [href, text, submenu] = link; + contents: menuItemsArray.map(item => { + const { url, text, submenu } = item; + const href = `${parentUrl}${url}`; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -630,7 +629,7 @@ class NavBar { href, contents: text, }, - ].concat(submenu ? [this.renderMenu(submenu, true)] : []), + ].concat(submenu ? [this.renderMenu(submenu, true, url)] : []), }; }), }; @@ -716,13 +715,12 @@ class Template { }, { tag: "span", - contents: - "<b><blue>Où sommes-nous ? </blue></b>32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", + contents: "32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", }, { tag: "div", contents: [ - { tag: "strong", contents: "<blue>Nous contacter : </blue>" }, + { tag: "strong", contents: "<blue>Contact : </blue>" }, { tag: "a", href: "mailto:contact@kuadrado-software.fr", diff --git a/public/main.js b/public/main.js index 6199d7f8eb0ab3846598f21476bcc35cb4db143b..bc1ea8afe67521a179fc02334ea323c9ca04377a 100644 --- a/public/main.js +++ b/public/main.js @@ -766,17 +766,15 @@ module.exports = function runPage(PageComponent) { const { images_url } = require("../../../constants"); const NAV_MENU_ITEMS = [ - ["/games/", "Jeux"], - [ - "/education/", - "Pédagogie", - [ - // submenu - ["/education/#game-studio-club", "Game Studio Club"], - ["/education/#popularization", "Vulgarisation numérique"], - ], - ], - ["/software-development/", "Software"], + { url: "/games/", text: "Jeux" }, + { + url: "/education/", + text: "Pédagogie", + // submenu: [ + // { url: "/gamedev", text: "Création de jeux vidéo" }, + // ] + }, + { url: "/software-development/", text: "Software" } ]; class NavBar { @@ -826,13 +824,14 @@ class NavBar { }; } - renderMenu(menuItemsArray, isSubmenu = false) { + renderMenu(menuItemsArray, isSubmenu = false, parentUrl = "") { return { tag: "ul", id: "nav-menu-list", class: isSubmenu ? "submenu" : "", - contents: menuItemsArray.map(link => { - const [href, text, submenu] = link; + contents: menuItemsArray.map(item => { + const { url, text, submenu } = item; + const href = `${parentUrl}${url}`; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -842,7 +841,7 @@ class NavBar { href, contents: text, }, - ].concat(submenu ? [this.renderMenu(submenu, true)] : []), + ].concat(submenu ? [this.renderMenu(submenu, true, url)] : []), }; }), }; @@ -928,13 +927,12 @@ class Template { }, { tag: "span", - contents: - "<b><blue>Où sommes-nous ? </blue></b>32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", + contents: "32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", }, { tag: "div", contents: [ - { tag: "strong", contents: "<blue>Nous contacter : </blue>" }, + { tag: "strong", contents: "<blue>Contact : </blue>" }, { tag: "a", href: "mailto:contact@kuadrado-software.fr", diff --git a/public/software-development/software-development.js b/public/software-development/software-development.js index dcc038d5f8ea143e470ed45daadcb5e947509ded..19b47a496e15fcb7a1ff0f31096be70195ee9678 100644 --- a/public/software-development/software-development.js +++ b/public/software-development/software-development.js @@ -595,17 +595,15 @@ module.exports = function runPage(PageComponent) { const { images_url } = require("../../../constants"); const NAV_MENU_ITEMS = [ - ["/games/", "Jeux"], - [ - "/education/", - "Pédagogie", - [ - // submenu - ["/education/#game-studio-club", "Game Studio Club"], - ["/education/#popularization", "Vulgarisation numérique"], - ], - ], - ["/software-development/", "Software"], + { url: "/games/", text: "Jeux" }, + { + url: "/education/", + text: "Pédagogie", + // submenu: [ + // { url: "/gamedev", text: "Création de jeux vidéo" }, + // ] + }, + { url: "/software-development/", text: "Software" } ]; class NavBar { @@ -655,13 +653,14 @@ class NavBar { }; } - renderMenu(menuItemsArray, isSubmenu = false) { + renderMenu(menuItemsArray, isSubmenu = false, parentUrl = "") { return { tag: "ul", id: "nav-menu-list", class: isSubmenu ? "submenu" : "", - contents: menuItemsArray.map(link => { - const [href, text, submenu] = link; + contents: menuItemsArray.map(item => { + const { url, text, submenu } = item; + const href = `${parentUrl}${url}`; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -671,7 +670,7 @@ class NavBar { href, contents: text, }, - ].concat(submenu ? [this.renderMenu(submenu, true)] : []), + ].concat(submenu ? [this.renderMenu(submenu, true, url)] : []), }; }), }; @@ -757,13 +756,12 @@ class Template { }, { tag: "span", - contents: - "<b><blue>Où sommes-nous ? </blue></b>32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", + contents: "32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", }, { tag: "div", contents: [ - { tag: "strong", contents: "<blue>Nous contacter : </blue>" }, + { tag: "strong", contents: "<blue>Contact : </blue>" }, { tag: "a", href: "mailto:contact@kuadrado-software.fr", diff --git a/public/style/pages/education/subpages/gamedev/gamedev-page.css b/public/style/pages/education/subpages/gamedev/gamedev-page.css new file mode 100644 index 0000000000000000000000000000000000000000..a45152e24c83ec687a92cf399acd8b3b242b8d95 --- /dev/null +++ b/public/style/pages/education/subpages/gamedev/gamedev-page.css @@ -0,0 +1,3 @@ + + +/*# sourceMappingURL=gamedev-page.css.map */ diff --git a/public/style/pages/games/games.css b/public/style/pages/games/games.css index 9eb419b995bbc31b81cfe83535a1fdd0d0022897..e86516d63c998ee9dfcce27ad674fcee98d6b858 100644 --- a/public/style/pages/games/games.css +++ b/public/style/pages/games/games.css @@ -1,9 +1,9 @@ /* Error: Undefined variable. * , - * 14 | color: $light_2; + * 15 | color: $light_2; * | ^^^^^^^^ * ' - * src/pages/games/games.scss 14:28 root stylesheet */ + * src/pages/games/games.scss 15:28 root stylesheet */ body::before { font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono", @@ -13,5 +13,5 @@ body::before { padding: 1em; margin-bottom: 1em; border-bottom: 2px solid black; - content: "Error: Undefined variable.\a \2577 \a 14 \2502 color: $light_2;\a \2502 ^^^^^^^^\a \2575 \a src/pages/games/games.scss 14:28 root stylesheet"; + content: "Error: Undefined variable.\a \2577 \a 15 \2502 color: $light_2;\a \2502 ^^^^^^^^\a \2575 \a src/pages/games/games.scss 15:28 root stylesheet"; } diff --git a/public/style/style.css b/public/style/style.css index f129f4850e77f5caf46dec94407028970526e595..2fcd18b10e0ecc54f662763dcd596b8dc3851077 100644 --- a/public/style/style.css +++ b/public/style/style.css @@ -30,6 +30,10 @@ body .bg-blue { background-color: #4baabb; color: white; } +body .bg-dark { + background-color: #3c4144; + color: #aabbc8; +} body #seo-title { visibility: hidden; } @@ -824,22 +828,127 @@ main #page-container #education-page .special-announcement .page-contents-center font-weight: 600; margin: 0; } -main #page-container #education-page .edu-pitch { - font-size: 18px; -} main #page-container #education-page .edu-themes { display: grid; - grid-template-columns: 1fr 1fr 1fr; - gap: 20px; + grid-template-columns: 1fr 1fr; + gap: 50px; + font-family: monospace; + padding: 70px 0; } main #page-container #education-page .edu-themes .edu-theme { - transition: transform 0.3s; + display: grid; + grid-template-columns: auto 1fr; } -main #page-container #education-page .edu-themes .edu-theme:hover { - transform: scale(1.03); +main #page-container #education-page .edu-themes .edu-theme * { + border-style: dashed; + border-color: #00ff00; + border-width: 0 0 0 0; +} +main #page-container #education-page .edu-themes .edu-theme h3 { + color: #00ff00; + grid-row: 1; + margin: 0; + padding: 0 10px; + display: flex; + align-items: center; + border-width: 0 0 0 1px; } main #page-container #education-page .edu-themes .edu-theme img { width: 100%; + grid-row: 1/span 2; + border-width: 1px 0 1px 1px; +} +main #page-container #education-page .edu-themes .edu-theme p { + text-align: justify; + color: #72e3f0; + grid-row: 2; + margin: 0; + padding: 10px 30px 0 10px; + border-width: 1px 1px 1px 0; +} +main #page-container #education-page .edu-themes .edu-theme p * { + color: #72e3f0; +} +main #page-container #education-page .practical-info { + padding: 50px 0; +} +main #page-container #education-page .practical-info .page-contents-center { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 50px; +} +main #page-container #education-page .practical-info .page-contents-center .info-block { + display: grid; + grid-template-rows: auto 1fr; +} +main #page-container #education-page .practical-info .page-contents-center .info-block .info-title { + color: #4baabb; + margin: 0; + border-bottom: 1px dashed #aabbc8; + border-left: 1px dashed #aabbc8; + padding: 10px; +} +main #page-container #education-page .practical-info .page-contents-center .info-block .info-body { + margin: 0; + padding: 20px 10px; + border-right: 1px dashed #aabbc8; + border-bottom: 1px dashed #aabbc8; +} +main #page-container #education-page .practical-info .page-contents-center .info-block ul { + display: flex; + flex-direction: column; + gap: 5px; +} +main #page-container #education-page .practical-info .page-contents-center .info-block ul li:not(.fullwidth) { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 10px; +} +main #page-container #education-page .practical-info .page-contents-center .info-block ul.tabled li span { + padding: 3px 0; +} +main #page-container #education-page .practical-info .page-contents-center .info-block ul.tabled li span:first-child { + font-weight: bold; + color: #6b7880; +} +main #page-container #education-page .practical-info .page-contents-center .info-block ul.tabled li span:last-child { + color: #4baabb; +} +@media screen and (max-width: 1200px) { + main #page-container #education-page .edu-themes { + grid-template-columns: 1fr; + gap: 30px; + padding: 70px 0; + } +} +@media screen and (max-width: 780px) { + main #page-container #education-page .practical-info .page-contents-center { + grid-template-columns: 1fr; + gap: 30px; + } + main #page-container #education-page .practical-info .page-contents-center .info-block .info-title { + border-top: 1px dashed #aabbc8; + } + main #page-container #education-page .practical-info .page-contents-center .info-block .info-body { + border-bottom: none; + } +} +@media screen and (max-width: 560px) { + main #page-container #education-page .edu-themes .edu-theme h3 { + border-width: 0 0 1px 1px; + } + main #page-container #education-page .edu-themes .edu-theme img { + max-width: 150px; + height: auto; + grid-row: 1; + border-width: 1px 0 0 1px; + } + main #page-container #education-page .edu-themes .edu-theme p { + grid-row: 2; + grid-column: 1/span 2; + padding: 20px 10px 30px 10px; + border-width: 0 1px 1px 1px; + } } main #page-container #games-page .game-articles article { display: grid; @@ -849,6 +958,7 @@ main #page-container #games-page .game-articles article { } main #page-container #games-page .game-articles article.game-article { grid-template-rows: repeat(7, auto); + width: 100%; } main #page-container #games-page .game-articles article.game-article .game-title { grid-column: 1/span 2; @@ -866,6 +976,7 @@ main #page-container #games-page .game-articles article.game-article .game-banne flex-direction: row; flex-direction: column; background-color: black; + overflow: hidden; } main #page-container #games-page .game-articles article.game-article .game-banner img { height: 500px; @@ -956,16 +1067,18 @@ main #page-container #games-page .game-articles article.placeholder * { } main #page-container #games-page .game-articles article.game-article .game-title { grid-column: 1; - padding: 20px; + padding: 0; font-size: 25px; } main #page-container #games-page .game-articles article.game-article .game-banner { grid-column: 1; + margin: 0 -20px; } main #page-container #games-page .game-articles article.game-article .image-carousel { grid-column: 1; grid-row: 3; height: 400px; + margin: 0 -20px; } main #page-container #games-page .game-articles article.game-article .game-team { grid-column: 1; diff --git a/src/pages/education/education.js b/src/pages/education/education.js index 05159b067398af4ef4092b71ab379e51bd5191d7..53c9ac3da0b8b2194d6422a95d9bce3066b6c695 100644 --- a/src/pages/education/education.js +++ b/src/pages/education/education.js @@ -2,50 +2,49 @@ const { images_url } = require("../../../constants"); const WebPage = require("../../lib/web-page"); -// const GameStudioClub = require("./components/game-studio-club"); -// const Popularization = require("./components/popularization"); const EDU_THEMES = [ - { - title: "Game Studio Club", - description: "Conception, graphisme et animation, programmation, je vous accompagne dans la découverte des techniques pour créer un jeu vidéo de A à Z", - image: "learning_theme_conception.png", - pageUrl: "game-studio-club", - }, + // { + // title: "Création de jeux vidéo", + // description: "Conception, graphisme et animation, programmation, je vous accompagne dans la découverte des techniques pour créer un jeu vidéo de A à Z", + // image: "learning_theme_conception.png", + // pageUrl: "gamedev", + // }, { title: "Programmation", - description: "Vous avez une idée de projet à réaliser en programmation ou vous êtes simplement curieux ? Apprenez à programmer avec différent langages, pour du web du logiciel ou du jeu vidéo.", + description: `<b>Franchissez le mur du code !</b><br /> + Apprenez à programmer avec différents langages (Python, Javascript, C ...), pour du web, du logiciel, du jeu vidéo ou autre.`, image: "learning_theme_coding.png", - pageUrl: "coding", + // pageUrl: "coding", }, { title: "Dessin numérique et animation 2D", - description: "Maîtriser des logiciels libres de création graphique 2D et d'animation.", + description: `Apprenez à utiliser des logiciels libres de création graphique 2D et d'animation.<br /> + Créez des personnages et des décors, menez votre projet de dessin animé, d'illustration ou de jeu vidéo.`, image: "learning_theme_2d.png", - pageUrl: "2d", + // pageUrl: "2d", }, { title: "Maths et physiques", - description: "Fâché avec les maths ? Aborder les notions fondamentales de façon décontractée pour le plaisir de comprendre.", + description: "Abordez les notions fondamentales de façon décontractée pour le plaisir de comprendre.", image: "learning_theme_math.png", - pageUrl: "math", - }, - { - title: "Musique et sons électroniques", - description: "Maîtriser des logiciels libres de composition musicales, de synthèse sonore et de prise de son.", - image: "learning_theme_sound.png", - pageUrl: "sound", + // pageUrl: "math", }, + // { + // title: "Musique et sons électroniques", + // description: "Découvrez des logiciels libres de composition musicales, de synthèse sonore et de prise de son.", + // image: "learning_theme_sound.png", + // pageUrl: "sound", + // }, { title: "Aide informatique générale", - description: "Perdu avec votre ordinateur ou votre smartphone, les logicels, internet ? Je vous aide pas à pas à comprendre les fondamentaux et à utiliser sereinement la technologie.", + description: "Perdu avec votre ordinateur ou votre smartphone, les logiciels, internet ? Je vous aide pas à pas à comprendre les fondamentaux et à utiliser sereinement la technologie.", image: "learning_theme_pc.png", - pageUrl: "popularization" + // pageUrl: "popularization" } ]; class EducationPage extends WebPage { - render() { return { tag: "div", @@ -74,7 +73,8 @@ class EducationPage extends WebPage { { tag: "h1", contents: "Pédagogie" }, { tag: "p", - contents: `Animations autour de la création de jeux vidéos, vulgarisation numérique.`, + contents: `Animation d'ateliers informatiques accessibles à tous. + Programmation, graphisme 2D, jeux vidéo, vulgarisation, accompagnement de projet, etc.`, }, ], }, @@ -85,66 +85,200 @@ class EducationPage extends WebPage { class: "title-banner", }, { - tag: "div", - class: "page-contents-center", + tag: "section", + class: "bg-dark", contents: [ { - tag: "p", - class: "edu-pitch", - contents: `La pédagogie est un des objectifs majeurs de Kuadrado Software. <br /> - L'informatique est aujourd'hui un élément incontournable de notre société et j'ai la conviction - qu'il est fondamental de pouvoir accéder de façon simple à une forme d'apprentissage et de partage de connaissances.<br /> - Je propose donc des séances d'enseignement autour des sujets que je suis en position de transmettre en tant que développeur et artiste.` + tag: "div", + class: "page-contents-center", + contents: [ + { + tag: "ul", + class: "edu-themes", + contents: EDU_THEMES.map(theme => { + return { + tag: "li", + class: "edu-theme", + contents: [ + { tag: "img", width: 250, height: 140, class: "pixelated", src: `${images_url}${theme.image}` }, + { tag: "h3", contents: theme.title }, + { tag: "p", contents: theme.description }, + ] + } + }) + }, + ] }, + ] + }, + { + tag: "section", + class: "practical-info", + contents: [ { - tag: "ul", - class: "edu-themes", - contents: EDU_THEMES.map(theme => { - return { - tag: "li", - class: "edu-theme", + tag: "div", + class: "page-contents-center", + contents: [ + { + tag: "div", + class: "info-block", contents: [ + { tag: "h3", class: "info-title", contents: "Pour qui ?" }, { - tag: "a", - href: theme.pageUrl, + tag: "p", + class: "info-body", + contents: `Les ateliers sont accessibles aux adultes comme aux enfants, plutôt à partir de 12 ans.<br/> + Les séances ont lieu en groupes mixtes. + ` + } + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Où ça ?" }, + { + tag: "p", + class: "info-body", + contents: "Dans mon local professionnel : <br /><blue>32 rue Simon Vialet, passage du Cheminou, 07240 Vernoux en Vivarais.</blue>" + } + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Quel matériel ?" }, + { + tag: "p", + class: "info-body", + contents: `Le matériel informatique est fourni sur place (ordinateurs et tablettes graphique) + mais il est possible d'amener le sien. + <br />Il est recommandé d'apporter au moins une clé USB pour faire ses sauvegardes.` + } + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Quand ?" }, + { + tag: "ul", + class: "info-body tabled", contents: [ - { tag: "h3", contents: theme.title }, - { tag: "img", class: "pixelated", src: `${images_url}/${theme.image}` }, - { tag: "p", contents: theme.description }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Mardi" }, + { tag: "span", contents: "16h - 18h" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Mercredi" }, + { tag: "span", contents: "14h - 16h" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Jeudi" }, + { tag: "span", contents: "16h - 18h" }, + ] + }, + { + tag: "li", + class: "fullwidth", + contents: "<em><blue>Ouvert de Septembre à Juin, sauf vacances scolaires ou fermetures exceptionnelles</blue></em>" + } + ] + }, + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Combien ça coûte ?" }, + { + tag: "ul", + class: "info-body tabled", + contents: [ + { + tag: "li", + contents: [ + { tag: "span", contents: "Inscription au mois" }, + { tag: "span", contents: "50€" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Inscription à la séance" }, + { tag: "span", contents: "15€" }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "Cours particuliers" }, + { tag: "span", contents: "30€/h, sur place ou en visio. Horaires à définir." }, + ] + } + ] + } + ] + }, + { + tag: "div", + class: "info-block", + contents: [ + { tag: "h3", class: "info-title", contents: "Pour s'inscrire ou en savoir plus" }, + { + tag: "ul", + class: "info-body", + contents: [ + { + tag: "li", + contents: [ + { tag: "span", contents: "Me contacter" }, + { + tag: "a", + href: "mailto:contact@kuadrado-software.fr", + contents: "contact@kuadrado-software.fr", + } + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "" }, + { + tag: "a", + href: "tel:+33475780872", + contents: "04 75 78 08 72", + property: "telephone", + }, + ] + }, + { + tag: "li", + contents: [ + { tag: "span", contents: "ou passer directement me voir au local !" } + ] + } ] } - ] } - }) - }, - { - tag: "div", - contents: "Pour qui ? Tout le monde à partir de 12 ans, ados ou adultes." - }, - { - tag: "div", - contents: "Ou ça ? Dans mon local professionel 32 rue Simon Vialet Vernoux" - }, - { - tag: "div", - contents: "Tarfs: 60 bal par mois. Ou 30€/h pour des cours particuliers, visio possible." - }, - { - tag: "div", - contents: "Horaires: mardi 17h 18h30, mercredi 15h 16h30, jeudi 17h 18h30" - }, - { - tag: "div", - contents: "Matos informatique fournis sur place, on peut amener le sien si on veut." - }, - { - tag: "div", - contents: "Pour s'inscrire: Me contacter ou passer me voir. Télécharger le ficher d'inscription -> ici" + ] } ] - }, + }, ], }; } diff --git a/src/pages/education/education.scss b/src/pages/education/education.scss index ec16f66fac9b36d550daf704b2037a50b7e5cb44..710bdd9863926bae414555cccc6476ab3e4c2c60 100644 --- a/src/pages/education/education.scss +++ b/src/pages/education/education.scss @@ -36,317 +36,142 @@ } } - .edu-pitch { - font-size: 18px; - } - .edu-themes { display: grid; - grid-template-columns: 1fr 1fr 1fr; - gap: 20px; + grid-template-columns: 1fr 1fr; + gap: 50px; + font-family: monospace; + padding: 70px 0; .edu-theme { - transition: transform 0.3s; - &:hover { - transform: scale(1.03); + display: grid; + grid-template-columns: auto 1fr; + * { + border-style: dashed; + border-color: $green; + border-width: 0 0 0 0; + } + h3 { + color: $green; + grid-row: 1; + margin: 0; + padding: 0 10px; + display: flex; + align-items: center; + border-width: 0 0 0 1px; } img { width: 100%; + grid-row: 1 / span 2; + border-width: 1px 0 1px 1px; + } + p { + text-align: justify; + color: $blue_3; + * { + color: $blue_3; + } + grid-row: 2; + margin: 0; + padding: 10px 30px 0 10px; + border-width: 1px 1px 1px 0; } } } - // .section-contents { - // padding: 20px 40px 60px; - // display: grid; - // grid-template-columns: auto 1fr; - // gap: 20px; - // height: auto; - // .full-row { - // grid-column: 1 / span 2; - // } - // .practical-infos { - // grid-column: 2; - // grid-row: 2; - // display: flex; - // flex-direction: column; - // gap: 40px; - // background-image: url("/assets/images/wallpaper_binary_light.png"); - // padding: 30px; - // .info-item { - // display: flex; - // flex-direction: column; - // background-color: white; - // padding: 20px; - // strong { - // margin-bottom: 10px; - // white-space: nowrap; - // color: $medium_grey; - // } - // span, - // a { - // font-size: 14px; - // } - // } - // } - // .list-wrapper { - // grid-column: 1; - // grid-row: 2; - // ul.learning-themes { - // display: flex; - // gap: 20px 30px; - // flex-wrap: wrap; - // li.learning-theme { - // position: relative; - // border: solid $light_0; - // border-width: 0 2px 2px 0; - // display: flex; - // flex-direction: column; - // .title { - // color: $medium_grey; - // display: block; - // position: absolute; - // background-color: #fffa; - // padding: 3px 10px; - // width: 100%; - // } - // img { - // width: 100%; - // height: auto; - // image-rendering: pixelated; - // image-rendering: -moz-crisp-edges; - // image-rendering: crisp-edges; - // } - // .details { - // background-color: #fffe; - // position: absolute; - // top: 25px; - // left: 25px; - // width: 300px; - // height: auto; - // max-height: 0; - // visibility: hidden; - // z-index: 1; - // transition: max-height 0.6s; - // padding: 20px; - // border: solid $light_0; - // border-width: 0 1px 1px 0; - // overflow: hidden; - // display: flex; - // flex-direction: column; - // gap: 10px; - // .comment { - // font-style: italic; - // * { - // color: $medium_grey; - // } - // } - // ul { - // list-style-type: disc; - // font-size: 14px; - // margin-left: 10px; - // li { - // color: $medium_grey; - // } - // } - // } - // &:hover { - // .details { - // max-height: 1000px; - // visibility: visible; - // } - // } - // } - // } - // } - - // .infos-inscriptions { - // display: flex; - // gap: 40px; - // background-image: url("/assets/images/wallpaper_binary_light.png"); - // padding: 30px; - // .groups, - // .pricing { - // background-color: white; - // padding: 20px; - // display: flex; - // flex-direction: column; - // h3 { - // margin: 0; - // color: $light_1; - // } - // .table-wrapper { - // table { - // border: 1px solid #dde; - // border-collapse: collapse; - // td { - // border: 1px solid #dde; - // padding: 10px 20px; - // } - // } - // } - // .documents { - // margin-top: 20px; - // .links { - // display: flex; - // gap: 20px; - // .download-link { - // border: 1px solid; - // padding: 8px; - // display: flex; - // margin: 10px 0 0; - // border-radius: 4px; - // } - // } - // } - - // } - // } - // .teacher { - // grid-column: 1 / span 2; - // background: url("/assets/images/wallpaper_binary_light.png"); - // padding: 30px; - // @include flex-center-col; - // .teacher-card { - // background-color: white; - // display: grid; - // grid-template-columns: auto 1fr; - // width: 100%; - // gap: 20px; - // padding: 20px; - // h3 { - // margin: 0; - // width: 100%; - // color: $light_1; - // grid-column: 1 / span 2; - // } - // .pic { - // img { - // width: 100px; - // } - // } - // .infos-text { - // padding: 0 20px; - // h4 { - // color: $blue_2; - // margin: 0; - // font-size: 18px; - // } - // p { - // color: $light_1; - // display: block; - // } - // } - // } - // } - // } - - // @media screen and (max-width: $screen_l) { - // .section-contents { - // .list-wrapper { - // ul.learning-themes { - // display: block; - // li.learning-theme { - // width: 100%; - // margin-bottom: 20px; - // .details { - // background-color: #fff9; - // position: relative; - // top: unset; - // width: 100%; - // left: unset; - // max-height: unset; - // visibility: visible; - // padding: 10px; - // box-shadow: none; - // ul { - // list-style-type: disc; - // font-size: 14px; - // margin-left: 10px; - // } - // } - // } - // } - // } + .practical-info { + padding: 50px 0; + .page-contents-center { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 50px; + .info-block { + display: grid; + grid-template-rows: auto 1fr; + .info-title { + color: $blue_2; + margin: 0; + border-bottom: 1px dashed $light_2; + border-left: 1px dashed $light_2; + padding: 10px; + } + .info-body { + margin: 0; + padding: 20px 10px; + border-right: 1px dashed $light_2; + border-bottom: 1px dashed $light_2; + } + ul { + display: flex; + flex-direction: column; + gap: 5px; + li:not(.fullwidth) { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 10px; + } + &.tabled { + li { + span { + padding: 3px 0; + &:first-child { + font-weight: bold; + color: $medium_grey; + } + &:last-child { + color: $blue_2; + } + } + } + } + } + } + } + } - // .infos-inscriptions { - // flex-direction: column; - // } - // } - // } + @media screen and (max-width: 1200px) { + .edu-themes { + grid-template-columns: 1fr; + gap: 30px; + padding: 70px 0; + } + } - // @media screen and (max-width: $screen_m) { - // h3 { - // &.big { - // font-size: 22px; - // } - // } - // .title-banner { - // height: 170px; - // min-height: unset; - // h2 { - // font-size: 2em; - // margin: 20px; - // text-shadow: 0 0 4px #000b; - // } - // } - // .section-contents { - // padding: 20px 20px 40px; - // grid-template-columns: 100%; - // .full-row { - // grid-column: 1; - // } - // .practical-infos { - // grid-column: 1; - // grid-row: 3; - // gap: 10px; - // padding: 10px; - // } - // .list-wrapper { - // ul.learning-themes { - // grid-column: 1; - // grid-row: 2; - // display: block; - // li.learning-theme { - // margin-bottom: 20px; - // .details { - // background-color: #fff9; - // position: relative; - // top: unset; - // width: 100%; - // left: unset; - // max-height: unset; - // visibility: visible; - // padding: 10px; - // box-shadow: none; - // } - // } - // } - // } + @media screen and (max-width: $screen_m) { + .practical-info { + .page-contents-center { + grid-template-columns: 1fr; + gap: 30px; + .info-block { + .info-title { + border-top: 1px dashed $light_2; + } + .info-body { + border-bottom: none; + } + } + } + } + } - // .infos-inscriptions { - // gap: 10px; - // padding: 10px; - // .groups, - // .pricing { - // background-color: white; - // padding: 20px; - // display: flex; - // flex-direction: column; - // .table-wrapper { - // table { - // width: 100%; - // td { - // border: 1px solid #dde; - // padding: 10px; - // } - // } - // } - // } - // } - // .teacher { - // grid-column: 1; - // padding: 20px; - // } - // } - // } + @media screen and (max-width: $screen_s) { + .edu-themes { + .edu-theme { + h3 { + border-width: 0 0 1px 1px; + } + img { + max-width: 150px; + height: auto; + grid-row: 1; + border-width: 1px 0 0 1px; + } + p { + grid-row: 2; + grid-column: 1 / span 2; + padding: 20px 10px 30px 10px; + border-width: 0 1px 1px 1px; + } + } + } + } } diff --git a/src/pages/education/subpages/game-studio-club/index.js b/src/pages/education/subpages/game-studio-club/index.js deleted file mode 100644 index fa0bba55d08bf3247544ab6a7b9a0ce41401c08e..0000000000000000000000000000000000000000 --- a/src/pages/education/subpages/game-studio-club/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; - -const runPage = require("../../../../run-page"); -const GameStudioClubPage = require("./game-studio-club"); -runPage(GameStudioClubPage); diff --git a/src/pages/education/subpages/game-studio-club/game-studio-club.js b/src/pages/education/subpages/gamedev/gamedev-page.js similarity index 97% rename from src/pages/education/subpages/game-studio-club/game-studio-club.js rename to src/pages/education/subpages/gamedev/gamedev-page.js index c7b754595c226527c8e6e8fa07e7b54ea37cc8f0..2b418b143d7f878d0f6f775bad2402619e5a89db 100644 --- a/src/pages/education/subpages/game-studio-club/game-studio-club.js +++ b/src/pages/education/subpages/gamedev/gamedev-page.js @@ -1,11 +1,7 @@ "use strict"; +const { images_url } = require("../../../../../constants"); const WebPage = require("../../../../lib/web-page"); -const GameStudioClub = require("../../components/game-studio-club"); - -"use strict"; - -const { images_url } = require("../../../../constants"); const GAMEDEV_THEMES = [ { @@ -181,7 +177,7 @@ class GameStudioClub { } -class GameStudioClubPage extends WebPage { +class GamedevPage extends WebPage { render() { return { @@ -194,4 +190,4 @@ class GameStudioClubPage extends WebPage { } } -module.exports = GameStudioClubPage; +module.exports = GamedevPage; diff --git a/src/pages/education/subpages/game-studio-club/game-studio-club.scss b/src/pages/education/subpages/gamedev/gamedev-page.scss similarity index 100% rename from src/pages/education/subpages/game-studio-club/game-studio-club.scss rename to src/pages/education/subpages/gamedev/gamedev-page.scss diff --git a/src/pages/education/subpages/gamedev/index.js b/src/pages/education/subpages/gamedev/index.js new file mode 100644 index 0000000000000000000000000000000000000000..794ec965c23561efc7ccbcdef19b6b1e5ace64d3 --- /dev/null +++ b/src/pages/education/subpages/gamedev/index.js @@ -0,0 +1,5 @@ +"use strict"; + +const runPage = require("../../../../run-page"); +const GamedevPage = require("./gamedev-page"); +runPage(GamedevPage); diff --git a/src/pages/education/subpages/game-studio-club/meta.json b/src/pages/education/subpages/gamedev/meta.json similarity index 100% rename from src/pages/education/subpages/game-studio-club/meta.json rename to src/pages/education/subpages/gamedev/meta.json diff --git a/src/pages/games/games.scss b/src/pages/games/games.scss index c6bc7628f66bfb6d89fb72c9b83875d6e76ffbd1..f6e1f14151e8a8a97c82a432f42abd679665edbd 100644 --- a/src/pages/games/games.scss +++ b/src/pages/games/games.scss @@ -7,6 +7,7 @@ margin: 20px 0; &.game-article { grid-template-rows: repeat(7, auto); + width: 100%; .game-title { grid-column: 1 / span 2; margin: 0; @@ -20,6 +21,7 @@ grid-column: 1 / span 2; @include flex-center-col; background-color: black; + overflow: hidden; img { height: 500px; } @@ -111,18 +113,20 @@ grid-template-rows: repeat(6, auto); .game-title { grid-column: 1; - padding: 20px; + padding: 0; font-size: 25px; } .game-banner { grid-column: 1; + margin: 0 -20px; } .image-carousel { grid-column: 1; grid-row: 3; height: 400px; + margin: 0 -20px; } .game-team { grid-column: 1; diff --git a/src/style.scss b/src/style.scss index 1f7417037c1c9122e2feaeb062eef1b3e12c98d4..f9caa426e26b144a05b8a6eb2e0c9d4673e54658 100644 --- a/src/style.scss +++ b/src/style.scss @@ -33,6 +33,12 @@ body { background-color: $blue_2; color: white; } + + .bg-dark { + background-color: $dark_2; + color: $light_2; + } + #seo-title { visibility: hidden; } diff --git a/src/template/components/navbar.js b/src/template/components/navbar.js index d469da09d0c1e19a12fa0104eed2c76e63cb9262..d8f837f6d9c53b55206de16247eb6ec3863df112 100644 --- a/src/template/components/navbar.js +++ b/src/template/components/navbar.js @@ -3,17 +3,15 @@ const { images_url } = require("../../../constants"); const NAV_MENU_ITEMS = [ - ["/games/", "Jeux"], - [ - "/education/", - "Pédagogie", - [ - // submenu - ["/education/#game-studio-club", "Game Studio Club"], - ["/education/#popularization", "Vulgarisation numérique"], - ], - ], - ["/software-development/", "Software"], + { url: "/games/", text: "Jeux" }, + { + url: "/education/", + text: "Pédagogie", + // submenu: [ + // { url: "/gamedev", text: "Création de jeux vidéo" }, + // ] + }, + { url: "/software-development/", text: "Software" } ]; class NavBar { @@ -63,13 +61,14 @@ class NavBar { }; } - renderMenu(menuItemsArray, isSubmenu = false) { + renderMenu(menuItemsArray, isSubmenu = false, parentUrl = "") { return { tag: "ul", id: "nav-menu-list", class: isSubmenu ? "submenu" : "", - contents: menuItemsArray.map(link => { - const [href, text, submenu] = link; + contents: menuItemsArray.map(item => { + const { url, text, submenu } = item; + const href = `${parentUrl}${url}`; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -79,7 +78,7 @@ class NavBar { href, contents: text, }, - ].concat(submenu ? [this.renderMenu(submenu, true)] : []), + ].concat(submenu ? [this.renderMenu(submenu, true, url)] : []), }; }), }; diff --git a/src/template/template.js b/src/template/template.js index 5862f3a517d7ac24b2530afbde86214d560162b4..9512eae0130be90ef74ea46eb774fb72b3b29127 100644 --- a/src/template/template.js +++ b/src/template/template.js @@ -54,13 +54,12 @@ class Template { }, { tag: "span", - contents: - "<b><blue>Où sommes-nous ? </blue></b>32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", + contents: "32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France", }, { tag: "div", contents: [ - { tag: "strong", contents: "<blue>Nous contacter : </blue>" }, + { tag: "strong", contents: "<blue>Contact : </blue>" }, { tag: "a", href: "mailto:contact@kuadrado-software.fr",