Skip to content

Commit 96aefcf

Browse files
feat: promote five euro AI agent on homepage
1 parent 5cef1f8 commit 96aefcf

3 files changed

Lines changed: 85 additions & 20 deletions

File tree

en/index.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,12 @@ <h1 class="hero-title text-foreground dark:text-dark-foreground mb-8">
133133
I help with your operations, automation, agentic AI deployment and web interface creation.
134134
</p>
135135
<div class="flex gap-3 flex-wrap">
136-
<a href="#work" class="bg-primary text-white px-7 py-3.5 rounded-full text-base font-semibold hover:bg-primary-dark inline-flex items-center gap-2 font-display">
137-
See our work
136+
<a href="/ia-agentique/en/" class="bg-primary text-white px-7 py-3.5 rounded-full text-base font-semibold hover:bg-primary-dark inline-flex items-center gap-2 font-display">
137+
Web UI + Telegram Agent · €5
138138
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"/></svg>
139139
</a>
140-
<a href="/verify/" class="border-2 border-purple-200 dark:border-purple-800 text-purple-700 dark:text-purple-300 px-7 py-3.5 rounded-full text-base font-semibold hover:border-purple-500 hover:bg-purple-50 dark:hover:bg-purple-900/30 dark:hover:border-purple-500 font-display">
141-
Identité Agentique
140+
<a href="#work" class="border-2 border-purple-200 dark:border-purple-800 text-purple-700 dark:text-purple-300 px-7 py-3.5 rounded-full text-base font-semibold hover:border-purple-500 hover:bg-purple-50 dark:hover:bg-purple-900/30 dark:hover:border-purple-500 font-display">
141+
See our work
142142
</a>
143143
</div>
144144
<p class="mt-5 text-sm text-slate-500 dark:text-slate-400">Short builds, verifiable deliverables, GitHub-visible code when the project allows it.</p>
@@ -238,12 +238,12 @@ <h3 class="text-2xl font-bold text-foreground mb-4 font-display">Web development
238238
</article>
239239
<article class="reveal reveal-delay-2 card-hover agentic-blue-card offer-card rounded-2xl p-12 border border-border bg-white">
240240
<p class="text-sm font-bold agentic-accent mb-2">B. Operational AI agent</p>
241-
<h3 class="text-2xl font-bold text-foreground mb-4 font-display">Agentic AI</h3>
242-
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>Deliverable:</strong> IA agentique professionnelle, workflow automatisé, reporting, intégration API, vrai copilote Telegram, Discord, CLI.</p>
243-
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>For:</strong> indépendants, équipes tech, PME, automatisation métier, support client.</p>
241+
<h3 class="text-2xl font-bold text-foreground mb-4 font-display">Web UI + Telegram Agent</h3>
242+
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>Deliverable:</strong> on-demand AI agent with a dedicated web interface, Telegram connection, essential commands and documentation.</p>
243+
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>For:</strong> freelancers and small teams that want to test a concrete use case quickly.</p>
244244
<div class="offer-spacer"></div>
245-
<p class="offer-price text-xl font-extrabold text-foreground mb-6 font-display">Starting from €10 <span class="offer-quote text-sm font-semibold text-slate-500">or lightweight quote</span></p>
246-
<div class="flex flex-col gap-2"><a href="/ia-agentique/en/" class="inline-flex agentic-accent font-semibold hover:text-primary-dark">View options </a><a href="#contact" class="inline-flex text-slate-500 text-sm font-semibold hover:text-primary">Request this build</a></div>
245+
<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">free initial coaching</span></p>
246+
<div class="flex flex-col gap-2"><a href="/ia-agentique/en/" class="inline-flex agentic-accent font-semibold hover:text-primary-dark">Discover the offer </a><a href="/ia-agentique/en/#contact" class="inline-flex text-slate-500 text-sm font-semibold hover:text-primary">Book free coaching</a></div>
247247
</article>
248248
<article class="reveal reveal-delay-3 framer-purple-card offer-card rounded-2xl p-12 border border-border bg-white">
249249
<p class="text-sm font-bold framer-accent mb-2">C. Animated UI</p>
@@ -815,6 +815,6 @@ <h2 class="section-title text-foreground dark:text-dark-foreground mb-6 font-dis
815815
})();
816816
</script>
817817

