1

Corrections de liens morts

This commit is contained in:
2025-12-07 23:34:59 +01:00
parent 893794bba7
commit 9f1a81f8f5
5 changed files with 35 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
title: "Capture d'écran de https://www.a.team//mission/the-great-betrayal"
title: "Capture d'écran de https://www.a.team/mission/the-great-betrayal"
description: "Capture effectuée le 7 février 2023 à 01:00"
attribution: "Richard Dern"
file: "images/screenshot.png"

View File

@@ -1,7 +1,7 @@
---
links:
- name: Page d'origine
url: https://www.a.team//mission/the-great-betrayal
url: https://www.a.team/mission/the-great-betrayal
lang: en
title: "The Great Betrayal: After Callous Layoffs, Workers Are Done With the
Full-Time Work Model"

View File

@@ -50,7 +50,7 @@ Alors, quitte à claquer autant d'argent, autant le faire pour une station pré-
## La station
J'ai choisi la [Bresser MeteoChamp HD Wifi 7-en-1](https://www.bresser.de/fr/Temps/BRESSER-Station-meteo-7-en-1-Wifi-HD-professionnelle-avec-differents-modes-d-affichage.html).
J'ai choisi la [Bresser MeteoChamp HD Wifi 7-en-1](https://www.bresser.fr/p/bresser-station-meteo-connectee-7-en-1-wifi-hd-professionnelle-avec-differents-modes-d-affichage-7003510).
![zUwrM0](images/zUwrM0.jpg)

View File

@@ -90,7 +90,7 @@ Cela évite de « voir le futur » lors de la préparation des données, ce qui
## Modèles à introduire dans les chapitres suivants
- Modèles linéaires avec régularisation ([_Ridge_](https://en.wikipedia.org/wiki/Ridge_regression)/[_Lasso_](<https://en.wikipedia.org/wiki/Lasso_(statistics)>)) pour températures/vents : même formule que la régression linéaire classique, mais avec un terme supplémentaire qui limite lampleur des coefficients pour réduire le surapprentissage (_Ridge_ pénalise surtout les coefficients trop grands, _Lasso_ peut en forcer certains à zéro).
- Modèles linéaires avec régularisation ([_Ridge_](https://en.wikipedia.org/wiki/Ridge_regression) / [_Lasso_](<https://en.wikipedia.org/wiki/Lasso_(statistics)>)) pour températures/vents : même formule que la régression linéaire classique, mais avec un terme supplémentaire qui limite lampleur des coefficients pour réduire le surapprentissage (_Ridge_ pénalise surtout les coefficients trop grands, _Lasso_ peut en forcer certains à zéro).
- [Régression logistique](https://fr.wikipedia.org/wiki/R%C3%A9gression_logistique) pour la pluie : produit une probabilité de pluie plutôt quun oui/non brut, ce qui permet ensuite de choisir un seuil de décision adapté à lusage (plutôt prudent ou plutôt conservateur).
- Si besoin de courbes plus flexibles : arbres peu profonds, [_random forest_](https://fr.wikipedia.org/wiki/For%C3%AAt_al%C3%A9atoire) ou [_gradient boosting_](https://fr.wikipedia.org/wiki/Gradient_boosting) légers pour capturer des relations non linéaires sans rendre le modèle complètement opaque .
- Évaluation multi-horizons avec _time-series split_, courbes derreur en fonction de lhorizon pour voir à partir de quand le modèle décroche.

View File

@@ -326,6 +326,34 @@ function mergeOccurrences(entries, occurrences) {
return merged;
}
// Liste les URLs réellement présentes dans le contenu pour supprimer les entrées obsolètes.
function buildActiveUrlSet(occurrences) {
const active = new Set();
for (const url of occurrences.keys()) {
active.add(url);
}
return active;
}
// Conserve uniquement les liens du rapport encore utilisés dans le contenu.
function filterReportLinks(links, activeUrls) {
if (!Array.isArray(links) || activeUrls.size === 0) {
return [];
}
const filtered = [];
for (const link of links) {
if (!link?.url || !activeUrls.has(link.url)) {
continue;
}
filtered.push({
...link,
locations: Array.isArray(link.locations) ? dedupeAndSortLocations(link.locations) : [],
});
}
return filtered;
}
function recordOccurrence(map, filePath, line, url) {
if (!map.has(url)) {
map.set(url, []);
@@ -720,6 +748,7 @@ async function main() {
return;
}
const activeUrls = buildActiveUrlSet(occurrences);
const state = loadState();
const mergedEntries = mergeOccurrences(state.entries, occurrences);
const entriesArray = Object.values(mergedEntries);
@@ -727,7 +756,7 @@ async function main() {
const snapshotMeta = {
generatedAt: state.generatedAt || null,
links: Array.isArray(state.links) ? state.links : [],
links: filterReportLinks(state.links, activeUrls),
};
await checkEntries(pending, mergedEntries, snapshotMeta);
@@ -735,7 +764,7 @@ async function main() {
const deadLinks = buildDeadLinks(mergedEntries);
const nextState = {
generatedAt: new Date().toISOString(),
links: deadLinks,
links: filterReportLinks(deadLinks, activeUrls),
entries: mergedEntries,
};
saveState(nextState);