judu/ex-egopublic Fork
⑂ ab03361
Commits
⬇ Clone ▾
git clone https://git.rickub.com/judu/ex-ego.git
git clone ssh://git@rickub.com/judu/ex-ego.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

feat: nouveau logo « cadran ex aequo » — signe égal bicolore dans un cadran (icône PWA, login, master SVG dans docs/, capture README)Unverified

Claude-Session: https://claude.ai/code/session_01FPKHKGfqvnvXKY9tNhYmkh
Julien Durillon committed 2026-08-09T02:19:43+02:00 Browse files
ab03361 parent: 21aa7ec
modified assets/icon-512.png +0 -0
Binary files a/assets/icon-512.png and b/assets/icon-512.png differ
Binary files a/assets/icon-512.png and b/assets/icon-512.png differBinary files a/assets/icon-512.png and b/assets/icon-512.png differ
modified assets/style.css +1 -4
@@ -352,10 +352,7 @@ a.team-pill:hover { filter: brightness(.96); }
352352 /* La coquille ne scrolle plus : au clavier ouvert, c'est ici que ça défile. */
353353 overflow-y: auto;
354354 }
355-.login-icon {
356- width: 72px; height: 72px; border-radius: 999px; background: var(--color-accent);
357- display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-6);
358-}
355+.login-logo { display: block; flex: none; margin-bottom: var(--space-6); }
359356 .login h1 { font-size: 44px; margin: 0 0 var(--space-2); letter-spacing: -0.02em; }
360357 .login .tagline { font-size: 15px; opacity: .7; margin: 0 0 var(--space-8); max-width: 15em; }
361358 .form-error { font-size: 13px; color: var(--color-accent-700); margin: 0 0 var(--space-3); }
@@ -352,10 +352,7 @@ a.team-pill:hover { filter: brightness(.96); }
352 /* La coquille ne scrolle plus : au clavier ouvert, c'est ici que ça défile. */352 /* La coquille ne scrolle plus : au clavier ouvert, c'est ici que ça défile. */
353 overflow-y: auto;353 overflow-y: auto;
354 }354 }
355-.login-icon {355+.login-logo { display: block; flex: none; margin-bottom: var(--space-6); }
356- width: 72px; height: 72px; border-radius: 999px; background: var(--color-accent);
357- display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-6);
358-}
359 .login h1 { font-size: 44px; margin: 0 0 var(--space-2); letter-spacing: -0.02em; }356 .login h1 { font-size: 44px; margin: 0 0 var(--space-2); letter-spacing: -0.02em; }
360 .login .tagline { font-size: 15px; opacity: .7; margin: 0 0 var(--space-8); max-width: 15em; }357 .login .tagline { font-size: 15px; opacity: .7; margin: 0 0 var(--space-8); max-width: 15em; }
361 .form-error { font-size: 13px; color: var(--color-accent-700); margin: 0 0 var(--space-3); }358 .form-error { font-size: 13px; color: var(--color-accent-700); margin: 0 0 var(--space-3); }
added docs/logo.svg +14 -0
new file mode 100644
@@ -0,0 +1,14 @@
1+<svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" viewBox="0 0 96 96">
2+ <!-- Ex Ego — « le cadran ex aequo » : un signe égal dans un cadran d'horloge.
3+ Deux traits de longueur égale, partagés terracotta/sauge en proportions
4+ inversées : des contributions différentes, un total égal. -->
5+ <circle cx="48" cy="48" r="44" fill="#f5ead8"/>
6+ <circle cx="48" cy="14" r="2.9" fill="#201e1d" opacity=".55"/>
7+ <circle cx="48" cy="82" r="2.9" fill="#201e1d" opacity=".3"/>
8+ <circle cx="14" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
9+ <circle cx="82" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
10+ <rect x="27" y="35.5" width="42" height="10.5" rx="5.25" fill="#c67139"/>
11+ <path d="M53.5 35.5 h10.25 a5.25 5.25 0 0 1 0 10.5 h-10.25 z" fill="#7a8a5e"/>
12+ <rect x="27" y="50" width="42" height="10.5" rx="5.25" fill="#7a8a5e"/>
13+ <path d="M43.5 50 h20.25 a5.25 5.25 0 0 1 0 10.5 h-20.25 z" fill="#c67139"/>
14+</svg>
new file mode 100644
@@ -0,0 +1,14 @@
1+<svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" viewBox="0 0 96 96">
2+ <!-- Ex Ego — « le cadran ex aequo » : un signe égal dans un cadran d'horloge.
3+ Deux traits de longueur égale, partagés terracotta/sauge en proportions
4+ inversées : des contributions différentes, un total égal. -->
5+ <circle cx="48" cy="48" r="44" fill="#f5ead8"/>
6+ <circle cx="48" cy="14" r="2.9" fill="#201e1d" opacity=".55"/>
7+ <circle cx="48" cy="82" r="2.9" fill="#201e1d" opacity=".3"/>
8+ <circle cx="14" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
9+ <circle cx="82" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
10+ <rect x="27" y="35.5" width="42" height="10.5" rx="5.25" fill="#c67139"/>
11+ <path d="M53.5 35.5 h10.25 a5.25 5.25 0 0 1 0 10.5 h-10.25 z" fill="#7a8a5e"/>
12+ <rect x="27" y="50" width="42" height="10.5" rx="5.25" fill="#7a8a5e"/>
13+ <path d="M43.5 50 h20.25 a5.25 5.25 0 0 1 0 10.5 h-20.25 z" fill="#c67139"/>
14+</svg>
modified docs/screens/connexion.png +0 -0
Binary files a/docs/screens/connexion.png and b/docs/screens/connexion.png differ
Binary files a/docs/screens/connexion.png and b/docs/screens/connexion.png differBinary files a/docs/screens/connexion.png and b/docs/screens/connexion.png differ
modified templates/login.html +12 -3
@@ -3,9 +3,18 @@
33 {% block lang %}{{ lang_code }}{% endblock %}
44 {% block body %}
55 <main class="login">
6- <div class="login-icon">
7- <svg width="34" height="34" viewBox="0 0 24 24" fill="none" stroke="#f5ead8" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M12 7v5l3 2"></path></svg>
8- </div>
6+ {# Logo « cadran ex aequo » — disque surface (fond crème du login). #}
7+ <svg class="login-logo" width="72" height="72" viewBox="0 0 96 96" aria-hidden="true">
8+ <circle cx="48" cy="48" r="44" fill="#ebddc5"/>
9+ <circle cx="48" cy="14" r="2.9" fill="#201e1d" opacity=".55"/>
10+ <circle cx="48" cy="82" r="2.9" fill="#201e1d" opacity=".3"/>
11+ <circle cx="14" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
12+ <circle cx="82" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
13+ <rect x="27" y="35.5" width="42" height="10.5" rx="5.25" fill="#c67139"/>
14+ <path d="M53.5 35.5 h10.25 a5.25 5.25 0 0 1 0 10.5 h-10.25 z" fill="#7a8a5e"/>
15+ <rect x="27" y="50" width="42" height="10.5" rx="5.25" fill="#7a8a5e"/>
16+ <path d="M43.5 50 h20.25 a5.25 5.25 0 0 1 0 10.5 h-20.25 z" fill="#c67139"/>
17+ </svg>
918 <h1>Ex Ego</h1>
1019 <p class="tagline">{{ tr.tagline }}</p>
1120 <form method="post" action="/login">
@@ -3,9 +3,18 @@
3 {% block lang %}{{ lang_code }}{% endblock %}3 {% block lang %}{{ lang_code }}{% endblock %}
4 {% block body %}4 {% block body %}
5 <main class="login">5 <main class="login">
6- <div class="login-icon">6+ {# Logo « cadran ex aequo » — disque surface (fond crème du login). #}
7- <svg width="34" height="34" viewBox="0 0 24 24" fill="none" stroke="#f5ead8" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M12 7v5l3 2"></path></svg>7+ <svg class="login-logo" width="72" height="72" viewBox="0 0 96 96" aria-hidden="true">
8- </div>8+ <circle cx="48" cy="48" r="44" fill="#ebddc5"/>
9+ <circle cx="48" cy="14" r="2.9" fill="#201e1d" opacity=".55"/>
10+ <circle cx="48" cy="82" r="2.9" fill="#201e1d" opacity=".3"/>
11+ <circle cx="14" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
12+ <circle cx="82" cy="48" r="2.9" fill="#201e1d" opacity=".3"/>
13+ <rect x="27" y="35.5" width="42" height="10.5" rx="5.25" fill="#c67139"/>
14+ <path d="M53.5 35.5 h10.25 a5.25 5.25 0 0 1 0 10.5 h-10.25 z" fill="#7a8a5e"/>
15+ <rect x="27" y="50" width="42" height="10.5" rx="5.25" fill="#7a8a5e"/>
16+ <path d="M43.5 50 h20.25 a5.25 5.25 0 0 1 0 10.5 h-20.25 z" fill="#c67139"/>
17+ </svg>
9 <h1>Ex Ego</h1>18 <h1>Ex Ego</h1>
10 <p class="tagline">{{ tr.tagline }}</p>19 <p class="tagline">{{ tr.tagline }}</p>
11 <form method="post" action="/login">20 <form method="post" action="/login">