818-
<a href="/#contact" class="fixed bottom-4 left-4 right-4 z-50 sm:hidden inline-flex items-center justify-center rounded-full bg-primary px-5 py-3 text-sm font-bold text-white shadow-2xl shadow-blue-900/20" aria-label="Request an Atlas Nexus quote">Request a quote</a>
818+
<a href="/ia-agentique/en/" class="fixed bottom-4 left-4 right-4 z-50 sm:hidden inline-flex items-center justify-center rounded-full bg-primary px-5 py-3 text-sm font-bold text-white shadow-2xl shadow-blue-900/20" aria-label="Discover the 5 euro Web UI and Telegram agent">€5 AI agent</a>
819819
</body>
820820
</html>

index.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -294,12 +294,12 @@ <h1 class="hero-title text-foreground dark:text-dark-foreground mb-8">
294294
Je vous aide pour vos opérations, votre automatisation, le déploiement d'IA agentiques et la création d'interfaces web.
295295
</p>
296296
<div class="flex gap-3 flex-wrap">
297-
<a href="#work" class="bg-primary text-white px-7 py-3.5 rounded-full text-base font-semibold hover:bg-primary-dark inline-flex items-center gap-2 font-display">
298-
Voir les réalisations
297+
<a href="/ia-agentique/" class="bg-primary text-white px-7 py-3.5 rounded-full text-base font-semibold hover:bg-primary-dark inline-flex items-center gap-2 font-display">
298+
Agent Web UI + Telegram · 5€
299299
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"/></svg>
300300
</a>
301-
<a href="/verify/" class="border-2 border-purple-200 dark:border-purple-800 text-purple-700 dark:text-purple-300 px-7 py-3.5 rounded-full text-base font-semibold hover:border-purple-500 hover:bg-purple-50 dark:hover:bg-purple-900/30 dark:hover:border-purple-500 font-display">
302-
Identité Agentique
301+
<a href="#work" class="border-2 border-purple-200 dark:border-purple-800 text-purple-700 dark:text-purple-300 px-7 py-3.5 rounded-full text-base font-semibold hover:border-purple-500 hover:bg-purple-50 dark:hover:bg-purple-900/30 dark:hover:border-purple-500 font-display">
302+
Voir les réalisations
303303
</a>
304304
</div>
305305
<p class="mt-5 text-sm text-slate-500 dark:text-slate-400">Builds courts, livrables vérifiables, code GitHub quand le projet le permet.</p>
@@ -399,12 +399,12 @@ <h3 class="text-2xl font-bold text-foreground mb-4 font-display">Développement
399399
</article>
400400
<article class="reveal reveal-delay-2 card-hover agentic-blue-card offer-card rounded-2xl p-12 border border-border bg-white">
401401
<p class="text-sm font-bold agentic-accent mb-2">B. Agent IA opérationnel</p>
402-
<h3 class="text-2xl font-bold text-foreground mb-4 font-display">IA agentique</h3>
403-
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>Livrable :</strong> IA agentique professionnelle, workflow automatisé, reporting, intégration API, vrai copilote Telegram, Discord, CLI.</p>
404-
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>Pour :</strong> indépendants, équipes tech, PME, automatisation métier, support client.</p>
402+
<h3 class="text-2xl font-bold text-foreground mb-4 font-display">Agent Web UI + Telegram</h3>
403+
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>Livrable :</strong> agent IA à la demande avec interface web dédiée, connexion Telegram, commandes essentielles et documentation.</p>
404+
<p class="text-slate-600 text-sm leading-relaxed mb-5"><strong>Pour :</strong> indépendants et petites équipes qui veulent tester rapidement un usage concret.</p>
405405
<div class="offer-spacer"></div>
406-
<p class="offer-price text-xl font-extrabold text-foreground mb-6 font-display">À partir de 10<span class="offer-quote text-sm font-semibold text-slate-500">ou sur devis léger</span></p>
407-
<div class="flex flex-col gap-2"><a href="https://atlasnexus.tech/ia-agentique/" class="inline-flex agentic-accent font-semibold hover:text-primary-dark">Voir les options </a><a href="#contact" class="inline-flex text-slate-500 text-sm font-semibold hover:text-primary">Demander ce build</a></div>
406+
<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">coaching initial gratuit</span></p>
407+
<div class="flex flex-col gap-2"><a href="/ia-agentique/" class="inline-flex agentic-accent font-semibold hover:text-primary-dark">Découvrir l'offre </a><a href="/ia-agentique/#contact" class="inline-flex text-slate-500 text-sm font-semibold hover:text-primary">Réserver le coaching gratuit</a></div>
408408
</article>
409409
<article class="reveal reveal-delay-3 framer-purple-card offer-card rounded-2xl p-12 border border-border bg-white">
410410
<p class="text-sm font-bold framer-accent mb-2">C. UI Animée</p>
@@ -996,6 +996,6 @@ <h2 class="section-title text-foreground dark:text-dark-foreground mb-6 font-dis
996996
})();
997997
</script>
998998

