diff --git a/README.md b/README.md
index 4423548..f9bbd52 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
**Find every SNCF train where a free MAX JEUNE / MAX SENIOR (ex-TGVmax) seat is actually reservable — instead of checking SNCF Connect one route at a time.**
-### ▶ [**Try it live — davd-gzl.github.io/MAX-Finder**](https://davd-gzl.github.io/MAX-Finder/) — no signup, runs in your browser
+### ▶ [**Try it live — offware-apps.github.io/MAX-Finder**](https://offware-apps.github.io/MAX-Finder/) — no signup, runs in your browser
With a MAX JEUNE or MAX SENIOR pass, high-speed trains are free — but only when a MAX seat is still open on that train. SNCF Connect makes you check one route at a time; MAX Finder shows every station you can reach for free from a single search, using SNCF's open availability data.
@@ -142,4 +142,4 @@ Machine-readable and serverless — [`llms.txt`](public/llms.txt) and [`api.json
## Credits
-- **[@AhmedFr](https://github.com/AhmedFr)** — designed the **map-first view** (List/Map toggle, full-bleed map with a floating results panel) and the **connection-count pin tinting**, originally in [#2](https://github.com/davd-gzl/MAX-Finder/pull/2). That work was salvaged onto the current codebase in [#21](https://github.com/davd-gzl/MAX-Finder/pull/21) and refined in [#26](https://github.com/davd-gzl/MAX-Finder/pull/26).
+- **[@AhmedFr](https://github.com/AhmedFr)** — designed the **map-first view** (List/Map toggle, full-bleed map with a floating results panel) and the **connection-count pin tinting**, originally in [#2](https://github.com/offware-apps/MAX-Finder/pull/2). That work was salvaged onto the current codebase in [#21](https://github.com/offware-apps/MAX-Finder/pull/21) and refined in [#26](https://github.com/offware-apps/MAX-Finder/pull/26).
diff --git a/docs/FDROID.md b/docs/FDROID.md
index 07ed998..edbfd03 100644
--- a/docs/FDROID.md
+++ b/docs/FDROID.md
@@ -78,13 +78,13 @@ Categories:
- Travel
License: AGPL-3.0-only
AuthorName: MAX Finder contributors
-SourceCode: https://github.com/davd-gzl/MAX-Finder
-IssueTracker: https://github.com/davd-gzl/MAX-Finder/issues
+SourceCode: https://github.com/offware-apps/MAX-Finder
+IssueTracker: https://github.com/offware-apps/MAX-Finder/issues
AutoName: MAX Finder
RepoType: git
-Repo: https://github.com/davd-gzl/MAX-Finder.git
+Repo: https://github.com/offware-apps/MAX-Finder.git
Builds:
- versionName: 0.1.0
diff --git a/index.html b/index.html
index 2a89b1b..716acb8 100644
--- a/index.html
+++ b/index.html
@@ -12,7 +12,7 @@
name="description"
content="Trouvez les trains où une place TGV Max (MAX JEUNE ou MAX SENIOR) est réservable : trajet précis, carte des destinations, calendrier 30 jours, allers-retours. Open data SNCF, gratuit, open source, non affilié à la SNCF."
/>
-
+
@@ -20,8 +20,8 @@
property="og:description"
content="Toutes les places MAX JEUNE / MAX SENIOR ouvertes à la réservation, mises à jour chaque jour depuis l'open data SNCF. Gratuit, sans compte."
/>
-
-
+
+
@@ -31,7 +31,7 @@
name="twitter:description"
content="Toutes les places MAX JEUNE / MAX SENIOR ouvertes à la réservation, mises à jour chaque jour depuis l'open data SNCF."
/>
-
+
@@ -45,8 +45,8 @@
"@graph": [
{
"@type": "WebSite",
- "@id": "https://davd-gzl.github.io/MAX-Finder/#website",
- "url": "https://davd-gzl.github.io/MAX-Finder/",
+ "@id": "https://offware-apps.github.io/MAX-Finder/#website",
+ "url": "https://offware-apps.github.io/MAX-Finder/",
"name": "MAX Finder",
"alternateName": "MAX Finder TGVmax",
"description": "Recherche de places TGV Max (MAX JEUNE / MAX SENIOR) ouvertes à la réservation, à partir de l'open data SNCF.",
@@ -54,21 +54,21 @@
},
{
"@type": "WebApplication",
- "@id": "https://davd-gzl.github.io/MAX-Finder/#app",
- "isPartOf": { "@id": "https://davd-gzl.github.io/MAX-Finder/#website" },
+ "@id": "https://offware-apps.github.io/MAX-Finder/#app",
+ "isPartOf": { "@id": "https://offware-apps.github.io/MAX-Finder/#website" },
"name": "MAX Finder",
- "url": "https://davd-gzl.github.io/MAX-Finder/",
+ "url": "https://offware-apps.github.io/MAX-Finder/",
"applicationCategory": "TravelApplication",
"operatingSystem": "Any",
"browserRequirements": "Requires JavaScript",
"isAccessibleForFree": true,
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "EUR" },
- "license": "https://github.com/davd-gzl/MAX-Finder/blob/main/LICENSE",
- "sameAs": ["https://github.com/davd-gzl/MAX-Finder"],
+ "license": "https://github.com/offware-apps/MAX-Finder/blob/main/LICENSE",
+ "sameAs": ["https://github.com/offware-apps/MAX-Finder"],
"author": {
"@type": "Organization",
"name": "MAX Finder contributors",
- "url": "https://github.com/davd-gzl/MAX-Finder"
+ "url": "https://github.com/offware-apps/MAX-Finder"
},
"description": "Application gratuite et open source qui affiche les trains avec une place MAX JEUNE ou MAX SENIOR (ex-TGVmax) ouverte à la réservation. Projet indépendant, non affilié à la SNCF ; la réservation se fait sur SNCF Connect.",
"featureList": [
@@ -79,7 +79,7 @@
"Itinéraires multi-villes (tour)",
"Carte des gares, 11 langues, PWA hors-ligne"
],
- "screenshot": "https://davd-gzl.github.io/MAX-Finder/icons/og.png"
+ "screenshot": "https://offware-apps.github.io/MAX-Finder/icons/og.png"
}
]
}
@@ -90,7 +90,7 @@
"@type": "Dataset",
"name": "Places MAX JEUNE / MAX SENIOR ouvertes à la réservation — snapshot quotidien",
"description": "Snapshot quotidien des places TGV Max (MAX JEUNE / MAX SENIOR) ouvertes à la réservation sur environ 30 jours glissants : date, gare d'origine, gare de destination, heures de départ et d'arrivée, numéro de train, disponibilité. Environ 32 000 enregistrements dérivés de l'open data SNCF (jeu de données tgvmax).",
- "url": "https://davd-gzl.github.io/MAX-Finder/",
+ "url": "https://offware-apps.github.io/MAX-Finder/",
"isAccessibleForFree": true,
"license": "https://www.etalab.gouv.fr/licence-ouverte-open-licence",
"creator": { "@type": "Organization", "name": "SNCF" },
@@ -100,17 +100,17 @@
"distribution": [
{
"@type": "DataDownload",
- "contentUrl": "https://davd-gzl.github.io/MAX-Finder/data/tgvmax.json",
+ "contentUrl": "https://offware-apps.github.io/MAX-Finder/data/tgvmax.json",
"encodingFormat": "application/json"
},
{
"@type": "DataDownload",
- "contentUrl": "https://davd-gzl.github.io/MAX-Finder/data/stations.json",
+ "contentUrl": "https://offware-apps.github.io/MAX-Finder/data/stations.json",
"encodingFormat": "application/json"
},
{
"@type": "DataDownload",
- "contentUrl": "https://davd-gzl.github.io/MAX-Finder/data/meta.json",
+ "contentUrl": "https://offware-apps.github.io/MAX-Finder/data/meta.json",
"encodingFormat": "application/json"
}
]
diff --git a/public/api.json b/public/api.json
index d192c5f..518604c 100644
--- a/public/api.json
+++ b/public/api.json
@@ -1,7 +1,7 @@
{
"name": "MAX Finder",
"description": "Free MAX JEUNE / MAX SENIOR (ex-TGVmax) seat availability from SNCF open data. Static, serverless, no accounts.",
- "homepage": "https://davd-gzl.github.io/MAX-Finder/",
+ "homepage": "https://offware-apps.github.io/MAX-Finder/",
"license": "AGPL-3.0-only",
"dataLicense": "Licence Ouverte / Open Licence",
"notAffiliatedWith": "SNCF",
@@ -34,7 +34,7 @@
"axe": "string (optional line/axis)"
},
"search": {
- "base": "https://davd-gzl.github.io/MAX-Finder/",
+ "base": "https://offware-apps.github.io/MAX-Finder/",
"method": "GET (query string deep-link)",
"params": {
"mode": [
@@ -82,10 +82,10 @@
}
},
"docs": {
- "faq": "https://davd-gzl.github.io/MAX-Finder/faq/",
- "howItWorks": "https://davd-gzl.github.io/MAX-Finder/docs/how-it-works.html",
- "algorithms": "https://davd-gzl.github.io/MAX-Finder/docs/algorithms.html",
- "llms": "https://davd-gzl.github.io/MAX-Finder/llms.txt",
- "llmsFull": "https://davd-gzl.github.io/MAX-Finder/llms-full.txt"
+ "faq": "https://offware-apps.github.io/MAX-Finder/faq/",
+ "howItWorks": "https://offware-apps.github.io/MAX-Finder/docs/how-it-works.html",
+ "algorithms": "https://offware-apps.github.io/MAX-Finder/docs/algorithms.html",
+ "llms": "https://offware-apps.github.io/MAX-Finder/llms.txt",
+ "llmsFull": "https://offware-apps.github.io/MAX-Finder/llms-full.txt"
}
}
diff --git a/public/llms.txt b/public/llms.txt
index 9cc3ba3..cf8fd4e 100644
--- a/public/llms.txt
+++ b/public/llms.txt
@@ -9,10 +9,10 @@ static JSON served over HTTPS; there is no rate limit beyond normal hosting.
## Machine-readable data
-- Availability snapshot (JSON array): https://davd-gzl.github.io/MAX-Finder/data/tgvmax.json
-- Snapshot metadata: https://davd-gzl.github.io/MAX-Finder/data/meta.json
-- Station registry (coordinates, region, aliases): https://davd-gzl.github.io/MAX-Finder/data/stations.json
-- API manifest (schema + query params, machine-readable): https://davd-gzl.github.io/MAX-Finder/api.json
+- Availability snapshot (JSON array): https://offware-apps.github.io/MAX-Finder/data/tgvmax.json
+- Snapshot metadata: https://offware-apps.github.io/MAX-Finder/data/meta.json
+- Station registry (coordinates, region, aliases): https://offware-apps.github.io/MAX-Finder/data/stations.json
+- API manifest (schema + query params, machine-readable): https://offware-apps.github.io/MAX-Finder/api.json
- Upstream source (refreshed ~once a day): SNCF Open Data "tgvmax" (Licence Ouverte)
### Record shape (tgvmax.json)
@@ -37,7 +37,7 @@ Stations use SNCF labels, e.g. `"PARIS (intramuros)"`, `"LYON (intramuros)"`,
## Search / deep-link API (build a shareable URL)
-Base: `https://davd-gzl.github.io/MAX-Finder/`
+Base: `https://offware-apps.github.io/MAX-Finder/`
Query params:
- `mode`: `from` | `to` | `od` | `tour` | `best`
- `from`: origin station id ; `to`: destination station id (in `mode=tour`, the optional finish city; set `to`=`from` for a loop)
@@ -65,24 +65,24 @@ Query params:
Examples:
- Where can I go from Paris on 2026-06-25:
- `https://davd-gzl.github.io/MAX-Finder/?mode=from&from=PARIS%20(intramuros)&date=2026-06-25`
+ `https://offware-apps.github.io/MAX-Finder/?mode=from&from=PARIS%20(intramuros)&date=2026-06-25`
- Paris → Toulouse incl. up to one change:
- `https://davd-gzl.github.io/MAX-Finder/?mode=od&from=PARIS%20(intramuros)&to=TOULOUSE%20MATABIAU&date=2026-06-25&conn=1`
+ `https://offware-apps.github.io/MAX-Finder/?mode=od&from=PARIS%20(intramuros)&to=TOULOUSE%20MATABIAU&date=2026-06-25&conn=1`
- Paris → Lyon round trip, back two days later:
- `https://davd-gzl.github.io/MAX-Finder/?mode=od&from=PARIS%20(intramuros)&to=LYON%20(intramuros)&date=2026-06-25&rdate=2026-06-27`
+ `https://offware-apps.github.io/MAX-Finder/?mode=od&from=PARIS%20(intramuros)&to=LYON%20(intramuros)&date=2026-06-25&rdate=2026-06-27`
- Weekend getaways from Paris (1 night):
- `https://davd-gzl.github.io/MAX-Finder/?mode=from&from=PARIS%20(intramuros)&date=2026-06-25&rt=1&nights=1`
+ `https://offware-apps.github.io/MAX-Finder/?mode=from&from=PARIS%20(intramuros)&date=2026-06-25&rt=1&nights=1`
- A Bretagne tour from Rennes, 1–2 days per city, no hop over 300 km:
- `https://davd-gzl.github.io/MAX-Finder/?mode=tour&from=RENNES&rg=Bretagne&dmin=1&dmax=2&legkm=300&date=2026-06-25`
+ `https://offware-apps.github.io/MAX-Finder/?mode=tour&from=RENNES&rg=Bretagne&dmin=1&dmax=2&legkm=300&date=2026-06-25`
- An explicit multi-city itinerary (Paris → Lyon → Toulon):
- `https://davd-gzl.github.io/MAX-Finder/?mode=tour&legs=PARIS%20(intramuros)>LYON%20(intramuros)@2026-06-25~LYON%20(intramuros)>TOULON@2026-06-27`
+ `https://offware-apps.github.io/MAX-Finder/?mode=tour&legs=PARIS%20(intramuros)>LYON%20(intramuros)@2026-06-25~LYON%20(intramuros)>TOULON@2026-06-27`
## Docs (HTML, crawlable)
-- FAQ (French): https://davd-gzl.github.io/MAX-Finder/faq/
-- How it works: https://davd-gzl.github.io/MAX-Finder/docs/how-it-works.html
-- Algorithms: https://davd-gzl.github.io/MAX-Finder/docs/algorithms.html
-- Full context in one fetch (this file + docs + FAQ): https://davd-gzl.github.io/MAX-Finder/llms-full.txt
+- FAQ (French): https://offware-apps.github.io/MAX-Finder/faq/
+- How it works: https://offware-apps.github.io/MAX-Finder/docs/how-it-works.html
+- Algorithms: https://offware-apps.github.io/MAX-Finder/docs/algorithms.html
+- Full context in one fetch (this file + docs + FAQ): https://offware-apps.github.io/MAX-Finder/llms-full.txt
## Disclaimer
diff --git a/src/config.ts b/src/config.ts
index d11caf0..cfd5252 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -54,10 +54,10 @@ export const META_URL = `${BASE}data/meta.json`;
export const SNCF_CONNECT_URL = "https://www.sncf-connect.com/";
-export const SITE_URL = "https://davd-gzl.github.io/MAX-Finder/";
+export const SITE_URL = "https://offware-apps.github.io/MAX-Finder/";
/** Project repository (used for the header star link and the feedback button). */
-export const GITHUB_URL = "https://github.com/davd-gzl/MAX-Finder";
+export const GITHUB_URL = "https://github.com/offware-apps/MAX-Finder";
export const GITHUB_ISSUES_URL = `${GITHUB_URL}/issues/new`;
/** Official SNCF pages describing the MAX JEUNE / MAX SENIOR subscriptions. */