Newer
Older
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
function getServerUrl() {
return `${location.origin}${
location.origin.charAt(location.origin.length - 1) !== "/" ? "/" : ""
}`;
}
module.exports = {
getServerUrl,
website_title: "Kuadrado website template",
build: {
protected_dirs: ["assets", "style", "articles"],
default_meta_keys: ["title", "description", "image", "open_graph", "json_ld"],
images_url: `${getServerUrl()}assets/images/`,
};
},{"./config":1}],3:[function(require,module,exports){
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
"use strict";
module.exports = {
setRenderCycleRoot(renderCycleRoot) {
this.renderCycleRoot = renderCycleRoot;
},
objectToHtml: function objectToHtml(obj) {
const { tag } = obj;
const node = document.createElement(tag);
const excludeKeys = ["tag", "contents", "style_rules", "state"];
Object.keys(obj)
.filter(attr => !excludeKeys.includes(attr))
.forEach(attr => {
if (attr === "class") {
node.classList.add(...obj[attr].split(" ").filter(s => s !== ""));
} else {
node[attr] = obj[attr];
}
});
if (obj.contents && typeof obj.contents === "string") {
node.innerHTML = obj.contents;
} else {
obj.contents &&
obj.contents.length > 0 &&
obj.contents.forEach(el => {
switch (typeof el) {
case "string":
node.innerHTML = el;
break;
case "object":
node.appendChild(objectToHtml(el));
break;
}
});
}
if (obj.style_rules) {
Object.keys(obj.style_rules).forEach(rule => {
node.style[rule] = obj.style_rules[rule];
});
}
return node;
},
renderCycle: function () {
this.subRender(this.renderCycleRoot.render(), document.getElementsByTagName("main")[0], {
mode: "replace",
});
},
subRender(object, htmlNode, options = { mode: "append" }) {
const insert = this.objectToHtml(object);
switch (options.mode) {
case "append":
htmlNode.appendChild(insert);
break;
case "override":
htmlNode.innerHTML = "";
htmlNode.appendChild(insert);
break;
case "insert-before":
htmlNode.insertBefore(insert, htmlNode.childNodes[options.insertIndex]);
break;
case "adjacent":
/**
* options.insertLocation must be one of:
*
* afterbegin
* afterend
* beforebegin
* beforeend
*/
htmlNode.insertAdjacentHTML(options.insertLocation, insert);
break;
case "replace":
htmlNode.parentNode.replaceChild(insert, htmlNode);
break;
case "remove":
htmlNode.remove();
break;
}
},
};
class WebPage {
constructor(args) {
Object.assign(this, args);
}
}
module.exports = WebPage;
},{}],5:[function(require,module,exports){
"use strict";
const { images_url } = require("../../../constants");
const WebPage = require("../../lib/web-page");
// {
// 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",
// },
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",
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.`,
description: "Abordez les notions fondamentales de façon décontractée pour le plaisir de comprendre.",
// {
// 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",
// },
description: "Perdu avec votre ordinateur ou votre smartphone, les logiciels, internet ? Je vous aide pas à pas à comprendre les fondamentaux et à utiliser sereinement la technologie.",
typeof: "EducationalOrganization",
class: "page-contents-center grid-wrapper",
tag: "img",
alt: "image brain",
src: `${images_url}brain.svg`,
contents: `Animation d'ateliers informatiques accessibles à tous.
Programmation, graphisme 2D, jeux vidéo, vulgarisation, accompagnement de projet, etc.`,
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: "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: "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: "h3", class: "info-title", contents: "Quel matériel ?" },
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: "h3", class: "info-title", contents: "Quand ?" },
{ tag: "span", contents: "Mardi" },
{ tag: "span", contents: "16h - 18h" },
]
tag: "li",
contents: [
{ tag: "span", contents: "Mercredi" },
{ tag: "span", contents: "14h - 16h" },
]
{ 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: "h3", class: "info-title", contents: "Combien ça coûte ?" },
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: "h3", class: "info-title", contents: "Pour s'inscrire ou en savoir plus" },
tag: "li",
contents: [
{ tag: "span", contents: "Me contacter" },
{
tag: "a",
href: "mailto:contact@kuadrado-software.fr",
contents: "contact@kuadrado-software.fr",
}
]
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 !" }
]
}
},
],
};
}
}
module.exports = EducationPage;
},{"../../../constants":2,"../../lib/web-page":4}],6:[function(require,module,exports){
"use strict";
const runPage = require("../../run-page");
const EducationPage = require("./education");
runPage(EducationPage);
},{"../../run-page":7,"./education":5}],7:[function(require,module,exports){
const objectHtmlRenderer = require("object-to-html-renderer")
const Template = require("./template/template");
module.exports = function runPage(PageComponent) {
const template = new Template({ page: new PageComponent() });
objectHtmlRenderer.setRenderCycleRoot(template);
objectHtmlRenderer.renderCycle();
};
},{"./template/template":9,"object-to-html-renderer":3}],8:[function(require,module,exports){
const { images_url } = require("../../../constants");
{ url: "/games/", text: "Jeux" },
{
url: "/education/",
text: "Pédagogie",
// submenu: [
// { url: "/gamedev", text: "Création de jeux vidéo" },
// ]
},
{ url: "/software-development/", text: "Software" }
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
class NavBar {
constructor() {
this.initEventHandlers();
}
handleBurgerClick() {
document.getElementById("nav-menu-list").classList.toggle("responsive-show");
}
initEventHandlers() {
window.addEventListener("click", event => {
if (
event.target.id !== "nav-menu-list" &&
!event.target.classList.contains("burger") &&
!event.target.parentNode.classList.contains("burger")
) {
document.getElementById("nav-menu-list").classList.remove("responsive-show");
}
});
}
renderHome() {
return {
tag: "div",
class: "home",
contents: [
{
tag: "a",
src: `${images_url}logo_kuadrado_txt.svg`,
renderMenu(menuItemsArray, isSubmenu = false, parentUrl = "") {
contents: menuItemsArray.map(item => {
const { url, text, submenu } = item;
const href = `${parentUrl}${url}`;
return {
tag: "li",
class: !isSubmenu && window.location.pathname === href ? "active" : "",
].concat(submenu ? [this.renderMenu(submenu, true, url)] : []),
renderResponsiveBurger() {
return {
tag: "div",
class: "burger",
onclick: this.handleBurgerClick.bind(this),
contents: [{ tag: "span", contents: "···" }],
};
}
render() {
return {
tag: "nav",
contents: [
this.renderHome(),
this.renderResponsiveBurger(),
this.renderMenu(NAV_MENU_ITEMS),
],
};
}
}
module.exports = NavBar;
},{"../../../constants":2}],9:[function(require,module,exports){
const NavBar = require("./components/navbar");
class Template {
constructor(props) {
this.props = props;
}
render() {
return {
tag: "main",
contents: [
{
tag: "header",
contents: [new NavBar().render()],
in_construction && {
tag: "section",
class: "warning-banner",
contents: [
{
tag: "strong",
class: "page-contents-center",
contents: "Site en construction ...",
},
],
},
id: "page-container",
contents: [this.props.page.render()],
},
{
tag: "footer",
contents: [
{
tag: "div",
class: "logo",
contents: [
{
tag: "img",
src: `${images_url}logo_kuadrado_txt.svg`,
contents: "32 rue Simon Vialet, 07240 Vernoux en Vivarais. Ardèche, France",
{ tag: "strong", contents: "<blue>Contact : </blue>" },
{
tag: "a",
href: "mailto:contact@kuadrado-software.fr",
contents: "contact@kuadrado-software.fr",
},
],
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
{
tag: "div",
class: "social",
contents: [
{
tag: "strong",
contents: "<blue>Sur les réseaux : </blue>",
},
{
tag: "a",
href: "https://www.linkedin.com/company/kuadrado-software",
target: "_blank",
contents: "in",
title: "Linkedin",
},
{
tag: "a",
href: "https://twitter.com/KuadradoSoft",
target: "_blank",
contents: "t",
title: "Twitter",
style_rules: { fontFamily: "serif" },
},
],
},
{
tag: "span",
contents: `Copyright © ${new Date()
.getFullYear()} Kuadrado Software |
Toutes les images du site ont été réalisées par mes soins et peuvent être réutilisées pour un usage personnel.`,
],
},
],
};
}
}
module.exports = Template;
},{"../../config":1,"../../constants":2,"./components/navbar":8}]},{},[6]);