535 lines
21 KiB
Plaintext
535 lines
21 KiB
Plaintext
<template>
|
|
<div class="apropos-page">
|
|
<div class="apropos-inner">
|
|
|
|
<!-- Retour -->
|
|
<NuxtLink to="/" class="back-link">
|
|
← Retour à la carte
|
|
</NuxtLink>
|
|
|
|
<!-- ══════════════════════════════════════════════════════════
|
|
SECTION 1 - Mission AEP
|
|
══════════════════════════════════════════════════════════ -->
|
|
<!-- TODO Jules : Écrire le pitch (~100 mots) - qui est AEP, pour qui, pourquoi, quelle promesse -->
|
|
<section class="section-mission">
|
|
<h1>Architecture d'Écologie Politique</h1>
|
|
<p class="mission-text">
|
|
L'architecture est l'une des professions les plus complexes qui soit ; elle croise droit, technique, esthétique, économie, social, écologie - tout à la fois, tout simultanément, souvent sans filet. Paradoxalement, c'est aussi l'une des moins structurées sur le plan de l'entraide : peu de transmission horizontale, beaucoup d'isolement, une culture du chacun-pour-soi héritée d'une formation qui prépare à la compétition plus qu'à la coopération. On sort de l'école seul.e. On s'installe seul.e. On réinvente ce que d'autres ont déjà traversé.
|
|
</p>
|
|
<p class="mission-text">
|
|
Cette carte est née de cette frustration - et de cette conviction : les ressources existent, les gens qui ont réussi à sortir la tête de l'eau aussi. L'enjeu, c'est de les documenter, de les rendre accessibles, de les ajuster en temps réel grâce aux retours de la communauté. Pas un catalogue figé ; un commun vivant, au service de ceux et celles qui cherchent à faire évoluer leur pratique vers quelque chose de plus épanouissant, mieux rémunéré, au service de la société - et qui prend soin de la santé, la nôtre et celle des gens pour qui nous construisons.
|
|
</p>
|
|
</section>
|
|
|
|
<!-- ══════════════════════════════════════════════════════════
|
|
SECTION 2 - Souveraineté technique
|
|
══════════════════════════════════════════════════════════ -->
|
|
<!-- TODO Jules : Écrire 1-2 phrases d'intro sur la posture technique (pourquoi c'est important pour toi) -->
|
|
<section class="section">
|
|
<h2>Infrastructure souveraine</h2>
|
|
<p class="section-intro">
|
|
Ce site tourne sur un VPS - un serveur privé loué en Europe - construit entièrement avec des logiciels open source, quasi gratuits. Pas de services Google, pas d'Amazon, pas de Microsoft dans la chaîne. C'est un choix délibéré : contrôler son infrastructure, c'est contrôler ses données.
|
|
</p>
|
|
<div class="badges-row">
|
|
<div class="badge">
|
|
<span class="badge-icon" aria-hidden="true">
|
|
<!-- Mistral logo placeholder -->
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 8v4l3 3"/></svg>
|
|
</span>
|
|
<span class="badge-label">IA souveraine</span>
|
|
<span class="badge-detail">Mistral AI, Paris - conforme RGPD ; pas de collecte ni de profiling ; aucun transfert hors UE</span>
|
|
</div>
|
|
<div class="badge">
|
|
<span class="badge-icon" aria-hidden="true">
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-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>
|
|
</span>
|
|
<span class="badge-label">Hébergé en Europe</span>
|
|
<span class="badge-detail">Hetzner, Allemagne</span>
|
|
</div>
|
|
<div class="badge">
|
|
<span class="badge-icon" aria-hidden="true">
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
|
|
</span>
|
|
<span class="badge-label">Zéro cookie US</span>
|
|
<span class="badge-detail">Pas de Google Analytics, pas de Meta Pixel, pas de tracker tiers ; on ne sait rien de toi</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- ══════════════════════════════════════════════════════════
|
|
SECTION 3 - Gouvernance
|
|
══════════════════════════════════════════════════════════ -->
|
|
<!-- TODO Jules : Écrire qui porte ce projet, le collectif, la posture politique, le lien Liberapay -->
|
|
<section class="section">
|
|
<h2>Gouvernance</h2>
|
|
<p class="section-text">
|
|
Architecture d'Écologie Politique est un collectif en train de se monter - ouvert à toustes, à gouvernance partagée. Les décisions se prennent en transparence. Si tu veux participer, contribuer, ou simplement suivre ce qui se construit : tu es la bienvenu·e. Contact : <a href="mailto:contact@trans-former.fr" class="text-link">contact@trans-former.fr</a>
|
|
</p>
|
|
</section>
|
|
|
|
<!-- ══════════════════════════════════════════════════════════
|
|
SECTION 4 - Transparence Liberapay
|
|
══════════════════════════════════════════════════════════ -->
|
|
<!-- TODO Jules : Écrire pourquoi Liberapay (pas Patreon, pas Ko-fi), le modèle de financement voulu -->
|
|
<section class="section section-liberapay">
|
|
<h2>Soutenir le projet</h2>
|
|
<p class="section-text">
|
|
Ce projet est participatif, libre, open source. Il existe parce que la communauté l'utilise - et il ne peut continuer à exister que si la communauté le soutient.
|
|
</p>
|
|
<p class="section-text">
|
|
Le financer, c'est soutenir la structuration d'un écosystème d'entraide architecturale qui, aujourd'hui, est assez défaillant. Si toi aussi tu as manqué de ressources en chemin, si tu as dû réinventer seul·e ce que d'autres avaient déjà compris, si tu as cherché un filet et ne l'as pas trouvé - tu sais exactement pourquoi ça compte. Ce que tu mets dans la cagnotte ne va pas dans une boîte ; ça va dans un outil qui permet que la prochaine génération d'architectes ait ce que nous n'avons pas eu : un réseau d'entraide qui fonctionne, au service de pratiques plus épanouissantes, plus politiques, plus écologiques.
|
|
</p>
|
|
<p class="liberapay-note">
|
|
Liberapay est une plateforme open source EU (ASBL belge non-lucrative), 0% de frais.
|
|
</p>
|
|
|
|
<!-- Bouton CTA -->
|
|
<a
|
|
href="https://liberapay.com/trans-former.fr/donate"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="btn-liberapay"
|
|
>
|
|
Soutenir sur Liberapay →
|
|
</a>
|
|
</section>
|
|
|
|
<!-- ══════════════════════════════════════════════════════════
|
|
SECTION 5 - Transparence IA
|
|
══════════════════════════════════════════════════════════ -->
|
|
<!-- TODO Jules : Écrire la posture sur l'IA - pourquoi ces modèles, pourquoi la transparence, ce que ça signifie politiquement -->
|
|
<section id="ia" class="section">
|
|
<h2>Transparence IA</h2>
|
|
<p class="section-text">
|
|
Ce site a été construit grâce à l'IA, par quelqu'un qui n'est pas développeur. C'est une manière de subvertir les outils des Big Tech pour en faire quelque chose de communautaire et de souverain : une infrastructure locale, des données qu'on contrôle, un commun qui n'appartient à personne en particulier.
|
|
</p>
|
|
<p class="section-text">
|
|
L'IA est un outil. La question, c'est au service de quoi. Oui, elle est énergivore - et il faut l'assumer. Mais si c'est au service de l'émancipation, du collectif, de transformer nos infrastructures sociétales, alors on dit oui - en sachant que c'est une étape transitoire. L'infrastructure de l'IA elle-même peut évoluer : devenir plus locale, plus sobre, plus souveraine. C'est dans cette direction qu'on regarde.
|
|
</p>
|
|
|
|
<div class="ia-grid">
|
|
<div class="ia-card">
|
|
<div class="ia-card-label">Enrichissement des fiches</div>
|
|
<div class="ia-card-model">Mistral Nemo</div>
|
|
<div class="ia-card-cost">~0,00003 €/fiche</div>
|
|
</div>
|
|
<div class="ia-card">
|
|
<div class="ia-card-label">Chatbot de recherche</div>
|
|
<div class="ia-card-model">Mistral Small</div>
|
|
<div class="ia-card-cost">~0,003 €/requête</div>
|
|
</div>
|
|
</div>
|
|
|
|
<ul class="ia-details">
|
|
<li>10 € / mois investis au départ par le collectif - vos dons constituent la réserve pour faire vivre le projet et financer ses recherches</li>
|
|
<li>Coût visible en direct dans le bandeau bas de la carte</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<!-- ══════════════════════════════════════════════════════════
|
|
SECTION 6 - Contribuer
|
|
══════════════════════════════════════════════════════════ -->
|
|
<!-- TODO Jules : Écrire l'invitation à contribuer - ton, posture, ce qu'on attend des contributeurs -->
|
|
<section class="section section-contribuer">
|
|
<h2>Contribuer</h2>
|
|
<p class="section-text">
|
|
Il n'y a pas de barre d'entrée ici. Une correction, une ressource à signaler, un retour sur ta propre expérience - c'est déjà participer à quelque chose qui grandit par accumulation de petits gestes.
|
|
</p>
|
|
<div class="contribuer-ctas">
|
|
<NuxtLink to="/contribuer" class="btn-primary">
|
|
Proposer une fiche →
|
|
</NuxtLink>
|
|
<a
|
|
href="https://trans-former.fr/"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="btn-secondary"
|
|
>
|
|
Blog AEP
|
|
</a>
|
|
<a
|
|
href="https://www.instagram.com/aep.politique/"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="btn-secondary"
|
|
>
|
|
Instagram
|
|
</a>
|
|
<a
|
|
href="https://liberapay.com/trans-former.fr/donate"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="btn-secondary"
|
|
>
|
|
Soutenir
|
|
</a>
|
|
<a
|
|
href="mailto:contact@trans-former.fr"
|
|
class="btn-secondary"
|
|
>
|
|
Contact
|
|
</a>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- ══════════════════════════════════════════════════════════
|
|
SECTION 7 - Open Source
|
|
══════════════════════════════════════════════════════════ -->
|
|
<section class="section section-opensource">
|
|
<h2>Code source ouvert</h2>
|
|
<p class="section-text">
|
|
Cette carte est un commun technique autant qu'un commun de ressources. Le code source est libre — tu peux le forker, l'adapter, le déployer pour ta propre cartographie d'entraide, ton territoire, ta filière.
|
|
</p>
|
|
<p class="section-text">
|
|
Une liste de ressources locales pour les artisans ? Un réseau d'entraide pour les soignants indépendants ? La structure est la même. L'IA d'enrichissement est la même. Il suffit de changer les données.
|
|
</p>
|
|
<a
|
|
href="https://git.trans-former.fr/jules/nav-carte"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="btn-github"
|
|
>
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"/></svg>
|
|
Code source — git.trans-former.fr →
|
|
</a>
|
|
</section>
|
|
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
useHead({ title: 'À propos - AEP' })
|
|
</script>
|
|
|
|
<style scoped>
|
|
/* ── Layout ─────────────────────────────────────────────────────────────────── */
|
|
|
|
.apropos-page {
|
|
min-height: 100vh;
|
|
background: var(--nav-bg);
|
|
padding: 1.5rem 1rem 5rem;
|
|
}
|
|
|
|
.apropos-inner {
|
|
max-width: 720px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
/* ── Retour ──────────────────────────────────────────────────────────────────── */
|
|
|
|
.back-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
font-size: 0.875rem;
|
|
color: var(--nav-primary-solid);
|
|
opacity: 0.7;
|
|
text-decoration: none;
|
|
margin-bottom: 2rem;
|
|
transition: opacity 0.15s;
|
|
}
|
|
|
|
.back-link:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* ── Sections ────────────────────────────────────────────────────────────────── */
|
|
|
|
.section-mission,
|
|
.section {
|
|
margin-bottom: 3rem;
|
|
}
|
|
|
|
.section-mission h1 {
|
|
font-size: 1.75rem;
|
|
font-weight: 700;
|
|
color: var(--nav-text);
|
|
margin: 0 0 1rem;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.section h2 {
|
|
font-size: 1.2rem;
|
|
font-weight: 700;
|
|
color: var(--nav-text);
|
|
margin: 0 0 0.75rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 1px solid var(--nav-bg-alt);
|
|
}
|
|
|
|
.mission-text,
|
|
.section-intro,
|
|
.section-text {
|
|
font-size: 0.95rem;
|
|
color: var(--nav-text);
|
|
line-height: 1.65;
|
|
margin: 0 0 1rem;
|
|
}
|
|
|
|
.section-intro {
|
|
color: var(--nav-text-muted);
|
|
margin-bottom: 1.25rem;
|
|
}
|
|
|
|
.text-link {
|
|
color: var(--nav-primary-solid);
|
|
text-decoration: underline;
|
|
text-underline-offset: 2px;
|
|
}
|
|
|
|
.text-link:hover {
|
|
opacity: 0.75;
|
|
}
|
|
|
|
/* ── Badges souveraineté ──────────────────────────────────────────────────────── */
|
|
|
|
.badges-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.badge {
|
|
display: inline-flex;
|
|
align-items: flex-start;
|
|
gap: 0.5rem;
|
|
padding: 0.625rem 0.875rem;
|
|
background: var(--nav-bg-alt);
|
|
border-radius: 9999px;
|
|
flex-direction: column;
|
|
min-width: 160px;
|
|
flex: 1;
|
|
}
|
|
|
|
@media (min-width: 560px) {
|
|
.badge {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
flex: none;
|
|
min-width: auto;
|
|
}
|
|
}
|
|
|
|
.badge-icon {
|
|
color: var(--nav-text-muted);
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.badge-label {
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
color: var(--nav-text);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.badge-detail {
|
|
font-size: 0.775rem;
|
|
color: var(--nav-text-muted);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
@media (max-width: 559px) {
|
|
.badge {
|
|
border-radius: 12px;
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
.badge-label {
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
|
|
/* ── Liberapay ───────────────────────────────────────────────────────────────── */
|
|
|
|
.liberapay-note {
|
|
font-size: 0.8rem;
|
|
color: var(--nav-text-muted);
|
|
margin: 0 0 1rem;
|
|
font-style: italic;
|
|
}
|
|
|
|
.btn-liberapay {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
padding: 0.625rem 1.25rem;
|
|
background: var(--nav-primary);
|
|
color: var(--nav-text-on-primary);
|
|
border-radius: 8px;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
transition: background 0.15s;
|
|
}
|
|
|
|
.btn-liberapay:hover {
|
|
background: rgba(26, 34, 56, 0.75);
|
|
}
|
|
|
|
/* ── IA grid ─────────────────────────────────────────────────────────────────── */
|
|
|
|
.ia-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 0.75rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
@media (max-width: 480px) {
|
|
.ia-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
.ia-card {
|
|
background: var(--nav-surface);
|
|
border: 1px solid rgba(26, 34, 56, 0.1);
|
|
border-radius: 10px;
|
|
padding: 1rem 1.125rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.ia-card-label {
|
|
font-size: 0.75rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
color: var(--nav-text-muted);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.ia-card-model {
|
|
font-size: 1rem;
|
|
font-weight: 700;
|
|
color: var(--nav-text);
|
|
}
|
|
|
|
.ia-card-cost {
|
|
font-size: 0.825rem;
|
|
color: var(--nav-text-muted);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.ia-details {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.375rem;
|
|
}
|
|
|
|
.ia-details li {
|
|
font-size: 0.875rem;
|
|
color: var(--nav-text-muted);
|
|
padding-left: 1rem;
|
|
position: relative;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.ia-details li::before {
|
|
content: '—';
|
|
position: absolute;
|
|
left: 0;
|
|
color: var(--nav-text-muted);
|
|
opacity: 0.5;
|
|
}
|
|
|
|
/* ── CTAs contribuer ─────────────────────────────────────────────────────────── */
|
|
|
|
.contribuer-ctas {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.75rem;
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
.btn-primary {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0.75rem 1.5rem;
|
|
background: var(--nav-accent);
|
|
color: var(--nav-text);
|
|
border-radius: 8px;
|
|
font-size: 0.9rem;
|
|
font-weight: 600;
|
|
text-decoration: none;
|
|
transition: opacity 0.15s;
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
opacity: 0.85;
|
|
}
|
|
|
|
.btn-secondary {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0.75rem 1.25rem;
|
|
background: transparent;
|
|
color: var(--nav-text-muted);
|
|
border: 1px solid rgba(26, 34, 56, 0.2);
|
|
border-radius: 8px;
|
|
font-size: 0.9rem;
|
|
text-decoration: none;
|
|
transition: border-color 0.15s, color 0.15s;
|
|
}
|
|
|
|
.btn-secondary:hover {
|
|
border-color: var(--nav-primary-solid);
|
|
color: var(--nav-text);
|
|
}
|
|
|
|
/* ── GitHub open source ──────────────────────────────────────────────────────── */
|
|
|
|
.section-opensource {
|
|
border-top: 1px solid var(--nav-bg-alt);
|
|
padding-top: 2rem;
|
|
}
|
|
|
|
.btn-github {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.625rem 1.25rem;
|
|
background: var(--nav-surface);
|
|
border: 1px solid rgba(26, 34, 56, 0.2);
|
|
border-radius: 8px;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
color: var(--nav-text);
|
|
text-decoration: none;
|
|
transition: border-color 0.15s, background 0.15s;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.btn-github:hover {
|
|
border-color: var(--nav-primary-solid);
|
|
background: var(--nav-bg-alt);
|
|
}
|
|
|
|
/* ── Responsive général ──────────────────────────────────────────────────────── */
|
|
|
|
@media (max-width: 480px) {
|
|
.apropos-page {
|
|
padding: 1rem 0.75rem 4rem;
|
|
}
|
|
|
|
.section-mission h1 {
|
|
font-size: 1.4rem;
|
|
}
|
|
|
|
.contribuer-ctas {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.btn-primary,
|
|
.btn-secondary {
|
|
width: 100%;
|
|
justify-content: center;
|
|
}
|
|
}
|
|
</style>
|