Refresh CCDS Forgejo theme and merge guide

This commit is contained in:
Selecta Keke 2026-08-15 16:15:36 -03:00
parent 1de93154cf
commit 16964d6c79
3 changed files with 128 additions and 55 deletions

34
README.md Normal file
View file

@ -0,0 +1,34 @@
# Portail Associations CCDS
Depot central du projet `portail-associations`, avec application, documentation, services locaux et references techniques.
## Ce que ce depot contient
- `client/` : interface web
- `server/` : API et logique serveur
- `shared/` : contrats et configuration partages
- `docs/` : documentation vivante du portail
- `deployments/` : publication preprod / prod
- `local-services/` : services locaux d'appui, dont Forgejo
## Fusion douce CCDS
Les anciens depots CCDS sont progressivement integres ici pour garder :
- un seul point d'entree principal
- un historique preservé
- une lecture plus simple pour l'equipe
Ils sont reunis sous `convergence/` :
- `convergence/ccds-docs/`
- `convergence/ccds-infra/`
- `convergence/ccds-cartographie/`
Le but est de centraliser sans perdre la memoire des travaux deja menes.
## References rapides
- [Guide de fusion douce CCDS](./docs/forgejo/fusion-douce-ccds.md)
- [Theme Forgejo CCDS](./local-services/forgejo/README.md)

View file

@ -0,0 +1,39 @@
# Fusion douce des depots CCDS
## Intention
Centraliser les contenus CCDS dans `portail-associations` sans casser l'historique ni brusquer les habitudes.
## Principe retenu
La fusion se fait en douceur :
1. `portail-associations` devient le depot central
2. les anciens depots sont integres avec historique conserve
3. les anciens depots sont archives ensuite dans Forgejo
4. les liens de lecture pointent vers le depot central et son wiki
## Repos integres
- `ccds/docs` -> `convergence/ccds-docs/`
- `ccds/infra` -> `convergence/ccds-infra/`
- `ccds/cartographie` -> `convergence/ccds-cartographie/`
## Pourquoi cette approche
- eviter l'effet brouillon de plusieurs depots pour un meme projet
- garder une seule porte d'entree cote CCDS
- conserver l'historique Git des anciens depots
- preparer un wiki unifie aux couleurs du portail
## Ce qui reste separe
- `NEI-K` reste autonome
- rien dans son wiki ou son theme ne doit pointer vers CCDS
## Suite normale
1. verifier la lecture du depot central
2. verifier le wiki CCDS recolore comme le site
3. archiver `ccds/docs`, `ccds/infra` et `ccds/cartographie`
4. garder `.profile` comme accueil d'organisation

View file

