feat: initial import — ClickerZ formation project (Express + React/Vite)

This commit is contained in:
2026-03-15 14:29:33 +01:00
commit 4e93753250
118 changed files with 71039 additions and 0 deletions

View File

@@ -0,0 +1,229 @@
{
"v": "5.4.4",
"fr": 29.9700012207031,
"ip": 0,
"op": 120.0000048877,
"w": 1080,
"h": 620,
"nm": "Comp 2",
"ddd": 0,
"assets": [],
"layers": [
{
"ddd": 0,
"ind": 1,
"ty": 4,
"nm": "Shape Layer 1",
"sr": 1,
"ks": {
"o": { "a": 0, "k": 100, "ix": 11 },
"r": { "a": 0, "k": 0, "ix": 10 },
"p": { "a": 0, "k": [539.5, 310, 0], "ix": 2 },
"a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
"s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
},
"ao": 0,
"shapes": [
{
"ty": "gr",
"it": [
{
"ind": 0,
"ty": "sh",
"ix": 1,
"ks": {
"a": 0,
"k": {
"i": [
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 81],
[0, 0],
[-77, 0],
[0, -39],
[0, 0],
[17, -20],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0]
],
"o": [
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, -81],
[0, 0],
[77, 0],
[0, 39],
[0, 0],
[-17, 20],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0],
[0, 0]
],
"v": [
[-539.25, 234],
[-244, 234],
[-244, 126],
[-385, 126],
[-385, 62],
[-263, -238],
[-178, -238],
[-178, 54],
[-150, 54],
[-150, 120],
[-176, 120],
[-176, 234],
[-59, 234],
[-101, 143],
[-101, -160],
[-9, -248],
[100, -165],
[101, 157],
[80, 220],
[50, 240],
[288, 240],
[287, 123],
[148, 123],
[148, 56],
[268, -239],
[357, -239],
[357, 51],
[380, 51],
[380, 122],
[359, 122],
[359, 241.75],
[540.5, 242]
],
"c": false
},
"ix": 2
},
"nm": "Path 1",
"mn": "ADBE Vector Shape - Group",
"hd": false
},
{
"ty": "st",
"c": {
"a": 0,
"k": [0.1, 0.1, 0.1, 1],
"ix": 3
},
"o": { "a": 0, "k": 100, "ix": 4 },
"w": { "a": 0, "k": 5, "ix": 5 },
"lc": 1,
"lj": 1,
"ml": 4,
"bm": 0,
"nm": "Stroke 1",
"mn": "ADBE Vector Graphic - Stroke",
"hd": false
},
{
"ty": "tr",
"p": { "a": 0, "k": [0, 0], "ix": 2 },
"a": { "a": 0, "k": [0, 0], "ix": 1 },
"s": { "a": 0, "k": [100, 100], "ix": 3 },
"r": { "a": 0, "k": 0, "ix": 6 },
"o": { "a": 0, "k": 100, "ix": 7 },
"sk": { "a": 0, "k": 0, "ix": 4 },
"sa": { "a": 0, "k": 0, "ix": 5 },
"nm": "Transform"
}
],
"nm": "Shape 1",
"np": 3,
"cix": 2,
"bm": 0,
"ix": 1,
"mn": "ADBE Vector Group",
"hd": false
},
{
"ty": "tm",
"s": {
"a": 1,
"k": [
{
"i": { "x": [0.667], "y": [0.992] },
"o": { "x": [0.534], "y": [0.224] },
"t": 47,
"s": [0],
"e": [100]
},
{ "t": 95.0000038694293 }
],
"ix": 1
},
"e": {
"a": 1,
"k": [
{
"i": { "x": [0.667], "y": [0.96] },
"o": { "x": [0.677], "y": [0.024] },
"t": 15,
"s": [0],
"e": [100]
},
{ "t": 82.0000033399285 }
],
"ix": 2
},
"o": { "a": 0, "k": 0, "ix": 3 },
"m": 1,
"ix": 2,
"nm": "Trim Paths 1",
"mn": "ADBE Vector Filter - Trim",
"hd": false
}
],
"ip": 0,
"op": 120.0000048877,
"st": 0,
"bm": 0
}
],
"markers": []
}