999-
<a href="/#contact" class="fixed bottom-4 left-4 right-4 z-50 sm:hidden inline-flex items-center justify-center rounded-full bg-primary px-5 py-3 text-sm font-bold text-white shadow-2xl shadow-blue-900/20" aria-label="Demander un devis Atlas Nexus">Demander un devis</a>
999+
<a href="/ia-agentique/" class="fixed bottom-4 left-4 right-4 z-50 sm:hidden inline-flex items-center justify-center rounded-full bg-primary px-5 py-3 text-sm font-bold text-white shadow-2xl shadow-blue-900/20" aria-label="Découvrir l'agent Web UI et Telegram à 5 euros">Agent IA · 5€</a>
10001000
</body>
10011001
</html>

tests/test_ia_agentique_pricing.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,68 @@ def test_ia_agentique_has_one_five_euro_agent_and_free_coaching(
8585
assert obsolete not in html
8686

8787
assert "✨" not in html
88+
89+
90+
@pytest.mark.parametrize(
91+
("relative_path", "offer_path", "hero_label", "card_title", "free_coaching"),
92+
[
93+
(
94+
"index.html",
95+
"/ia-agentique/",
96+
"Agent Web UI + Telegram · 5€",
97+
"Agent Web UI + Telegram",
98+
"coaching initial gratuit",
99+
),
100+
(
101+
"en/index.html",
102+
"/ia-agentique/en/",
103+
"Web UI + Telegram Agent · €5",
104+
"Web UI + Telegram Agent",
105+
"free initial coaching",
106+
),
107+
],
108+
)
109+
def test_homepage_promotes_the_current_agent_offer(
110+
relative_path, offer_path, hero_label, card_title, free_coaching
111+
):
112+
html = (ROOT / relative_path).read_text(encoding="utf-8")
113+
hero_match = re.search(r'<!-- Hero -->(.*?)<!-- Products -->', html, re.DOTALL)
114+
offers_match = re.search(r'<!-- Offers -->(.*?)<!-- Why -->', html, re.DOTALL)
115+
assert hero_match is not None
116+
assert offers_match is not None
117+
hero = hero_match.group(1)
118+
offers = offers_match.group(1)
119+
120+
assert f'href="{offer_path}"' in hero
121+
assert hero_label in hero
122+
assert card_title in offers
123+
assert f'href="{offer_path}"' in offers
124+
assert free_coaching in offers.lower()
125+
assert "Telegram" in offers
126+
assert "5€" in offers or "€5" in offers
127+
128+
for obsolete in (
129+
"À partir de 10€",
130+
"Starting from €10",
131+
"Telegram, Discord, CLI",
132+
):
133+
assert obsolete not in offers
134+
135+
136+
@pytest.mark.parametrize(
137+
("relative_path", "offer_path", "sticky_label"),
138+
[
139+
("index.html", "/ia-agentique/", "Agent IA · 5€ →"),
140+
("en/index.html", "/ia-agentique/en/", "€5 AI agent →"),
141+
],
142+
)
143+
def test_homepage_mobile_sticky_cta_targets_the_fixed_price_offer(
144+
relative_path, offer_path, sticky_label
145+
):
146+
html = (ROOT / relative_path).read_text(encoding="utf-8")
147+
sticky = re.search(
148+
r'<a href="([^"]+)" class="fixed bottom-4[^>]*>(.*?)</a>', html, re.DOTALL
149+
)
150+
assert sticky is not None
151+
assert sticky.group(1) == offer_path
152+
assert sticky.group(2).strip() == sticky_label

0 commit comments

Comments
 (0)