|
|
|
|
@@ -1,5 +1,13 @@
|
|
|
|
|
import {
|
|
|
|
|
ArrowRight,
|
|
|
|
|
Code,
|
|
|
|
|
Database,
|
|
|
|
|
Scale,
|
|
|
|
|
Server,
|
|
|
|
|
Shield,
|
|
|
|
|
Zap,
|
|
|
|
|
} from "lucide-react";
|
|
|
|
|
import Link from "next/link";
|
|
|
|
|
import { Shield, Scale, Zap, Database, Server, Code, ArrowRight } from "lucide-react";
|
|
|
|
|
|
|
|
|
|
export default function HomePage() {
|
|
|
|
|
return (
|
|
|
|
|
@@ -33,8 +41,9 @@ export default function HomePage() {
|
|
|
|
|
La Bible Technique de MemeGoat 🐐
|
|
|
|
|
</h1>
|
|
|
|
|
<p className="mt-6 text-xl leading-8 text-muted-foreground">
|
|
|
|
|
Parce que partager des MEME de qualité demande une infrastructure qui ne broute pas.
|
|
|
|
|
Découvrez comment nous avons bâti le futur du rire avec une pointe de sérieux (mais pas trop).
|
|
|
|
|
Parce que partager des MEME de qualité demande une infrastructure qui ne
|
|
|
|
|
broute pas. Découvrez comment nous avons bâti le futur du rire avec une
|
|
|
|
|
pointe de sérieux (mais pas trop).
|
|
|
|
|
</p>
|
|
|
|
|
<div className="mt-12 flex flex-col sm:flex-row items-center justify-center gap-4 sm:gap-x-6">
|
|
|
|
|
<Link
|
|
|
|
|
@@ -58,7 +67,9 @@ export default function HomePage() {
|
|
|
|
|
<section className="py-24 bg-fd-background/50 border-y border-border">
|
|
|
|
|
<div className="container px-6 lg:px-8 mx-auto">
|
|
|
|
|
<div className="mx-auto max-w-2xl lg:text-center mb-16">
|
|
|
|
|
<h2 className="text-base font-bold leading-7 text-primary uppercase tracking-widest">Les Fondations</h2>
|
|
|
|
|
<h2 className="text-base font-bold leading-7 text-primary uppercase tracking-widest">
|
|
|
|
|
Les Fondations
|
|
|
|
|
</h2>
|
|
|
|
|
<p className="mt-2 text-4xl font-extrabold tracking-tight text-foreground sm:text-5xl">
|
|
|
|
|
Une plateforme bâtie pour tenir
|
|
|
|
|
</p>
|
|
|
|
|
@@ -68,21 +79,27 @@ export default function HomePage() {
|
|
|
|
|
{[
|
|
|
|
|
{
|
|
|
|
|
name: "Coffre-Fort Bêêêê-ton",
|
|
|
|
|
description: "Chiffrement PGP au repos et hachage Argon2id. Vos données sont plus en sécurité ici que dans un enclos fermé à double tour.",
|
|
|
|
|
description:
|
|
|
|
|
"Chiffrement PGP au repos et hachage Argon2id. Vos données sont plus en sécurité ici que dans un enclos fermé à double tour.",
|
|
|
|
|
icon: Shield,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "RGPD & Relax",
|
|
|
|
|
description: "Droit à l'oubli et portabilité. On respecte votre vie privée autant que vous respectez un bon mème bien placé.",
|
|
|
|
|
description:
|
|
|
|
|
"Droit à l'oubli et portabilité. On respecte votre vie privée autant que vous respectez un bon mème bien placé.",
|
|
|
|
|
icon: Scale,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "Vitesse Turbo-Chèvre",
|
|
|
|
|
description: "Transcodage WebP/WebM instantané. Vos GIFs se chargent plus vite que votre ombre, même sur le vieux smartphone de mamie.",
|
|
|
|
|
description:
|
|
|
|
|
"Transcodage WebP/WebM instantané. Vos GIFs se chargent plus vite que votre ombre, même sur le vieux smartphone de mamie.",
|
|
|
|
|
icon: Zap,
|
|
|
|
|
},
|
|
|
|
|
].map((feature) => (
|
|
|
|
|
<div key={feature.name} className="flex flex-col border border-border p-10 rounded-3xl bg-card hover:border-primary/50 transition-all shadow-md hover:shadow-xl group">
|
|
|
|
|
<div
|
|
|
|
|
key={feature.name}
|
|
|
|
|
className="flex flex-col border border-border p-10 rounded-3xl bg-card hover:border-primary/50 transition-all shadow-md hover:shadow-xl group"
|
|
|
|
|
>
|
|
|
|
|
<dt className="flex items-center gap-x-4 text-xl font-bold leading-7 text-foreground">
|
|
|
|
|
<div className="p-3 rounded-xl bg-primary/10 group-hover:bg-primary group-hover:text-primary-foreground transition-colors">
|
|
|
|
|
<feature.icon className="h-6 w-6" aria-hidden="true" />
|
|
|
|
|
@@ -103,7 +120,9 @@ export default function HomePage() {
|
|
|
|
|
<section className="py-24 sm:py-32 overflow-hidden">
|
|
|
|
|
<div className="container px-6 lg:px-8 mx-auto">
|
|
|
|
|
<div className="mx-auto max-w-2xl lg:text-center mb-20">
|
|
|
|
|
<h2 className="text-base font-bold leading-7 text-primary uppercase tracking-widest text-center">Stack Technique</h2>
|
|
|
|
|
<h2 className="text-base font-bold leading-7 text-primary uppercase tracking-widest text-center">
|
|
|
|
|
Stack Technique
|
|
|
|
|
</h2>
|
|
|
|
|
<p className="mt-2 text-4xl font-extrabold tracking-tight text-foreground sm:text-5xl text-center">
|
|
|
|
|
Technologies de pointe
|
|
|
|
|
</p>
|
|
|
|
|
@@ -111,13 +130,22 @@ export default function HomePage() {
|
|
|
|
|
<div className="mx-auto max-w-5xl">
|
|
|
|
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
|
|
|
{[
|
|
|
|
|
{ name: "Next.js 16", icon: Code, color: "hover:text-black dark:hover:text-white" },
|
|
|
|
|
{
|
|
|
|
|
name: "Next.js 16",
|
|
|
|
|
icon: Code,
|
|
|
|
|
color: "hover:text-black dark:hover:text-white",
|
|
|
|
|
},
|
|
|
|
|
{ name: "NestJS 11", icon: Server, color: "hover:text-red-500" },
|
|
|
|
|
{ name: "PostgreSQL 15", icon: Database, color: "hover:text-blue-500" },
|
|
|
|
|
{ name: "Chèvre-Power", icon: Zap, color: "hover:text-orange-500" },
|
|
|
|
|
].map((tech) => (
|
|
|
|
|
<div key={tech.name} className="flex flex-col items-center p-8 border border-border rounded-2xl bg-card/50 hover:bg-card hover:border-primary transition-all group">
|
|
|
|
|
<tech.icon className={`h-12 w-12 text-muted-foreground mb-4 transition-colors ${tech.color}`} />
|
|
|
|
|
<div
|
|
|
|
|
key={tech.name}
|
|
|
|
|
className="flex flex-col items-center p-8 border border-border rounded-2xl bg-card/50 hover:bg-card hover:border-primary transition-all group"
|
|
|
|
|
>
|
|
|
|
|
<tech.icon
|
|
|
|
|
className={`h-12 w-12 text-muted-foreground mb-4 transition-colors ${tech.color}`}
|
|
|
|
|
/>
|
|
|
|
|
<span className="font-bold text-lg">{tech.name}</span>
|
|
|
|
|
</div>
|
|
|
|
|
))}
|
|
|
|
|
@@ -131,31 +159,49 @@ export default function HomePage() {
|
|
|
|
|
<div className="container px-6 lg:px-8 mx-auto">
|
|
|
|
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-12 items-center">
|
|
|
|
|
<div>
|
|
|
|
|
<h2 className="text-3xl font-extrabold mb-6 italic text-primary">"On ne rigole pas avec le rire. Surtout quand il s'agit de vous." 🐐</h2>
|
|
|
|
|
<h2 className="text-3xl font-extrabold mb-6 italic text-primary">
|
|
|
|
|
"On ne rigole pas avec le rire. Surtout quand il s'agit de vous." 🐐
|
|
|
|
|
</h2>
|
|
|
|
|
<p className="text-lg text-muted-foreground mb-8">
|
|
|
|
|
Memegoat n'est pas qu'un site pour scroller à l'infini. C'est un site qui as pour but de partager des MEME de qualité sans surconsommer les ressources mondiales avec des fichiers beaucoup trop gros et des requêtes trop nombreuses.
|
|
|
|
|
Memegoat n'est pas qu'un site pour scroller à l'infini. C'est un site
|
|
|
|
|
qui as pour but de partager des MEME de qualité sans surconsommer les
|
|
|
|
|
ressources mondiales avec des fichiers beaucoup trop gros et des
|
|
|
|
|
requêtes trop nombreuses.
|
|
|
|
|
</p>
|
|
|
|
|
<Link
|
|
|
|
|
href="/docs/index"
|
|
|
|
|
className="inline-flex items-center text-primary font-bold hover:gap-3 transition-all gap-2 text-lg"
|
|
|
|
|
>
|
|
|
|
|
Plongez dans le code (garanti sans crottin) <ArrowRight className="h-6 w-6" />
|
|
|
|
|
Plongez dans le code (garanti sans crottin){" "}
|
|
|
|
|
<ArrowRight className="h-6 w-6" />
|
|
|
|
|
</Link>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
|
|
|
<Link href="/docs/database" className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2">
|
|
|
|
|
<Link
|
|
|
|
|
href="/docs/database"
|
|
|
|
|
className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2"
|
|
|
|
|
>
|
|
|
|
|
<Database className="h-6 w-6 text-primary" />
|
|
|
|
|
Modèle de Données
|
|
|
|
|
</Link>
|
|
|
|
|
<Link href="/docs/security" className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2">
|
|
|
|
|
<Link
|
|
|
|
|
href="/docs/security"
|
|
|
|
|
className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2"
|
|
|
|
|
>
|
|
|
|
|
<Shield className="h-6 w-6 text-primary" />
|
|
|
|
|
Sécurité PGP
|
|
|
|
|
</Link>
|
|
|
|
|
<Link href="/docs/api-reference" className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2">
|
|
|
|
|
<Link
|
|
|
|
|
href="/docs/api-reference"
|
|
|
|
|
className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2"
|
|
|
|
|
>
|
|
|
|
|
<Code className="h-6 w-6 text-primary" />
|
|
|
|
|
Référence API
|
|
|
|
|
</Link>
|
|
|
|
|
<Link href="/docs/deployment" className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2">
|
|
|
|
|
<Link
|
|
|
|
|
href="/docs/deployment"
|
|
|
|
|
className="p-6 border border-border rounded-2xl hover:bg-accent transition-colors font-bold flex flex-col gap-2"
|
|
|
|
|
>
|
|
|
|
|
<Server className="h-6 w-6 text-primary" />
|
|
|
|
|
Déploiement
|
|
|
|
|
</Link>
|
|
|
|
|
|