View File

@@ -0,0 +1,386 @@
[
{
"id": 1,
"name": "Véritable cactus en peluche",
"founded": false,
"image": "https://i.goopics.net/n0tuti.jpg"
},
{
"id": 2,
"name": "Brosse à dents sans poil",
"founded": false,
"image": "https://i.goopics.net/hd42tk.jpg"
},
{
"id": 3,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Un jour, Dark Vador sest attaqué à Chuck Norris. Depuis, il fait de lasthme."
},
{
"id": 4,
"name": "Photo d'Ayoub",
"founded": false,
"image": "https://i.goopics.net/fpanvh.jpg"
},
{
"id": 5,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Pourquoi on met une selle sur un cheval ? Parce qu'en dessous, elle tomberait."
},
{
"id": 6,
"name": "Parapluie invisible",
"founded": false,
"image": "https://i.goopics.net/b8ms4o.jpg"
},
{
"id": 7,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Qu'est-ce qui est plus merveilleux que de faire tourner un enfant sur un tourniquet ? L'arrêter avec une pelle."
},
{
"id": 8,
"name": "Savon qui gratte",
"founded": false,
"image": "https://i.goopics.net/oeefev.jpg"
},
{
"id": 9,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Pourquoi les moutons aiment le chewing-gum ? Car c'est bon pour la laine."
},
{
"id": 10,
"name": "Moule à glaçons géant",
"founded": false,
"image": "https://i.goopics.net/2sdm53.png"
},
{
"id": 11,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Quand Chuck Norris fait un programme, il installe les modules, code et vend le programme... ensuite il demande à quoi il doit servir."
},
{
"id": 12,
"name": "Casquette avec ventilateur intégré",
"founded": false,
"image": "https://i.goopics.net/wjhe5i.jpg"
},
{
"id": 13,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Chuck Norris a invité Albert Einstein...à son dîner de cons."
},
{
"id": 14,
"name": "Game boy color de tonton",
"founded": false,
"image": "https://i.goopics.net/w82iwu.jpg"
},
{
"id": 15,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Vous savez pourquoi les pets puent ? Pour que les sourds en profitent !"
},
{
"id": 16,
"name": "Mug moustache",
"founded": false,
"image": "https://i.goopics.net/csu9z1.jpg"
},
{
"id": 17,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Qu'est ce qui est jaune et qui n'attend pas ? Un citron pressé"
},
{
"id": 18,
"name": "un pull de noël",
"founded": false,
"image": "https://i.goopics.net/uwjwn1.jpg"
},
{
"id": 19,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Que met un développeur sur sa voiture en hiver ? Une bash."
},
{
"id": 20,
"name": "Stickers Gnia gnia gnia 5 minutes la présentation",
"founded": false,
"image": "https://i.goopics.net/8jids3.png"
},
{
"id": 21,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Comment une blonde fait-elle pour faire un double de ses clefs ? Elle les photocopie."
},
{
"id": 22,
"name": "Photo de ta mamie...",
"founded": false,
"image": "https://i.goopics.net/htqzwa.jpg"
},
{
"id": 23,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Qu'est-ce qu'un cochon volant ? Un aéroport."
},
{
"id": 24,
"name": "Livre de names de Tonton",
"founded": false,
"image": "https://i.goopics.net/avr4b4.png"
},
{
"id": 25,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Mon grand-père avait prédit que le Titanic coulerait, il l'avait répété maintes fois...Mais on a préféré le virer de la salle de cinéma"
},
{
"id": 26,
"name": "Oreiller qui ronfle",
"founded": false,
"image": "https://i.goopics.net/4ydby9.png"
},
{
"id": 27,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Un jour, les Power Rangers ont combattu Chuck Norris. Depuis, on les appelle les Teletubbies."
},
{
"id": 28,
"name": "Haut-parleur de douche non étanche",
"founded": false,
"image": "https://i.goopics.net/ugqwdj.jpg"
},
{
"id": 29,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Qu'est-ce qui a deux pattes et qui saigne ? Un demi-chien..."
},
{
"id": 30,
"name": "Calendrier de l'Avent avec des chocolats au wasabi et moutarde forte",
"founded": false,
"image": "https://i.goopics.net/dakyj9.png"
},
{
"id": 31,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Sur quel site internet peut-on trouver un lave-vaisselle pas cher ? Meetic."
},
{
"id": 32,
"name": "Lunettes de soleil pour joueur de valorant",
"founded": false,
"image": "https://i.goopics.net/dxjicl.png"
},
{
"id": 33,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Chuck Norris mine de la crypto-monnaie...avec la calculette de sa montre Casio"
},
{
"id": 34,
"name": "Parfum au PHP: aucune odeur",
"founded": false,
"image": "https://i.goopics.net/o2435t.png"
},
{
"id": 35,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Quand Google ne trouve pas quelque chose, Il demande à Chuck Norris."
},
{
"id": 36,
"name": "Chapeau de Noël clignotant",
"founded": false,
"image": "https://i.goopics.net/d4su7e.png"
},
{
"id": 37,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Quelles sont les choses les plus lourdes de l'univers ? Soleil, Étoiles, Trou noir...et node_modules..."
},
{
"id": 38,
"name": "Kit de survie pour la fin du monde",
"founded": false,
"image": "https://i.goopics.net/ltcik6.png"
},
{
"id": 39,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Quelle est la fée la plus paresseuse ? La fée Néante"
},
{
"id": 40,
"name": "Bougie parfumée à l'essence de pizza",
"founded": false,
"image": "https://i.goopics.net/a3hv8n.jpg"
},
{
"id": 41,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Que mettre dans un kit de survie pour la fin du monde ? Du chocolat, des cookies et un DVD de !"
},
{
"id": 42,
"name": "Le livre mein... craft",
"founded": false,
"image": "https://i.goopics.net/fuy8kq.png"
},
{
"id": 43,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Un jour Hulk sest battu contre Chuck Norris. Depuis, il fait de la pub pour du maïs."
},
{
"id": 44,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Pourquoi les chaussettes ont-elles des orteils séparés ? Parce que même les pieds ont besoin d'intimité !"
},
{
"id": 45,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "J'ai dit non ! Mon gynécologue m'a dit pas de sexe pendant 3 semaines. Et que t'as dit ton dentiste ?"
},
{
"id": 46,
"name": "Chaussettes avec orteils séparés",
"founded": false,
"image": "https://i.goopics.net/vn3xht.png"
},
{
"id": 47,
"name": "Blague:",
"founded": false,
"image": "https://images.pexels.com/photos/1115680/pexels-photo-1115680.jpeg",
"description": "Quel est le jeu préféré des Portugais ?Call of d'outils"
},
{
"id": 48,
"name": "Christopher",
"description": "Un ange parmi les cieux, un nuage subtil et un glorieux soldat",
"founded": false,
"image": "./png/chris.png"
},
{
"id": 49,
"name": "Marie-Hermine",
"description": "La logique, le franc parlé, sans nul doute une perle dans un monde de brutes ",
"founded": false,
"image": "./png/m-h.png"
},
{
"id": 50,
"name": "Yavuz",
"description": "L'innovation culinaire, le cuisinier au grand coeur, l'avion petillant, l'or du Bayou. Il sait faire la fete, on l'appelle le PHP. ",
"founded": false,
"image": "./png/yavuz.png"
},
{
"id": 51,
"name": "Ayoub",
"description": "Un ami cher, loyal et de bon conseil, il saura vous épauler, vous ecouter, mais gare à toi, âme sensible ses mots peuvent etre francs et coupants mais toujours bienveillants. Un ami quoi!",
"founded": false,
"image": "./png/ayoub.png"
},
{
"id": 52,
"name": "Anthony",
"description": "Cupidon et Apollon n'ont qu'à bien se tenir, connu pour son physique legendaire, gardez vos femmes et vos hommes a double tour, a son passage c'est un ravage.",
"founded": false,
"image": "./png/antho.png"
},
{
"id": 53,
"name": "Vincent",
"description": "L'âme voyageuse, le vagabond au grand coeur et la main sur la bouteille. Il est le compagnon idéal pour un voyage animé. Et vogue, vogue la galère...",
"founded": false,
"image": "./png/vincent.png"
},
{
"id": 54,
"name": "Julien",
"description": "Il est l'élu, celui qui voit au dela de ce que vous voyez.",
"founded": false,
"image": "./png/julien.png"
},
{
"id": 55,
"name": "Benoit",
"description": "Maitre du temps, maitre de l'espace, sa parole est d'or et si tu ne respectes pas son temps, tu sors. ",
"founded": false,
"image": "./png/benoit.png"
},
{
"id": 56,
"name": "Samuel",
"description": "Des yeux perçants, les crocs acérés, tu le rencontreras dans la pénombre ou une foret enchantée. N'aies pas peur de ses canines affutées, son sourire et sa gentillesse sauront te rassurer. ",
"founded": false,
"image": "./png/samuel.png"
},
{
"id": 57,
"name": "Ayoub Ultime",
"description": "La carte ultime, c'est l'immunité à toutes épreuves! Un style, une classe, un élan d'élégance et une intelligence raffraîchissante. La meilleure carte. Tout simplement. ",
"founded": false,
"image": "./png/ayoub-ultimate.png"
},
{
"id": 58,
"name": "Une photo des formateurs de la Wild",
"founded": false,
"image": "https://i.goopics.net/8m6t45.jpg"
}
]

