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){
const ENV = "dev";
let server_url;
switch (ENV) {
case "dev":
server_url = "http://localhost:9000";
break;
case "prod":
server_url = "http://your_production_server_url:port";
}
module.exports = { server_url };
},{}],2:[function(require,module,exports){
const { server_url } = require("./config");
module.exports = {
images_url: `${server_url}/assets/images`,
};
},{"./config":1}],3:[function(require,module,exports){
24
25
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
"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;
}
},
};
const { images_url } = require("../../../../constants");
comment: "",
details: [
"Créer des décors et des personnages",
"Dessiner sur ordinateur, faire du pixel art",
"Créer des animations 2D",
],
},
{
title: "Musique et effets sonores",
comment: "",
details: [
"Utiliser des logiciels de son et des synthétiseurs",
"Composer une musique",
"Faire une prise de son",
"Mixer un enregistrement",
],
},
{
title: "Développer un univers",
image: `${images_url}/glitch_meta_screen3.png`,
comment: "",
details: [
"Écrire une histoire, construire une narration",
"Imaginer des mondes et des personnages",
],
},
{
title: "Concevoir le jeu",
image: `${images_url}/glitch_meta_screen4.png`,
"Développer les mécanismes de gameplay",
],
},
{
title: "Programmation informatique",
comment: "",
details: [
"Apprendre pas à pas à coder avec différents langages de programmation",
"Découvrir les bases du web en créant des mini-jeux en lignes",
],
},
{
title: "Mathématiques et physique",
"<i>Créer un jeu vidéo c'est l'occasion de découvrir plein de sujets en maths et en physique tout en s'amusant !</i>",
"Algorithmie, logique, géométrie, trigonométrie, algèbre linéaire, vecteurs, repères en 2D ...",
image: `${images_url}/glitch_meta_screen1.png`,
comment:
"<i>Faire son jeu tout seul c'est bien mais ça peut être long !<br>Créer des jeux c'est aussi l'occasion de se mettre à plusieurs pour tirer le meilleur parti des différents talents de chacun.</i>",
details: [],
},
{
title: "Logiciels libres, GNU/Linux",
image: `${images_url}/learning_theme_linux.jpg`,
comment:
"<i>Nous utilisons essentiellement des logiciels libres sur Linux.<br>C'est donc une bonne occasion de découvrir et démystifier tout ça en douceur !</i>",
details: [],
},
];
contents: [{ tag: "h2", contents: "Game Studio Club" }],
{ tag: "h3", contents: "Apprendre à créer un jeu vidéo de A à Z" },
{
tag: "strong",
contents:
"La création d'un jeu vidéo c'est l'occasion d'aborder plein de choses différentes !",
},
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
{
tag: "div",
class: "info-item",
contents: [
{ tag: "strong", contents: "Ça se passe où ?" },
{
tag: "span",
contents:
"Dans nos locaux,<br/><i>32 rue Simon Vialet, passage du Cheminou<br/>07240 Vernoux en Vivarais</i>",
},
],
},
{
tag: "div",
class: "info-item",
contents: [
{ tag: "strong", contents: "Pour qui ?" },
{
tag: "span",
contents: " Tout le monde à partir de 12 ans.",
},
],
},
{
tag: "div",
class: "info-item",
contents: [
{
tag: "strong",
contents: "Contact",
},
{
tag: "span",
contents: "04 75 78 08 72",
},
{
tag: "a",
href: "mailto:kuadrado-software@tutanota.com",
contents: "kuadrado-software@tutanota.com",
},
],
},
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
return {
tag: "li",
class: "learning-theme",
contents: [
{
tag: "div",
class: "img-wrapper",
contents: [{ tag: "img", src: li.image }],
},
{
tag: "div",
class: "right",
contents: [
{ tag: "strong", contents: li.title },
{
tag: "div",
class: "comment",
contents: li.comment,
},
{
tag: "ul",
contents: li.details.map(d => {
return {
tag: "li",
contents: d,
};
}),
},
],
},
],
};
}),
class: "full-row",
contents: `<b>Une de ces choses vous intéresse mais pas spécialement le jeu vidéo ?</b>
<br>Pas de problème ! On peut se concentrer par exemple uniquement sur de la création 2D, ou de la création sonore, ou même uniquement des maths !
<br>L'orientation se fait en fonction des préférences de chacun.`,
{
tag: "div",
class: "groups",
contents: [
{
tag: "h3",
contents: "Groupes",
},
{
tag: "p",
contents: "Les groupes sont de 5 personnes maximum.",
},
{
tag: "div",
class: "table-wrapper",
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
{
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: "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>Le matériel informatique est fourni sur place, mais vous pouvez amener votre propre ordinateur portable si vous le souhaitez.
`,
},
{
tag: "tr",
contents: [
{
tag: "td",
contents: "Abonnement 1 mois",
},
{
tag: "td",
contents: "(4 séances)",
},
{ tag: "td", contents: "70€" },
],
tag: "tr",
contents: [
{
tag: "td",
contents:
"Abonnement 1 trimestre",
},
{
tag: "td",
contents: "(12 séances)",
},
{ tag: "td", contents: "190€" },
],
],
};
}
}
module.exports = GameStudioClub;
},{"../../../../constants":2}],5:[function(require,module,exports){
"use strict";
const { images_url } = require("../../../../constants");
const VULGARISATION_THEMES = [
{
title: "Qu'est-ce qui se passe dans mon ordinateur ?",
image: `${images_url}/glitch_meta_screen1.png`,
comment: "",
details: [
"Répondre à des questions simples sur l'informatique de tous les jours",
"L'organisation des fichiers",
"Le navigateur web",
"Les logiciels usuels",
],
},
{
title: "GNU/Linux, le monde du libre",
comment: "",
details: [
"Installer Linux, démystifier et faire tomber les barrières.",
"Qu'est-ce qu'un logiciel libre ? Quels sont les enjeux ?",
],
},
{
title: "Comment fonctionne le réseau internet ?",
image: `${images_url}/glitch_meta_screen3.png`,
comment: "",
details: [
"De quoi est fait le réseau internet ?",
"Comment fonctionnent les différents services que nous utilisons ? (Sites, applications, boites mail, etc...)",
"Qu'est-ce qu'un cloud ?",
],
},
{
title: "Le langages des machines",
comment: "",
details: [
"Démystifier la programmation informatique",
"Qu'est-ce qu'un langage de programmation",
"À quoi ça sert ?",
"Les métiers du développement informatique",
],
},
];
contents: [{ tag: "h2", contents: "Ateliers de vulgarisation" }],
tag: "div",
class: "full-row",
contents:
"<b>Nous proposons des animations d'une journée de vulgarisation autour de l'informatique sur les thèmes suivants</b>",
"Si vous êtes intéressé pour proposer une de ces animations dans votre structure, contactez-nous pour un devis gratuit.",
tag: "a",
href: "mailto:kuadrado-software@tutanota.com",
contents: "kuadrado-software@tutanota.com",
tag: "ul",
class: "learning-themes",
contents: VULGARISATION_THEMES.map(li => {
return {
tag: "li",
class: "learning-theme",
tag: "div",
class: "img-wrapper",
contents: [{ tag: "img", src: li.image }],
tag: "div",
class: "right",
contents: [
{ tag: "strong", contents: li.title },
{
tag: "div",
class: "comment",
contents: li.comment,
},
{
tag: "ul",
contents: li.details.map(d => {
return {
tag: "li",
contents: d,
};
}),
},
],
},{"../../../../constants":2}],6:[function(require,module,exports){
"use strict";
const GameStudioClub = require("./components/game-studio-club");
const Popularization = require("./components/popularization");
class EducationPage {
constructor(args) {
Object.assign(this, args);
}
render() {
return {
tag: "div",
id: "education-page",
contents: [
{ tag: "h1", contents: "Pédagogie" },
tag: "p",
class: "edu-philo",
contents: `
Nous pensons que la démystification de la technologie et son appropriation par les utilisateurs passent
avant tout par la pédagogie et le partage de connaissances. Nous proposons blablabla`,
],
};
}
}
module.exports = EducationPage;
},{"./components/game-studio-club":4,"./components/popularization":5}],7:[function(require,module,exports){
"use strict";
"use strict";
const runPage = require("../../run-page");
const EducationPage = require("./education");
runPage(EducationPage);
},{"../../run-page":8,"./education":6}],8:[function(require,module,exports){
"use strict";
const objectHtmlRenderer = require("./lib/object-html-renderer");
const Template = require("./template/template");
module.exports = function runPage(PageComponent) {
const template = new Template({ page: new PageComponent() });
objectHtmlRenderer.setRenderCycleRoot(template);
objectHtmlRenderer.renderCycle();
};
},{"./lib/object-html-renderer":3,"./template/template":9}],9:[function(require,module,exports){
["/public/games/", "Jeux"],
["/public/software-development/", "Software"],
[
"/public/education/",
"Pédagogie",
[
// submenu
["/public/education/#game-studio-club", "Game Studio Club"],
["/public/education/#popularization", "Animations vulgarisation"],
],
],
];
class Template {
constructor(props) {
this.props = props;
}
renderMenu(menuItemsArray, isSubmenu = false) {
const r = {
tag: "ul",
class: isSubmenu ? "submenu" : "",
contents: menuItemsArray.map(link => {
let [href, text, submenu] = link;
const spltTxt = text.split(";");
text = spltTxt.length > 1 ? spltTxt[1] : text;
const img = spltTxt.length > 1 ? spltTxt[0] : undefined;
return {
tag: "li",
class: !isSubmenu && window.location.pathname === href ? "active" : "",
contents: [
{
tag: "a",
href,
contents: img
? [
{ tag: "img", src: `${images_url}/${img}` },
{ tag: "span", contents: text },
]
: text,
},
].concat(submenu ? [this.renderMenu(submenu, true)] : []),
render() {
return {
tag: "main",
contents: [
{
tag: "header",
contents: [
{
},
],
},
{
tag: "div",
id: "page-container",
contents: [this.props.page.render()],
},
{
tag: "footer",
contents: [
{
tag: "a",
href: "mailto:kuadrado-software@tutanota.com",
contents: "kuadrado-software@tutanota.com",
},
],
},
],
};
}
}
module.exports = Template;