|
12 | 12 | <title>Atlas Nexus — Consulting, Operations & Agentic AI</title> |
13 | 13 | <link rel="alternate" hreflang="fr" href="https://atlasnexus.tech/"> |
14 | 14 | <link rel="alternate" hreflang="en" href="https://atlasnexus.tech/en/"> |
15 | | -<link rel="alternate" hreflang="x-default" href="https://atlasnexus.tech/en/"> |
16 | | -<script> |
17 | | -(function(){ |
18 | | - try { |
19 | | - const KEY = 'atlasnexus.lang'; |
20 | | - const path = window.location.pathname; |
21 | | - const isEn = path.startsWith('/en/') || path === '/en'; |
22 | | - const params = new URLSearchParams(window.location.search); |
23 | | - const explicit = params.get('lang'); |
24 | | - if (explicit === 'fr' || explicit === 'en') localStorage.setItem(KEY, explicit); |
25 | | - const saved = localStorage.getItem(KEY); |
26 | | - // Only redirect if we're not already on the target page |
27 | | - if (saved === 'fr' && isEn) { window.location.replace('/' + window.location.hash); return; } |
28 | | - if (saved === 'en' && !isEn) { window.location.replace('/en/' + window.location.hash); return; } |
29 | | - const langs = (navigator.languages && navigator.languages.length ? navigator.languages : [navigator.language || '']).map(x => String(x).toLowerCase()); |
30 | | - const isFrancophone = langs.some(x => x === 'fr' || x.startsWith('fr-')); |
31 | | - if (!isFrancophone && !isEn) window.location.replace('/en/' + window.location.hash); |
32 | | - } catch(e) {} |
33 | | -})(); |
34 | | -</script> |
| 15 | +<link rel="alternate" hreflang="x-default" href="https://atlasnexus.tech/"> |
35 | 16 |
|
36 | 17 | <meta name="description" content="Useful micro-builds: dashboards, automations, web pages and AI agents shipped quickly with verifiable code and deployment."> |
37 | 18 | <link rel="stylesheet" href="/css/site.css?v=4"> |
|
99 | 80 | <li><a href="#why" class="relative rounded-full px-3 py-1.5 hover:text-foreground dark:hover:text-white transition-colors">Why</a></li> |
100 | 81 | <li><a href="#framework" class="relative rounded-full px-3 py-1.5 hover:text-foreground dark:hover:text-white transition-colors">Framework</a></li> |
101 | 82 | <li><a href="#projects" class="relative rounded-full px-3 py-1.5 hover:text-foreground dark:hover:text-white transition-colors">Projects</a></li> |
| 83 | + <li><a href="/alexandre-lasly/" class="relative rounded-full px-3 py-1.5 hover:text-foreground dark:hover:text-white transition-colors">Alexandre</a></li> |
102 | 84 | <li><a href="https://github.com/AtlasNexusTech" class="relative rounded-full px-3 py-1.5 hover:text-foreground dark:hover:text-white transition-colors">GitHub</a></li> |
103 | 85 | </ul> |
104 | 86 | <div class="flex items-center gap-2"> |
@@ -233,7 +215,7 @@ <h3 class="text-2xl font-bold text-foreground mb-4 font-display">Web development |
233 | 215 | <p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>Deliverable:</strong> dashboard, web app and structured data.</p> |
234 | 216 | <p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>For:</strong> freelancers, SMEs, SaaS, finance, monitoring and reporting.</p> |
235 | 217 | <div class="offer-spacer"></div> |
236 | | - <p class="offer-price text-xl font-extrabold text-foreground mb-6 font-display">Starting from €15 <span class="offer-quote text-sm font-semibold text-slate-500">or lightweight quote</span></p> |
| 218 | + <p class="offer-price text-xl font-extrabold text-foreground mb-6 font-display">€5 <span class="offer-quote text-sm font-semibold text-slate-500">one-time payment · custom scope quoted separately</span></p> |
237 | 219 | <div class="flex flex-col gap-2"><a href="/developpement-web-donnees/" class="inline-flex text-primary font-semibold hover:text-primary-dark">See the offer →</a><a href="#contact" class="inline-flex text-slate-500 text-sm font-semibold hover:text-primary">Request this build</a></div> |
238 | 220 | </article> |
239 | 221 | <article class="reveal reveal-delay-2 card-hover agentic-blue-card offer-card rounded-2xl p-12 border border-border bg-white"> |
|
0 commit comments