a lot of logos for fr page
This commit is contained in:
parent
9f4b45a2ce
commit
46667b9b94
BIN
banquise-website/src/assets/Gitea_Logo.png
Normal file
BIN
banquise-website/src/assets/Gitea_Logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 115 KiB |
BIN
banquise-website/src/assets/opencloud_logo_white.png
Normal file
BIN
banquise-website/src/assets/opencloud_logo_white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
BIN
banquise-website/src/assets/pelican.png
Normal file
BIN
banquise-website/src/assets/pelican.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
BIN
banquise-website/src/assets/wikijs.png
Normal file
BIN
banquise-website/src/assets/wikijs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 103 KiB |
@ -31,7 +31,16 @@ export const ServiceCard: React.FC<ServiceCardProps> = ({
|
|||||||
<div className={cardClasses} onClick={handleClick}>
|
<div className={cardClasses} onClick={handleClick}>
|
||||||
{/* Icon */}
|
{/* Icon */}
|
||||||
<div className="mb-6 sm:mb-8 w-20 h-20 sm:w-24 sm:h-24 bg-gradient-to-br from-banquise-blue to-banquise-blue-light rounded-2xl flex items-center justify-center text-3xl sm:text-4xl shadow-lg group-hover:scale-110 transition-transform duration-300 mx-auto">
|
<div className="mb-6 sm:mb-8 w-20 h-20 sm:w-24 sm:h-24 bg-gradient-to-br from-banquise-blue to-banquise-blue-light rounded-2xl flex items-center justify-center text-3xl sm:text-4xl shadow-lg group-hover:scale-110 transition-transform duration-300 mx-auto">
|
||||||
{service.icon}
|
<img
|
||||||
|
src={service.image}
|
||||||
|
alt={service.icon}
|
||||||
|
className="h-10 sm:h-12 lg:h-14 w-auto relative z-10 transition-transform duration-300 group-hover:scale-130 m-10"
|
||||||
|
style={
|
||||||
|
{
|
||||||
|
filter: 'drop-shadow(0 0 12px rgba(168, 218, 255, 0.4))',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Service name */}
|
{/* Service name */}
|
||||||
@ -40,15 +49,10 @@ export const ServiceCard: React.FC<ServiceCardProps> = ({
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
{/* Short description */}
|
{/* Short description */}
|
||||||
<p className="text-banquise-gray/80 leading-relaxed mb-6 sm:mb-8 text-center text-sm sm:text-base">
|
<p className="text-banquise-gray/80 leading-relaxed text-center text-sm sm:text-base">
|
||||||
{service.description.split('.')[0]}.
|
{service.description.split('.')[0]}.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{/* CTA */}
|
|
||||||
<div className="flex items-center justify-center text-banquise-blue-light font-bold group-hover:text-banquise-blue-lightest transition-colors duration-300 text-sm sm:text-base">
|
|
||||||
<span className="text-center">{discoverFeaturesText}</span>
|
|
||||||
<span className="ml-2 text-lg transition-transform duration-300 group-hover:translate-x-2">→</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Hover effect */}
|
{/* Hover effect */}
|
||||||
<div className="absolute inset-0 bg-gradient-to-br from-banquise-blue-lightest/10 to-banquise-blue/5 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none"></div>
|
<div className="absolute inset-0 bg-gradient-to-br from-banquise-blue-lightest/10 to-banquise-blue/5 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none"></div>
|
||||||
|
@ -51,7 +51,11 @@ export const Footer: React.FC = () => (
|
|||||||
className="w-10 h-10 bg-banquise-blue/20 hover:bg-banquise-blue/30 rounded-full flex items-center justify-center transition-all duration-200 hover:scale-110"
|
className="w-10 h-10 bg-banquise-blue/20 hover:bg-banquise-blue/30 rounded-full flex items-center justify-center transition-all duration-200 hover:scale-110"
|
||||||
aria-label="Discord"
|
aria-label="Discord"
|
||||||
>
|
>
|
||||||
<span className="text-banquise-blue-lightest text-sm">💬</span>
|
<span className="text-banquise-blue-lightest text-sm">
|
||||||
|
<svg className="w-4 h-4 lg:w-5 lg:h-5" fill="currentColor" viewBox="0 0 24 24">
|
||||||
|
<path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.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-.03z"/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
href={URLS.contact.email}
|
href={URLS.contact.email}
|
||||||
@ -66,12 +70,12 @@ export const Footer: React.FC = () => (
|
|||||||
{/* Bottom Bar */}
|
{/* Bottom Bar */}
|
||||||
<div className="flex flex-col sm:flex-row justify-between items-center gap-4 pt-6 border-t border-banquise-blue-lightest/5">
|
<div className="flex flex-col sm:flex-row justify-between items-center gap-4 pt-6 border-t border-banquise-blue-lightest/5">
|
||||||
<p className="text-banquise-gray/60 text-xs text-center sm:text-left">
|
<p className="text-banquise-gray/60 text-xs text-center sm:text-left">
|
||||||
© 2024 {SITE_CONFIG.name}. Hébergement communautaire pour développeurs et gamers.
|
© 2025 {SITE_CONFIG.name}. Hébergement communautaire pour développeurs et gamers.
|
||||||
</p>
|
</p>
|
||||||
<div className="flex items-center gap-4 text-xs text-banquise-gray/60">
|
<div className="flex items-center gap-4 text-xs text-banquise-gray/60">
|
||||||
<span>Fait avec ❤️ par la communauté</span>
|
<span>Fait avec ❤️ par Banquise</span>
|
||||||
<div className="w-1 h-1 bg-banquise-gray/40 rounded-full"></div>
|
<div className="w-1 h-1 bg-banquise-gray/40 rounded-full"></div>
|
||||||
<span>EPITA 2024</span>
|
<span>EPITA 2025</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -96,10 +96,10 @@ export const Navigation: React.FC<NavigationProps> = ({ translations, languageSw
|
|||||||
>
|
>
|
||||||
<div className={`absolute inset-0 ${commonStyles.gradients.discordHover} opacity-0 group-hover:opacity-100 transition-opacity duration-300`}></div>
|
<div className={`absolute inset-0 ${commonStyles.gradients.discordHover} opacity-0 group-hover:opacity-100 transition-opacity duration-300`}></div>
|
||||||
<div className="relative z-10 flex items-center space-x-2">
|
<div className="relative z-10 flex items-center space-x-2">
|
||||||
<svg className="w-4 h-4 lg:w-5 lg:h-5" fill="currentColor" viewBox="0 0 24 24">
|
<svg className="w-4 h-4 lg:w-5 lg:h-5" fill="currentColor" viewBox="0 0 24 24">
|
||||||
<path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.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-.03z"/>
|
<path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.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-.03z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>Discord</span>
|
<span>Discord</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
import type { Translation } from '../../types/i18n';
|
import type { Translation } from '../../types/i18n';
|
||||||
import { URLS } from '../../config/constants';
|
import { URLS } from '../../config/constants';
|
||||||
|
import logoGitea from '/src/assets/Gitea_Logo.png';
|
||||||
|
import logoWiki from '/src/assets/wikijs.png';
|
||||||
|
import logoPelican from '/src/assets/pelican.png';
|
||||||
|
import logoOpencloud from '/src/assets/opencloud_logo_white.png';
|
||||||
|
|
||||||
export const fr: Translation = {
|
export const fr: Translation = {
|
||||||
services: [
|
services: [
|
||||||
{
|
{
|
||||||
name: "Wiki",
|
name: "Wiki",
|
||||||
url: URLS.services.wiki,
|
url: URLS.services.wiki,
|
||||||
image: "/path/to/wiki-image.jpg",
|
image: logoWiki,
|
||||||
icon: "📚",
|
icon: "📚",
|
||||||
description: "Plateforme collaborative de documentation technique et de partage de connaissances. Créez, modifiez et organisez vos guides, tutoriels et documentations en équipe avec un système de versioning intégré.",
|
description: "Plateforme collaborative de documentation technique et de partage de connaissances. Créez, modifiez et organisez vos guides, tutoriels et documentations en équipe avec un système de versioning intégré.",
|
||||||
features: [
|
features: [
|
||||||
@ -23,7 +27,7 @@ export const fr: Translation = {
|
|||||||
{
|
{
|
||||||
name: "Gitea",
|
name: "Gitea",
|
||||||
url: URLS.services.gitea,
|
url: URLS.services.gitea,
|
||||||
image: "/path/to/gitea-image.jpg",
|
image: logoGitea,
|
||||||
icon: "🔧",
|
icon: "🔧",
|
||||||
description: "Service Git auto-hébergé lightweight et performant pour vos projets de développement. Alternative open-source à GitHub avec toutes les fonctionnalités essentielles pour gérer vos repositories.",
|
description: "Service Git auto-hébergé lightweight et performant pour vos projets de développement. Alternative open-source à GitHub avec toutes les fonctionnalités essentielles pour gérer vos repositories.",
|
||||||
features: [
|
features: [
|
||||||
@ -37,26 +41,10 @@ export const fr: Translation = {
|
|||||||
"Webhooks pour les notifications externes"
|
"Webhooks pour les notifications externes"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: "Panel Gaming",
|
|
||||||
url: URLS.services.panel,
|
|
||||||
image: "/path/to/panel-image.jpg",
|
|
||||||
icon: "🎮",
|
|
||||||
description: "Interface de gestion centralisée pour tous vos serveurs de jeux. Déployez, configurez et surveillez facilement vos serveurs Minecraft, CS2, Garry's Mod et bien d'autres.",
|
|
||||||
features: [
|
|
||||||
"Support de 20+ jeux populaires (Minecraft, CS2, GMod...)",
|
|
||||||
"Déploiement en un clic avec templates préconfigurés",
|
|
||||||
"Console d'administration en temps réel",
|
|
||||||
"Gestion des fichiers avec éditeur intégré",
|
|
||||||
"Monitoring des performances et ressources",
|
|
||||||
"Système de sauvegarde automatique",
|
|
||||||
"Planificateur de tâches automatisées"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Pelican",
|
name: "Pelican",
|
||||||
url: URLS.services.pelican,
|
url: URLS.services.pelican,
|
||||||
image: "/path/to/pelican-image.jpg",
|
image: logoPelican,
|
||||||
icon: "🐧",
|
icon: "🐧",
|
||||||
description: "Générateur de sites statiques Python ultra-rapide et flexible. Créez des blogs, portfolios ou sites de documentation avec une performance optimale et un déploiement simplifié.",
|
description: "Générateur de sites statiques Python ultra-rapide et flexible. Créez des blogs, portfolios ou sites de documentation avec une performance optimale et un déploiement simplifié.",
|
||||||
features: [
|
features: [
|
||||||
@ -69,6 +57,36 @@ export const fr: Translation = {
|
|||||||
"Planificateur de tâches automatisées"
|
"Planificateur de tâches automatisées"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Changement de mot de passe",
|
||||||
|
url: URLS.services.ssp,
|
||||||
|
image: "/path/to/ssp-image.jpg",
|
||||||
|
icon: "🔐",
|
||||||
|
description: "Interface sécurisée pour la gestion autonome de vos mots de passe. Changez facilement vos identifiants en toute sécurité.",
|
||||||
|
features: [
|
||||||
|
"Interface sécurisée pour changer votre mot de passe",
|
||||||
|
"Validation de la complexité des mots de passe",
|
||||||
|
"Notifications par email des changements",
|
||||||
|
"Historique des modifications"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OpenCloud",
|
||||||
|
url: URLS.services.opencloud,
|
||||||
|
image: logoOpencloud,
|
||||||
|
icon: "☁️",
|
||||||
|
description: "Plateforme cloud collaborative open-source pour le stockage, le partage et la synchronisation de fichiers. Alternative libre à Google Drive avec contrôle total sur vos données.",
|
||||||
|
features: [
|
||||||
|
"Stockage cloud sécurisé et chiffré",
|
||||||
|
"Synchronisation multi-appareils",
|
||||||
|
"Partage de fichiers avec liens sécurisés",
|
||||||
|
"Édition collaborative de documents",
|
||||||
|
"Versioning automatique des fichiers",
|
||||||
|
"Applications mobiles natives",
|
||||||
|
"Intégration avec outils externes",
|
||||||
|
"Sauvegarde géoredondante des données"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "Intranet",
|
name: "Intranet",
|
||||||
url: URLS.services.intra,
|
url: URLS.services.intra,
|
||||||
@ -86,6 +104,22 @@ export const fr: Translation = {
|
|||||||
"Archive des décisions et procès-verbaux"
|
"Archive des décisions et procès-verbaux"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Panel Gaming",
|
||||||
|
url: URLS.services.panel,
|
||||||
|
image: "/path/to/panel-image.jpg",
|
||||||
|
icon: "🎮",
|
||||||
|
description: "Interface de gestion centralisée pour tous vos serveurs de jeux. Déployez, configurez et surveillez facilement vos serveurs Minecraft, CS2, Garry's Mod et bien d'autres.",
|
||||||
|
features: [
|
||||||
|
"Support de 20+ jeux populaires (Minecraft, CS2, GMod...)",
|
||||||
|
"Déploiement en un clic avec templates préconfigurés",
|
||||||
|
"Console d'administration en temps réel",
|
||||||
|
"Gestion des fichiers avec éditeur intégré",
|
||||||
|
"Monitoring des performances et ressources",
|
||||||
|
"Système de sauvegarde automatique",
|
||||||
|
"Planificateur de tâches automatisées"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "Mails",
|
name: "Mails",
|
||||||
url: URLS.services.mails,
|
url: URLS.services.mails,
|
||||||
@ -102,36 +136,6 @@ export const fr: Translation = {
|
|||||||
"Chiffrement des communications",
|
"Chiffrement des communications",
|
||||||
"Sauvegarde automatique des données"
|
"Sauvegarde automatique des données"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Changement de mot de passe",
|
|
||||||
url: URLS.services.ssp,
|
|
||||||
image: "/path/to/ssp-image.jpg",
|
|
||||||
icon: "🔐",
|
|
||||||
description: "Interface sécurisée pour la gestion autonome de vos mots de passe. Changez facilement vos identifiants en toute sécurité.",
|
|
||||||
features: [
|
|
||||||
"Interface sécurisée pour changer votre mot de passe",
|
|
||||||
"Validation de la complexité des mots de passe",
|
|
||||||
"Notifications par email des changements",
|
|
||||||
"Historique des modifications"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "OpenCloud",
|
|
||||||
url: URLS.services.opencloud,
|
|
||||||
image: "/path/to/opencloud-image.jpg",
|
|
||||||
icon: "☁️",
|
|
||||||
description: "Plateforme cloud collaborative open-source pour le stockage, le partage et la synchronisation de fichiers. Alternative libre à Google Drive avec contrôle total sur vos données.",
|
|
||||||
features: [
|
|
||||||
"Stockage cloud sécurisé et chiffré",
|
|
||||||
"Synchronisation multi-appareils",
|
|
||||||
"Partage de fichiers avec liens sécurisés",
|
|
||||||
"Édition collaborative de documents",
|
|
||||||
"Versioning automatique des fichiers",
|
|
||||||
"Applications mobiles natives",
|
|
||||||
"Intégration avec outils externes",
|
|
||||||
"Sauvegarde géoredondante des données"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
hero: {
|
hero: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user