View File

@@ -0,0 +1,20 @@
[
{
"id": "1",
"linkname": "Jeu",
"linkurl": "/",
"btn": false
},
{
"id": "2",
"linkname": "Boutique",
"linkurl": "/boutique",
"btn": false
},
{
"id": "3",
"linkname": "Succès",
"linkurl": "/achievements",
"btn": false
}
]

92
Frontend/src/data/shop.json Executable file
View File

@@ -0,0 +1,92 @@
[
{
"name": "Manic",
"price": 15,
"incrementValue": 1,
"description": "Evite de vous bruler quand vous sortez les cookies du four, vous gagnez 5 CPS",
"link": "/",
"image": "./svg/Hand.svg",
"buyed": false,
"type": "actif"
},
{
"name": "Tasse à café",
"price": 15,
"incrementValue": 1,
"description": "Bien chaud vous permet de tenir sur la durée",
"link": "/",
"image": "./svg/Tasse.svg",
"buyed": false,
"type": "passif"
},
{
"name": "Mr Bonhomme",
"price": 150,
"incrementValue": 10,
"description": "Un assistant idéal pour le click",
"link": "/",
"image": "./svg/Bonhome.svg",
"buyed": false,
"type": "actif"
},
{
"name": "Bonnet",
"price": 150,
"incrementValue": 10,
"description": "Garder vos oreilles bien à l'abri du froid et click !",
"link": "/",
"image": "./svg/Bonnet.svg",
"buyed": false,
"type": "passif"
},
{
"name": "Cookie",
"price": 1500,
"incrementValue": 100,
"description": "Fait avec amour",
"link": "/",
"image": "./svg/Cookie.svg",
"buyed": false,
"type": "actif"
},
{
"name": "Canne en sucre",
"price": 1500,
"incrementValue": 100,
"description": "Le sucre c'est connu, ca reboost",
"link": "/",
"image": "./svg/Canne.svg",
"buyed": false,
"type": "passif"
},
{
"name": "Couronne d'hiver",
"price": 15000,
"incrementValue": 1000,
"description": "Un bisous ou rien du tout !",
"link": "/",
"image": "./svg/Courone.svg",
"buyed": false,
"type": "actif"
},
{
"name": "Mr pain d'épice",
"price": 15000,
"incrementValue": 1000,
"description": "Le meilleur c'est la tête",
"link": "/",
"image": "./svg/PainDep.svg",
"buyed": false,
"type": "passif"
},
{
"name": "Bière",
"price": 8000,
"incrementValue": 1000,
"description": "Boisson de qualité, double tout les CPS, attention à ne pas trop en abuser",
"link": "/",
"image": "./svg/Beer.svg",
"buyed": false,
"type": "actif"
}
]