@ -4,18 +4,18 @@
*/
:root {
--ccds-ink: #17202f;
--ccds-ink-soft: #405068;
--ccds-line: rgba(23, 32, 47, 0.1);
--ccds-line-strong: rgba(16, 72, 132, 0.18);
--ccds-ink: #172233;
--ccds-ink-soft: #526277;
--ccds-line: rgba(23, 34, 51, 0.1);
--ccds-line-strong: rgba(47, 111, 206, 0.16);
--ccds-surface: #ffffff;
--ccds-surface-soft: rgba(255, 255, 255, 0.9);
--ccds-surface-muted: #f5f8fc;
--ccds-primary: #1565c0;
--ccds-primary-strong: #0d4e99;
--ccds-accent: #39b96b;
--ccds-accent-soft: rgba(57, 185, 107, 0.16);
--ccds-shadow: 0 18px 42px rgba(18, 34, 61, 0.08);
--ccds-surface-soft: rgba(255, 255, 255, 0.92);
--ccds-surface-muted: #f6faf8;
--ccds-primary: #44bf69;
--ccds-primary-strong: #2f8f4d;
--ccds-accent: #2f6fce;
--ccds-accent-soft: rgba(47, 111, 206, 0.12);
--ccds-shadow: 0 18px 42px rgba(25, 44, 76, 0.08);
--ccds-radius-lg: 22px;
--ccds-radius-md: 16px;
--ccds-radius-sm: 12px;
@ -23,9 +23,9 @@
body:has(.page-content.repository.wiki) {
background:
radial-gradient(circle at top left, rgba(57, 185, 107, 0.12), transparent 20rem),
radial-gradient(circle at top right, rgba(21, 101, 192, 0.12), transparent 24rem),
linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
radial-gradient(circle at top left, rgba(68, 191, 105, 0.12), transparent 20rem),
radial-gradient(circle at top right, rgba(47, 111, 206, 0.1), transparent 24rem),
linear-gradient(180deg, #fbfdfb 0%, #eef6f2 100%);
}
.page-content.repository.wiki {
@ -55,8 +55,8 @@ body:has(.page-content.repository.wiki) {
}
.page-content.repository.wiki .repo-button-row .ui.basic.button {
border-color: rgba(21, 101, 192, 0.22);
background: #f6fbff;
border-color: rgba(47, 111, 206, 0.2);
background: #f7fbff;
}
.page-content.repository.wiki .ui.dividing.header {
@ -67,7 +67,7 @@ body:has(.page-content.repository.wiki) {
border: 1px solid var(--ccds-line-strong) !important;
border-radius: var(--ccds-radius-lg);
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.97));
linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(245, 250, 247, 0.97));
box-shadow: var(--ccds-shadow);
}
@ -76,7 +76,7 @@ body:has(.page-content.repository.wiki) {
position: absolute;
inset: auto 0 0;
height: 5px;
background: linear-gradient(90deg, var(--ccds-accent), var(--ccds-primary));
background: linear-gradient(90deg, var(--ccds-primary), var(--ccds-accent));
}
.page-content.repository.wiki .ui.dividing.header::after {
@ -84,7 +84,7 @@ body:has(.page-content.repository.wiki) {
position: absolute;
top: 22px;
right: 26px;
color: rgba(21, 101, 192, 0.12);
color: rgba(47, 111, 206, 0.12);
font-size: clamp(1.4rem, 4vw, 3rem);
font-weight: 900;
letter-spacing: 0.12em;
@ -111,14 +111,14 @@ body:has(.page-content.repository.wiki) {
}
.page-content.repository.wiki .ui.primary.button {
border-color: var(--ccds-primary) !important;
background: linear-gradient(135deg, #1e77d4, #0f5cac) !important;
border-color: var(--ccds-accent) !important;
background: linear-gradient(135deg, #3e80dc, #2f6fce) !important;
color: #fff !important;
box-shadow: 0 8px 18px rgba(21, 101, 192, 0.22) !important;
box-shadow: 0 8px 18px rgba(47, 111, 206, 0.22) !important;
}
.page-content.repository.wiki .ui.primary.button:hover {
background: linear-gradient(135deg, #3086e1, #1364b8) !important;
background: linear-gradient(135deg, #4b8ae4, #3979d4) !important;
transform: translateY(-1px);
}
@ -146,7 +146,7 @@ body:has(.page-content.repository.wiki) {
top: 74px;
padding: 20px;
background: rgba(255, 255, 255, 0.94);
box-shadow: 0 14px 30px rgba(18, 34, 61, 0.08);
box-shadow: 0 14px 30px rgba(25, 44, 76, 0.08);
}
.page-content.repository.wiki .wiki-content-sidebar .markup {
@ -181,7 +181,7 @@ body:has(.page-content.repository.wiki) {
.page-content.repository.wiki .markup h1 {
margin-bottom: 1.2rem;
padding-bottom: 0.8rem;
border-bottom: 2px solid rgba(21, 101, 192, 0.15);
border-bottom: 2px solid rgba(68, 191, 105, 0.18);
font-size: clamp(2rem, 5vw, 3rem);
}
@ -199,7 +199,7 @@ body:has(.page-content.repository.wiki) {
inset: 0 auto 0 0;
width: 5px;
border-radius: 999px;
background: linear-gradient(180deg, var(--ccds-accent), var(--ccds-primary));
background: linear-gradient(180deg, var(--ccds-primary), var(--ccds-accent));
}
.page-content.repository.wiki .markup h3 {
@ -221,7 +221,7 @@ body:has(.page-content.repository.wiki) {
.page-content.repository.wiki .markup a {
color: var(--ccds-primary);
font-weight: 650;
text-decoration-color: rgba(21, 101, 192, 0.28);
text-decoration-color: rgba(47, 111, 206, 0.28);
text-underline-offset: 3px;
}
@ -233,15 +233,15 @@ body:has(.page-content.repository.wiki) {
.page-content.repository.wiki .markup blockquote {
margin: 1.5rem 0;
padding: 18px 20px;
border: 1px solid rgba(21, 101, 192, 0.16);
border: 1px solid rgba(47, 111, 206, 0.14);
border-left: 5px solid var(--ccds-primary);
border-radius: 5px var(--ccds-radius-sm) var(--ccds-radius-sm) 5px;
background: linear-gradient(115deg, #f7fbff, #fefefe);
background: linear-gradient(115deg, #f7fbf8, #fefefe);
color: #445164;
}
.page-content.repository.wiki .markup hr {
border-color: rgba(21, 101, 192, 0.1);
border-color: rgba(68, 191, 105, 0.12);
}
.page-content.repository.wiki .markup ul li::marker,
@ -253,34 +253,34 @@ body:has(.page-content.repository.wiki) {
display: table;
width: 100%;
overflow: hidden;
border: 1px solid rgba(21, 101, 192, 0.12) !important;
border: 1px solid rgba(47, 111, 206, 0.12) !important;
border-radius: var(--ccds-radius-sm);
border-collapse: separate;
border-spacing: 0;
box-shadow: 0 10px 22px rgba(18, 34, 61, 0.05);
box-shadow: 0 10px 22px rgba(25, 44, 76, 0.05);
}
.page-content.repository.wiki .markup table th {
border-color: rgba(21, 101, 192, 0.12) !important;
background: #eef6ff !important;
color: #173860;
border-color: rgba(47, 111, 206, 0.12) !important;
background: #eef7f2 !important;
color: #214d34;
font-weight: 760;
}
.page-content.repository.wiki .markup table td {
border-color: rgba(21, 101, 192, 0.08) !important;
border-color: rgba(47, 111, 206, 0.08) !important;
background: rgba(255, 255, 255, 0.78);
}
.page-content.repository.wiki .markup table tr:hover td {
background: #f7fbff;
background: #f7fbf8;
}
.page-content.repository.wiki .markup code:not(pre code) {
border: 1px solid rgba(21, 101, 192, 0.12);
border: 1px solid rgba(47, 111, 206, 0.12);
border-radius: 7px;
background: #f2f7fc;
color: #134d8f;
background: #f1f7f3;
color: #1f6d44;
}
.page-content.repository.wiki .markup pre {
@ -296,7 +296,7 @@ body:has(.page-content.repository.wiki) {
.page-content.repository.wiki .markup img {
border-radius: 14px;
box-shadow: 0 14px 28px rgba(18, 34, 61, 0.08);
box-shadow: 0 14px 28px rgba(25, 44, 76, 0.08);
}
.page-content.repository.wiki .wiki-pages-list {
@ -316,7 +316,7 @@ body:has(.page-content.repository.wiki) {
.page-content.repository.wiki .markup .ui.label {
border-radius: 999px;
background: var(--ccds-accent-soft);
color: #157449;
color: #245a96;
font-weight: 700;
}
@ -332,10 +332,10 @@ body:has(.page-content.repository.wiki) {
.ccds-panel,
.ccds-roadmap-list,
.ccds-rgaa-grid {
border: 1px solid rgba(21, 101, 192, 0.12);
border: 1px solid rgba(68, 191, 105, 0.12);
border-radius: 20px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.96));
box-shadow: 0 14px 30px rgba(18, 34, 61, 0.06);
background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(247, 252, 249, 0.97));
box-shadow: 0 14px 30px rgba(25, 44, 76, 0.06);
}
.ccds-hero {
@ -344,7 +344,7 @@ body:has(.page-content.repository.wiki) {
.ccds-hero-kicker {
margin-bottom: 10px;
color: var(--ccds-primary);
color: var(--ccds-accent);
font-size: 0.82rem;
font-weight: 800;
letter-spacing: 0.16em;
@ -371,7 +371,7 @@ body:has(.page-content.repository.wiki) {
.ccds-card {
padding: 22px;
border: 1px solid rgba(21, 101, 192, 0.1);
border: 1px solid rgba(68, 191, 105, 0.1);
border-radius: 18px;
background: #fff;
}
@ -404,19 +404,19 @@ body:has(.page-content.repository.wiki) {
min-height: 28px;
padding: 0 12px;
border-radius: 999px;
background: #eef6ff;
color: var(--ccds-primary-strong);
background: #eef7f2;
color: var(--ccds-accent);
font-size: 0.84rem;
font-weight: 700;
}
.ccds-badge.success {
background: rgba(57, 185, 107, 0.14);
color: #157449;
color: #1f6d44;
}
.ccds-badge.warn {
background: rgba(224, 155, 34, 0.16);
background: rgba(224, 155, 34, 0.14);
color: #8b5a00;
}
@ -453,7 +453,7 @@ body:has(.page-content.repository.wiki) {
width: 34px;
height: 34px;
border-radius: 999px;
background: linear-gradient(135deg, var(--ccds-accent), var(--ccds-primary));
background: linear-gradient(135deg, var(--ccds-primary), var(--ccds-accent));
color: #fff;
font-weight: 800;
}
@ -475,7 +475,7 @@ body:has(.page-content.repository.wiki) {
.ccds-rgaa-card {
padding: 20px;
border: 1px solid rgba(21, 101, 192, 0.1);
border: 1px solid rgba(68, 191, 105, 0.1);
border-radius: 18px;
background: #fff;
}
@ -492,8 +492,8 @@ body:has(.page-content.repository.wiki) {
body:has(.page-content.organization) {
background:
radial-gradient(circle at top left, rgba(57, 185, 107, 0.09), transparent 20rem),
linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
radial-gradient(circle at top left, rgba(68, 191, 105, 0.1), transparent 20rem),
linear-gradient(180deg, #fbfdfb 0%, #eef6f2 100%);
}
.page-content.organization .ui.container,