mirror of
https://github.com/arthur-pbty/portfolio.git
synced 2026-08-01 20:29:43 +02:00
fix: update contact link in Footer and enhance Homelab services with new entries
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
co-authored by
Copilot
parent
e558b707a2
commit
ca50a70a71
@@ -42,7 +42,7 @@ export default function Footer() {
|
|||||||
<h4 className="font-semibold text-sm mb-4">Contact</h4>
|
<h4 className="font-semibold text-sm mb-4">Contact</h4>
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<a
|
<a
|
||||||
href="https://contact.arthurp.fr"
|
href="https://contact.arthurp.fr/?project=portfolio"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="flex items-center gap-2 text-sm text-muted hover:text-emphasis transition-colors"
|
className="flex items-center gap-2 text-sm text-muted hover:text-emphasis transition-colors"
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ import {
|
|||||||
Monitor,
|
Monitor,
|
||||||
Music,
|
Music,
|
||||||
Search,
|
Search,
|
||||||
|
Calendar,
|
||||||
|
EarthLock,
|
||||||
|
Router,
|
||||||
|
HousePlug,
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
|
|
||||||
const infra = [
|
const infra = [
|
||||||
@@ -48,27 +52,43 @@ const personalServices = [
|
|||||||
{
|
{
|
||||||
icon: <Image size={20} className="text-pink-400" />,
|
icon: <Image size={20} className="text-pink-400" />,
|
||||||
name: "Immich",
|
name: "Immich",
|
||||||
url: "immich.arthurp.fr",
|
|
||||||
desc: "Gestionnaire de photos auto-hébergé — alternative à Google Photos.",
|
desc: "Gestionnaire de photos auto-hébergé — alternative à Google Photos.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: <Tv size={20} className="text-indigo-400" />,
|
icon: <Tv size={20} className="text-indigo-400" />,
|
||||||
name: "Jellyfin",
|
name: "Jellyfin",
|
||||||
url: "jellyfin.arthurp.fr",
|
|
||||||
desc: "Serveur multimédia auto-hébergé — films, séries, musique.",
|
desc: "Serveur multimédia auto-hébergé — films, séries, musique.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: <Music size={20} className="text-purple-400" />,
|
icon: <Music size={20} className="text-purple-400" />,
|
||||||
name: "Navidrome",
|
name: "Navidrome",
|
||||||
url: "navidrome.arthurp.fr",
|
|
||||||
desc: "Serveur de musique auto-hébergé — streaming de ma bibliothèque musicale.",
|
desc: "Serveur de musique auto-hébergé — streaming de ma bibliothèque musicale.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: <Search size={20} className="text-amber-400" />,
|
icon: <Search size={20} className="text-amber-400" />,
|
||||||
name: "SearXNG",
|
name: "SearXNG",
|
||||||
url: "searxng.arthurp.fr",
|
|
||||||
desc: "Moteur de recherche anonyme et décentralisé.",
|
desc: "Moteur de recherche anonyme et décentralisé.",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
icon: <HousePlug size={20} className="text-blue-400" />,
|
||||||
|
name: "Home Assistant",
|
||||||
|
desc: "Automatisation de la maison pour contrôler mes appareils connectés et créer des scénarios intelligents.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: <Router size={20} className="text-red-400" />,
|
||||||
|
name: "OPNsense",
|
||||||
|
desc: "Firewall et routeur pour la sécurité de mon réseau domestique.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: <EarthLock size={20} className="text-red-400" />,
|
||||||
|
name: "WireGuard VPN",
|
||||||
|
desc: "Accès sécurisé à mon réseau domestique depuis l'extérieur, même en déplacement.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: <Calendar size={20} className="text-green-400" />,
|
||||||
|
name: "Radicale",
|
||||||
|
desc: "Serveur de calendrier et de contact pour la synchronisation des données.",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export default function Homelab() {
|
export default function Homelab() {
|
||||||
@@ -127,9 +147,6 @@ export default function Homelab() {
|
|||||||
{svc.icon}
|
{svc.icon}
|
||||||
<div>
|
<div>
|
||||||
<h4 className="font-semibold text-sm">{svc.name}</h4>
|
<h4 className="font-semibold text-sm">{svc.name}</h4>
|
||||||
<span className="text-[10px] text-dim font-mono">
|
|
||||||
{svc.url}
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-xs text-muted leading-relaxed">
|
<p className="text-xs text-muted leading-relaxed">
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ export default function Sailing() {
|
|||||||
{/* Highlights */}
|
{/* Highlights */}
|
||||||
<div className="grid grid-cols-3 gap-2 sm:gap-3">
|
<div className="grid grid-cols-3 gap-2 sm:gap-3">
|
||||||
<div className="p-3 sm:p-4 rounded-xl border border-border bg-card text-center">
|
<div className="p-3 sm:p-4 rounded-xl border border-border bg-card text-center">
|
||||||
<div className="text-2xl font-bold text-emphasis">1</div>
|
<div className="text-2xl font-bold text-emphasis">1er</div>
|
||||||
<div className="text-[10px] text-muted mt-1">
|
<div className="text-[10px] text-muted mt-1">
|
||||||
Champion de France
|
Champion de France
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user