v1.5.2
This commit is contained in:
parent
7d26ffcee4
commit
25ea6cf6f6
19 changed files with 2270 additions and 467 deletions
|
|
@ -1,17 +1,18 @@
|
|||
<?php http_response_code(404); ?>
|
||||
|
||||
<?php
|
||||
http_response_code(404);
|
||||
// Calcule la racine du site à partir du chemin physique de ce fichier
|
||||
// Ex: /var/www/html/omegakube/pages/404.php → base = /omegakube
|
||||
$script = $_SERVER['SCRIPT_NAME']; // ex: /omegakube/pages/404.php
|
||||
$base = rtrim(dirname(dirname($script)), '/'); // remonte 2 niveaux → /omegakube
|
||||
// Si on est à la racine, $base vaut "" — c'est correct
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr" data-theme="dark">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>404 — Page non trouvée | OmégaKube</title>
|
||||
<template data-include="/testarea/omegakube/v1bis/components/favicons.html"></template>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
<script src="https://unpkg.com/feather-icons"></script>
|
||||
<link rel="stylesheet" href="/testarea/omegakube/v1bis/assets/css/404.css">
|
||||
<link rel="stylesheet" href="<?php echo $base; ?>/assets/css/404.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="bg-grid"></div>
|
||||
|
|
@ -32,21 +33,31 @@
|
|||
|
||||
<div class="container">
|
||||
<div class="error-icon">
|
||||
<i data-feather="alert-triangle"></i>
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="40" height="40">
|
||||
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/>
|
||||
<line x1="12" y1="9" x2="12" y2="13"/>
|
||||
<line x1="12" y1="17" x2="12.01" y2="17"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="error-code">404</div>
|
||||
<h1 class="error-title">Dimension introuvable</h1>
|
||||
<p class="error-message">
|
||||
Oups ! Il semblerait que vous ayez traversé un <span>portail défectueux</span>.
|
||||
Cette page n'existe pas dans notre univers... ou peut-être a-t-elle été téléportée ailleurs ?
|
||||
Oups ! Il semblerait que vous ayez traversé un <span>portail défectueux</span>.
|
||||
Cette page n'existe pas dans notre univers... ou peut-être a-t-elle été téléportée ailleurs ?
|
||||
</p>
|
||||
<div class="buttons">
|
||||
<a href="/testarea/omegakube/v1bis/index.html" class="btn btn-primary">
|
||||
<i data-feather="home"></i>
|
||||
<a href="<?php echo $base; ?>/index.html" class="btn btn-primary">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
|
||||
<path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>
|
||||
<polyline points="9 22 9 12 15 12 15 22"/>
|
||||
</svg>
|
||||
Retour à l'accueil
|
||||
</a>
|
||||
<a href="javascript:history.back()" class="btn btn-secondary">
|
||||
<i data-feather="arrow-left"></i>
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
|
||||
<line x1="19" y1="12" x2="5" y2="12"/>
|
||||
<polyline points="12 19 5 12 12 5"/>
|
||||
</svg>
|
||||
Page précédente
|
||||
</a>
|
||||
</div>
|
||||
|
|
@ -55,9 +66,9 @@
|
|||
<div class="footer">
|
||||
<span class="logo-mini">ΩK</span>
|
||||
<span>•</span>
|
||||
<a href="/testarea/omegakube/v1bis/index.html">OmégaKube</a>
|
||||
<a href="<?php echo $base; ?>/index.html">OmégaKube</a>
|
||||
</div>
|
||||
|
||||
<script src="/testarea/omegakube/v1bis/assets/js/pages/404.js"></script>
|
||||
<script src="<?php echo $base; ?>/assets/js/pages/404.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
109
pages/faq.html
Normal file
109
pages/faq.html
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr" data-theme="dark">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>FAQ — OmégaKube</title>
|
||||
<link rel="stylesheet" href="../assets/css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-include="../components/background.html"></div>
|
||||
<div data-include="../components/header.html"></div>
|
||||
|
||||
<section class="page-hero">
|
||||
<div class="page-hero-content">
|
||||
<p class="section-tag">FAQ</p>
|
||||
<h1>Questions <span class="highlight">fréquentes</span></h1>
|
||||
<p>Tout ce que vous devez savoir avant de nous contacter.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="faq-page-section">
|
||||
<div class="faq-page-container" id="faq-container"></div>
|
||||
</section>
|
||||
|
||||
<section class="faq-cta-section">
|
||||
<div class="faq-cta-inner reveal">
|
||||
<h2>Vous n'avez pas trouvé votre réponse ?</h2>
|
||||
<p>Notre équipe est disponible pour répondre à toutes vos questions spécifiques. N'hésitez pas à nous contacter directement.</p>
|
||||
<div class="faq-cta-btns">
|
||||
<a href="../index.html#contact" class="btn btn-primary">
|
||||
<i data-feather="message-circle"></i>
|
||||
Nous contacter
|
||||
</a>
|
||||
<a href="https://discord.gg/FwvNkvu5dy" target="_blank" rel="noopener noreferrer" class="btn btn-secondary">
|
||||
<svg viewBox="0 0 24 24" fill="currentColor" width="20" height="20"><path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"/></svg>
|
||||
Rejoindre notre Discord
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div data-include="../components/footer.html"></div>
|
||||
|
||||
<script src="../assets/js/main.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', async () => {
|
||||
const container = document.getElementById('faq-container');
|
||||
|
||||
let faqData;
|
||||
try {
|
||||
const res = await fetch('../assets/data/faq.json');
|
||||
if (!res.ok) throw new Error(res.statusText);
|
||||
faqData = await res.json();
|
||||
} catch (err) {
|
||||
container.innerHTML = '<p style="text-align:center;color:var(--text-muted);">Impossible de charger la FAQ.</p>';
|
||||
return;
|
||||
}
|
||||
|
||||
container.innerHTML = faqData.map((cat, ci) => `
|
||||
<div class="faq-category reveal${ci > 0 ? ' reveal-delay-' + Math.min(ci, 3) : ''}">
|
||||
<h3 class="faq-category-title">
|
||||
<i data-feather="${cat.icon}"></i>
|
||||
${cat.title}
|
||||
</h3>
|
||||
<div class="faq-list">
|
||||
${cat.questions.map((item, qi) => `
|
||||
<div class="faq-item" id="faq-${cat.id}-${qi}">
|
||||
<button class="faq-question" aria-expanded="false">
|
||||
${item.q}
|
||||
<i data-feather="chevron-down" class="faq-chevron"></i>
|
||||
</button>
|
||||
<div class="faq-answer">
|
||||
<p>${item.a}</p>
|
||||
</div>
|
||||
</div>
|
||||
`).join('')}
|
||||
</div>
|
||||
</div>
|
||||
`).join('');
|
||||
|
||||
if (window.feather) feather.replace();
|
||||
|
||||
container.querySelectorAll('.faq-question').forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const item = btn.closest('.faq-item');
|
||||
const isOpen = item.classList.contains('open');
|
||||
container.querySelectorAll('.faq-item').forEach(i => {
|
||||
i.classList.remove('open');
|
||||
i.querySelector('.faq-question').setAttribute('aria-expanded', 'false');
|
||||
});
|
||||
if (!isOpen) {
|
||||
item.classList.add('open');
|
||||
btn.setAttribute('aria-expanded', 'true');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
document.querySelectorAll('.reveal').forEach(el => {
|
||||
if (el.getBoundingClientRect().top < window.innerHeight - 50) {
|
||||
el.classList.add('active');
|
||||
}
|
||||
});
|
||||
}, 50);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Projets Phares - Bento Grid -->
|
||||
<!-- Projets Phares - Bento Grid (dynamique depuis projects.json) -->
|
||||
<section style="padding-top: 2rem;">
|
||||
<div class="section-header reveal">
|
||||
<p class="section-tag">En vedette</p>
|
||||
|
|
@ -78,169 +78,8 @@
|
|||
<p class="section-desc">Nos réalisations les plus marquantes</p>
|
||||
</div>
|
||||
|
||||
<div class="bento-grid" style="padding: 0 2rem;">
|
||||
|
||||
<!-- Projet Phare 1 - Medieval RP Bot -->
|
||||
<div class="bento-project reveal">
|
||||
<div class="bento-image" style="background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));">
|
||||
<div class="bento-image-content">
|
||||
<span class="portfolio-tag">Bot Discord</span>
|
||||
<h3>Medieval RP Bot</h3>
|
||||
<p>Un système RP médiéval complet pour serveur fantasy</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bento-stats">
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="users"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">5000+</div>
|
||||
<div class="bento-stat-label">Joueurs actifs</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="clock"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">3 mois</div>
|
||||
<div class="bento-stat-label">Développement</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="terminal"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">150+</div>
|
||||
<div class="bento-stat-label">Commandes</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="database"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">99.9%</div>
|
||||
<div class="bento-stat-label">Uptime</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bento-info">
|
||||
<h4>Description</h4>
|
||||
<p>Développé pour l'un des plus grands serveurs Discord francophones, ce bot gère l'intégralité de l'expérience RP : économie, métiers, combat tour par tour, gestion de royaumes et alliances, quêtes automatisées et bien plus encore.</p>
|
||||
<div class="bento-features">
|
||||
<span class="bento-feature">Économie</span>
|
||||
<span class="bento-feature">Combat</span>
|
||||
<span class="bento-feature">Métiers</span>
|
||||
<span class="bento-feature">Royaumes</span>
|
||||
<span class="bento-feature">Quêtes</span>
|
||||
<span class="bento-feature">Events</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bento-divider"></div>
|
||||
|
||||
<!-- Projet Phare 2 - Cyberpunk City (Reverse) -->
|
||||
<div class="bento-project reverse reveal">
|
||||
<div class="bento-image" style="background: linear-gradient(135deg, #5E2040, #1a3a5e);">
|
||||
<div class="bento-image-content">
|
||||
<span class="portfolio-tag">Fortnite Map</span>
|
||||
<h3>Cyberpunk City</h3>
|
||||
<p>Une ville futuriste immersive pour le RP urbain</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bento-stats">
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="play"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">50K+</div>
|
||||
<div class="bento-stat-label">Parties jouées</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="home"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">100+</div>
|
||||
<div class="bento-stat-label">Bâtiments</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="map-pin"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">5</div>
|
||||
<div class="bento-stat-label">Quartiers</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="users"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">50</div>
|
||||
<div class="bento-stat-label">Joueurs max</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bento-info">
|
||||
<h4>Description</h4>
|
||||
<p>Néons, gratte-ciels, quartiers distincts et ambiance blade runner. Cette map a été optimisée pour accueillir jusqu'à 50 joueurs simultanément avec un système jour/nuit dynamique et des zones interactives scriptées.</p>
|
||||
<div class="bento-features">
|
||||
<span class="bento-feature">Néons</span>
|
||||
<span class="bento-feature">Jour/Nuit</span>
|
||||
<span class="bento-feature">Scripts</span>
|
||||
<span class="bento-feature">Optimisé</span>
|
||||
<span class="bento-feature">Immersif</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bento-divider"></div>
|
||||
|
||||
<!-- Projet Phare 3 - Nova RP -->
|
||||
<div class="bento-project reveal">
|
||||
<div class="bento-image" style="background: linear-gradient(135deg, #2d1b5e, #5E2040);">
|
||||
<div class="bento-image-content">
|
||||
<span class="portfolio-tag">Pack Complet</span>
|
||||
<h3>Nova RP - Lancement</h3>
|
||||
<p>Accompagnement complet pour un lancement réussi</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bento-stats">
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="users"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">8000+</div>
|
||||
<div class="bento-stat-label">Membres</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="trending-up"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">0→8K</div>
|
||||
<div class="bento-stat-label">En 3 mois</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="package"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">4</div>
|
||||
<div class="bento-stat-label">Services inclus</div>
|
||||
</div>
|
||||
<div class="bento-stat">
|
||||
<div class="bento-stat-icon">
|
||||
<i data-feather="award"></i>
|
||||
</div>
|
||||
<div class="bento-stat-value">Top 10</div>
|
||||
<div class="bento-stat-label">Serveur FR</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bento-info">
|
||||
<h4>Description</h4>
|
||||
<p>Un accompagnement clé en main : bot Discord personnalisé, identité visuelle complète, map Fortnite exclusive et stratégie de lancement. En 3 mois, le serveur est passé de 0 à 8000 membres actifs.</p>
|
||||
<div class="bento-features">
|
||||
<span class="bento-feature">Bot RP</span>
|
||||
<span class="bento-feature">Map Fortnite</span>
|
||||
<span class="bento-feature">Branding</span>
|
||||
<span class="bento-feature">Stratégie</span>
|
||||
<span class="bento-feature">Support</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bento-grid" style="padding: 0 2rem;" id="featured-bento-grid">
|
||||
<!-- Rendu dynamique depuis ../assets/data/projects.json par realisations.js -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
</head>
|
||||
<body>
|
||||
<!-- Baground géométrique -->
|
||||
<div data-include="../components\background.html"></div>
|
||||
<div data-include="../components/background.html"></div>
|
||||
|
||||
<!-- Header / Menu -->
|
||||
<div data-include="../components/header.html"></div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue