mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-15 16:32:03 +00:00
Entrée « Quelqu'un ailleurs » dans le menu +. On tape un nom, une année et un lieu. Liens préremplis vers Gallica, FranceArchives, Mémoire des hommes, Léonore, Geneanet, Open Archives, WikiTree, FreeBMD et FamilySearch, ouverts par le navigateur. Le serveur interroge les décès INSEE depuis 1970 (matchID) et WikiTree quand SEARCH_SOURCES les nomme ; MATCHID_TOKEN au-delà d'une centaine de recherches. Un résultat ajouté ne remplit que les champs vides, passe la personne à vérifier et garde la source dans sa note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
89 lines
3.2 KiB
JavaScript
89 lines
3.2 KiB
JavaScript
import { t } from '../i18n/index.js'
|
|
|
|
// Liens utiles du panneau « Chercher quelqu'un » : des sites sans recherche qu'on peut interroger d'ici.
|
|
// Le navigateur ouvre le site, rien ne passe par le serveur de Parenthèse. Quand le site le permet, l'adresse
|
|
// porte déjà le nom cherché. Ajouter un lien : un objet de plus, avec son pays et une phrase qui dit ce qu'on
|
|
// y trouve.
|
|
|
|
const enc = encodeURIComponent
|
|
|
|
export const SEARCH_LINK_REGIONS = [
|
|
{ id: 'fr', label: t('France') },
|
|
{ id: 'be', label: t('Belgique, Pays-Bas') },
|
|
{ id: 'world', label: t('Ailleurs') },
|
|
]
|
|
|
|
export const SEARCH_LINKS = [
|
|
{
|
|
id: 'gallica',
|
|
region: 'fr',
|
|
name: t('Presse ancienne'),
|
|
detail: t('Gallica, journaux numérisés'),
|
|
url: ({ firstName, lastName }) => `https://gallica.bnf.fr/services/engine/search/sru?operation=searchRetrieve&version=1.2&query=${enc(`(gallica adj "${[firstName, lastName].filter(Boolean).join(' ')}") and dc.type all "fascicule"`)}`,
|
|
},
|
|
{
|
|
id: 'francearchives',
|
|
region: 'fr',
|
|
name: t('Registres matricules, état civil'),
|
|
detail: t('FranceArchives, hommes nés de 1847 à 1901'),
|
|
url: ({ firstName, lastName }) => `https://francearchives.gouv.fr/fr/basedenoms?q=${enc([lastName, firstName].filter(Boolean).join(' '))}`,
|
|
},
|
|
{
|
|
id: 'mdh',
|
|
region: 'fr',
|
|
name: t('Morts pour la France'),
|
|
detail: t('Mémoire des hommes'),
|
|
url: () => 'https://www.memoiredeshommes.defense.gouv.fr/',
|
|
},
|
|
{
|
|
id: 'leonore',
|
|
region: 'fr',
|
|
name: t("Légion d'honneur"),
|
|
detail: t('Base Léonore'),
|
|
url: () => 'https://www.leonore.archives-nationales.culture.gouv.fr/',
|
|
},
|
|
{
|
|
id: 'geneanet',
|
|
region: 'fr',
|
|
name: 'Geneanet',
|
|
detail: t('Arbres et relevés'),
|
|
url: ({ firstName, lastName }) => `https://www.geneanet.org/fonds/individus/?nom=${enc(lastName)}&prenom=${enc(firstName)}&go=1`,
|
|
},
|
|
{
|
|
id: 'openarchives',
|
|
region: 'be',
|
|
name: 'Open Archives',
|
|
detail: t('État civil et registres'),
|
|
url: ({ firstName, lastName }) => `https://www.openarchieven.nl/search.php?lang=fr&name=${enc([firstName, lastName].filter(Boolean).join(' '))}`,
|
|
},
|
|
{
|
|
id: 'wikitree',
|
|
region: 'world',
|
|
name: 'WikiTree',
|
|
detail: t('Arbre mondial tenu par ses membres'),
|
|
// La recherche par prénom ne se préremplit pas : la page du nom de famille liste toutes ses fiches
|
|
url: ({ lastName }) => (lastName ? `https://www.wikitree.com/genealogy/${enc(lastName.toUpperCase())}` : 'https://www.wikitree.com/'),
|
|
},
|
|
{
|
|
id: 'freebmd',
|
|
region: 'world',
|
|
name: 'FreeBMD',
|
|
detail: t('Angleterre et pays de Galles'),
|
|
url: () => 'https://www.freebmd.org.uk/cgi/search.pl',
|
|
},
|
|
{
|
|
id: 'familysearch',
|
|
region: 'world',
|
|
name: 'FamilySearch',
|
|
detail: t('Registres du monde entier, compte gratuit'),
|
|
url: ({ firstName, lastName, birthYear }) => {
|
|
const params = new URLSearchParams({ 'q.givenName': firstName || '', 'q.surname': lastName || '' })
|
|
if (birthYear) {
|
|
params.set('q.birthLikeDate.from', String(birthYear))
|
|
params.set('q.birthLikeDate.to', String(birthYear))
|
|
}
|
|
return `https://www.familysearch.org/search/record/results?${params}`
|
|
},
|
|
},
|
|
]
|