-
+
Former les étudiants au déploiment et a la gestion d'une infra, et de maitriser des technologies entreprise grade.
Cela permet de fournir une plateforme stable et accessible pour héberger vos projets, partager vos connaissances et jouer ensemble !
-
+
Nous croyons en la puissance de la collaboration et mettons à disposition des outils modernes pour faciliter le travail en équipe.
@@ -55,31 +57,31 @@ export const AboutSection: React.FC
= ({ openAccordion, toggl
>
-
-
📚
+
+
📚
Wiki
Documentation collaborative et guides détaillés
-
-
🔧
+
+
🔧
Gitea
Gestion de versions Git auto-hébergée
-
-
🎮
+
+
🎮
Panel de Jeux
Interface de gestion pour serveurs de jeux
-
+
Tous nos services sont maintenus avec soin et régulièrement mis à jour pour garantir une expérience optimale.
@@ -91,11 +93,11 @@ export const AboutSection: React.FC
= ({ openAccordion, toggl
onToggle={() => toggleAccordion("community")}
>
-
+
Rejoignez notre serveur Discord pour rejoindre l'asso, échanger avec nous, obtenir de l'aide et rester informé des dernières nouveautés !
-
+
💬
Comment rejoindre l'asso ?
@@ -107,8 +109,8 @@ export const AboutSection: React.FC = ({ openAccordion, toggl
🚀
Rejoindre Discord
diff --git a/banquise-website/src/components/sections/HeroSection.tsx b/banquise-website/src/components/sections/HeroSection.tsx
index d9e5893..6d18ac1 100644
--- a/banquise-website/src/components/sections/HeroSection.tsx
+++ b/banquise-website/src/components/sections/HeroSection.tsx
@@ -15,9 +15,9 @@ export const HeroSection: React.FC = () => (
Association d'hébergement et lab réseau pour tous les étudiants et associations de l'EPITA !
-
- Découvrir nos services
- →
+
+ Découvrir nos services
+ →
);
diff --git a/banquise-website/src/components/ui/AccordionItem.tsx b/banquise-website/src/components/ui/AccordionItem.tsx
index ac36d0a..2f7fd4d 100644
--- a/banquise-website/src/components/ui/AccordionItem.tsx
+++ b/banquise-website/src/components/ui/AccordionItem.tsx
@@ -14,7 +14,7 @@ export const AccordionItem: React.FC = ({ title, children, i
className="p-4 sm:p-6 md:p-8 cursor-pointer flex items-center justify-between font-semibold text-banquise-gray transition-all duration-200 text-base sm:text-lg select-none hover:bg-banquise-blue-dark/10 active:bg-banquise-blue-dark/15"
onClick={onToggle}
>
- {title}
+ {title}
▼
diff --git a/banquise-website/src/components/ui/Popup.tsx b/banquise-website/src/components/ui/Popup.tsx
index c88609a..4cd8f2c 100644
--- a/banquise-website/src/components/ui/Popup.tsx
+++ b/banquise-website/src/components/ui/Popup.tsx
@@ -1,4 +1,5 @@
import React from 'react';
+import { URLS } from '../../config/constants';
interface Service {
name: string;
@@ -32,7 +33,7 @@ export const Popup: React.FC = ({ service, onClose }) => (
{service.icon}
-
+
{service.name}
@@ -47,20 +48,20 @@ export const Popup: React.FC
= ({ service, onClose }) => (
- {/* Content */}
-
+ {/* Content - Forcer le fond blanc */}
+
{/* Description */}
-
+
📋
Description détaillée
-
+
{service.description}
-
+
✓
@@ -80,8 +81,8 @@ export const Popup: React.FC
= ({ service, onClose }) => (
- {/* Fonctionnalités en colonnes optimisées */}
-
+ {/* Fonctionnalités */}
+
⚡
Fonctionnalités principales
@@ -96,7 +97,7 @@ export const Popup: React.FC = ({ service, onClose }) => (
))}
- {/* Call to action simplifié */}
+ {/* Call to action */}
- {/* Decorative elements optimisés */}
+ {/* Decorative elements */}
diff --git a/banquise-website/src/config/constants.ts b/banquise-website/src/config/constants.ts
new file mode 100644
index 0000000..5a493bf
--- /dev/null
+++ b/banquise-website/src/config/constants.ts
@@ -0,0 +1,20 @@
+export const URLS = {
+ services: {
+ wiki: "https://wiki.la-banquise.fr",
+ gitea: "https://git.la-banquise.fr",
+ panel: "https://panel.la-banquise.fr",
+ auth: "https://auth.la-banquise.fr"
+ },
+ social: {
+ discord: "https://discord.gg/labanquise"
+ },
+ contact: {
+ email: "mailto:contact@la-banquise.fr"
+ }
+} as const;
+
+export const SITE_CONFIG = {
+ name: "La Banquise",
+ description: "Association d'hébergement et lab réseau pour tous les étudiants et associations de l'EPITA",
+ tagline: "Communauté • Hébergement"
+} as const;
diff --git a/banquise-website/src/styles/components.ts b/banquise-website/src/styles/components.ts
new file mode 100644
index 0000000..48fcabf
--- /dev/null
+++ b/banquise-website/src/styles/components.ts
@@ -0,0 +1,63 @@
+export const commonStyles = {
+ // Gradients
+ gradients: {
+ primary: "bg-gradient-to-r from-banquise-blue to-banquise-blue-light",
+ primaryBr: "bg-gradient-to-br from-banquise-blue to-banquise-blue-light",
+ card: "bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5",
+ cardHover: "hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8",
+ discord: "bg-gradient-to-r from-indigo-600 to-purple-600",
+ discordHover: "hover:from-indigo-500 hover:to-purple-500"
+ },
+
+ // Buttons
+ buttons: {
+ primary: "inline-flex items-center justify-center font-bold text-white border-0 rounded-2xl transition-all duration-300 hover:shadow-xl hover:-translate-y-1 hover:scale-105 active:scale-95",
+ discord: "group relative overflow-hidden px-4 lg:px-6 py-2.5 lg:py-3 text-white font-semibold text-sm lg:text-base rounded-xl transition-all duration-300 hover:shadow-xl hover:shadow-indigo-500/25 hover:-translate-y-1 hover:scale-105",
+ auth: "group relative overflow-hidden px-4 lg:px-6 py-2.5 lg:py-3 text-white font-semibold text-sm lg:text-base rounded-xl transition-all duration-300 hover:shadow-xl hover:-translate-y-1 hover:scale-105"
+ },
+
+ // Cards
+ cards: {
+ base: "backdrop-blur-lg rounded-2xl border border-banquise-blue-lightest/30 transition-all duration-300",
+ hover: "hover:shadow-xl hover:border-banquise-blue-lightest/50",
+ interactive: "cursor-pointer hover:-translate-y-4 hover:shadow-2xl active:scale-95"
+ },
+
+ // Text - Hiérarchie améliorée
+ text: {
+ heading: "font-heading font-bold tracking-tight",
+ // Titres principaux de section
+ headingXl: "text-3xl sm:text-4xl md:text-5xl text-banquise-gray font-heading font-bold tracking-tight",
+ headingLg: "text-2xl sm:text-3xl md:text-4xl text-banquise-gray font-heading font-bold tracking-tight",
+ headingMd: "text-xl sm:text-2xl md:text-3xl text-banquise-blue-dark font-heading font-bold tracking-tight",
+ headingSm: "text-lg sm:text-xl md:text-2xl text-banquise-blue-dark font-heading font-semibold tracking-tight",
+ // Sous-titres
+ subheading: "text-base sm:text-lg md:text-xl text-banquise-gray/90 font-medium leading-relaxed",
+ // Corps de texte
+ body: "text-sm sm:text-base md:text-lg text-banquise-blue-dark/90 leading-relaxed",
+ description: "text-banquise-gray/80 leading-relaxed",
+ muted: "text-banquise-gray/90 leading-relaxed",
+ // Texte sur fond sombre
+ lightHeading: "text-banquise-blue-lightest font-heading font-bold tracking-tight",
+ lightBody: "text-white/90 leading-relaxed"
+ },
+
+ // Layout
+ layout: {
+ section: "py-12 sm:py-16 md:py-20 w-full max-w-6xl mx-auto px-4 sm:px-6 md:px-8",
+ container: "max-w-6xl mx-auto",
+ divider: "w-20 h-1 bg-gradient-to-r from-banquise-blue-lightest to-banquise-blue mx-auto mb-6 sm:mb-8 rounded-full"
+ },
+
+ // Icons and decorative elements
+ icons: {
+ base: "w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 rounded-2xl flex items-center justify-center text-3xl sm:text-4xl lg:text-5xl shadow-lg",
+ small: "w-10 h-10 rounded-lg flex items-center justify-center text-white"
+ },
+
+ // Navigation
+ nav: {
+ link: "px-4 lg:px-6 py-2.5 lg:py-3 text-white/90 hover:text-white font-medium text-sm lg:text-base rounded-xl transition-all duration-300 hover:bg-white/10 hover:backdrop-blur-sm relative group",
+ mobileItem: "group flex items-center p-4 text-white/90 hover:text-white no-underline rounded-2xl hover:bg-gradient-to-r hover:from-banquise-blue/20 hover:to-banquise-blue-light/20 transition-all duration-300 border border-transparent hover:border-banquise-blue-lightest/20"
+ }
+} as const;