France-Crashes 39-45

Module mobile · maquette de démonstration

Maquette interactive

Retrouver un aviateur
depuis sa tombe.

Et lui rendre son avion, et son équipage tout entier.

Debout dans un cimetière, un nom sur une pierre. En trois gestes sur un téléphone : l'appareil, la mission, les hommes qui volaient à ses côtés. Jamais une fiche isolée — toujours l'équipage complet.

9 500

fiches de crashs

30 500

aviateurs

2004

base gratuite, sans pub

Prenez le téléphone ci-contre et tapez sur les écrans.

FC 39-45

Mémoire des équipages

Identifier un aviateur

Saisissez son nom, puis l'initiale ou le prénom. Vous obtiendrez son avion et tout son équipage.

ou
Accéder au site complet ↗

Accès gratuit, sans publicité — depuis 2004.

Résultats

2 trouvés

« SMITH J » — vérifiez qu'il s'agit du bon aviateur avant d'ouvrir l'équipage.

La recherche renvoie toujours une liste, même pour un seul résultat.

Avion · t_avions

Avro Lancaster Mk III

No. 50 Squadron RAF · 12-06-1944

Numéro d'identification1234
NationRAF
Date du crash12-06-1944
Type d'appareilAvro Lancaster Mk III
MatriculeLM456
UnitéNo. 50 Squadron
MissionRaid de bombardement sur Calais
Lieu de chuteCalais
DépartementPas-de-Calais
CirconstancesAbattu par un chasseur de nuit

Équipage · t_equip · 7 hommes

Voir la fiche complète ↗

francecrashes39-45.net/fiche/1234

Avion · t_avions

Handley Page Halifax Mk III

No. 35 Squadron RAF · 24-03-1944

Numéro d'identification5107
NationRAF
Date du crash24-03-1944
Type d'appareilHandley Page Halifax Mk III
MatriculeLW612
UnitéNo. 35 Squadron
MissionRaid sur Berlin
Lieu de chuteAchères
DépartementYvelines
CirconstancesEndommagé par la Flak, écrasé au retour

Équipage · t_equip · 7 hommes

Voir la fiche complète ↗

francecrashes39-45.net/fiche/5107

Règle métier

Le champ « État » n'est jamais un code brut.

La base coche un seul champ interne par aviateur. L'API le traduit en un mot lisible — et l'affiche tel quel. Aucun champ coché → « Inconnu ».

etat_saufRécupéré
etat_evdÉchappé
etat_evdpÉvadé
etat_powPrisonnier
etat_dcdDécédé
(aucun)Inconnu

Un seul site, deux comportements

La détection se fait côté front, pas dans l'API.

L'API renvoie exactement le même JSON pour tous. Elle ne sait pas si vous êtes sur un téléphone ou un ordinateur — et c'est voulu.

📱

Smartphone / tablette

Le module mobile dédié

  • Accueil : recherche nom + initiale/prénom, ou lien vers le site complet
  • Liste de résultats, puis fiche avion + équipage
  • Affichage « Titre : Valeur », ordre des champs imposé
🖥️

Ordinateur / laptop

Le site tel qu'il existe

  • Aucune API mobile
  • Interface identique au site actuel
  • Le module mobile reste séparé, il ne touche jamais au site principal

Sous le capot

Chaque ligne du cahier des charges, respectée.

Deux routes, un JSON strict, une sécurité durcie. Rien en dur, tout dans un fichier de configuration.

GET

/api/aviateurs?nom=SMITH&prenom=J

Recherche par nom + initiale ou prénom. Renvoie toujours une liste, même à un seul résultat.

GET

/api/aviateur/{id}/avion

L'avion et l'équipage complet. Jamais l'aviateur seul — la règle fondatrice de la base.

// GET /api/aviateur/4821/avion
{
  "avion": {
    "num_ident": 1234,
    "nation": "RAF",
    "date_crash": "12-06-1944",
    "type_appareil": "Lancaster",
    "matricule": "LM456",
    "unite": "No. 50 Squadron",
    "mission": "Raid de bombardement sur Calais",
    "local_chute": "Calais",
    "departement": "Pas-de-Calais",
    "circonstances": "Abattu par un chasseur de nuit"
  },
  "equipage": [
    {
      "grade": "F/Sgt", "nom": "SMITH", "prenom": "John",
      "poste": "Bomb Aimer", "appart": "RAF",
      "etat": "Décédé", // traduit depuis etat_dcd
      "lieu_inhum": "Cimetière communal de Calais"
    }
  ],
  "fiche_complete_url": "https://francecrashes39-45.net/fiche/1234"
}

JSON strict : aucun champ superflu, aucun code interne exposé, jamais le même JSON adapté à l'appareil.

🔑Clé API obligatoire
⏱️Rate limiting par IP / clé
🛡️Requêtes SQL préparées
Validation stricte des paramètres
🔒HTTPS obligatoire
🌐CORS limité aux origines autorisées
🙈Erreurs internes masquées
📐JSON strict, réponse < 300 ms
# .env — modifiable sans recompilation, hors du code, accès restreint
DB_HOST=localhost
DB_NAME=francecrashes
DB_USER=fc_readonly
DB_PASSWORD=••••••••••
API_KEYS=cle_mobile_2026,cle_partenaire
RATE_LIMIT=60/min
CORS_ORIGINS=https://m.francecrashes39-45.net

Base, identifiants SQL, clés API et paramètres de sécurité : tout en configuration, rien en dur. Format .env ou JSON, au choix.

Ce que je livre

Un module fini, testé, documenté.

1

API REST sécurisée

Les 2 routes, la traduction des états, le JSON strict, la couche sécurité complète. Branchée sur votre base en lecture seule, sans y toucher.

2

Interface mobile

Accueil, recherche, liste, fiche avion + équipage. Détection de l'appareil côté front. Module séparé, jamais mêlé au site principal.

3

Tests + doc + config

Jeu de tests (recherche, états, sécurité, injection, perf), fichier de configuration documenté, remise du code source. Le tout à vous.

Parlons de votre projet

Ce module a du sens : rendre à des hommes leur histoire, depuis une pierre tombale. J'aimerais le construire avec vous. Un mot, un appel, comme vous préférez.

Vous préférez rester sur Codeur ? Répondez-moi directement, ça marche aussi.