2 points par GN⁺ 2025-11-05 | 1 commentaires | Partager sur WhatsApp
  • Chaque fois qu’il cherche un billet d’avion à bas prix, il doit suivre une procédure complexe consistant à vérifier en même temps le visa, le passeport et les conditions de résidence fiscale, entre autres règles.
  • Les systèmes d’immigration et de fiscalité de chaque pays calculent les “jours de présence” selon des critères différents, ce qui crée de la confusion.
  • Pour résoudre ce problème, il a développé Residency, une application qui vérifie les historiques de voyage et les règles comme un compilateur.
  • L’application effectue les calculs en local et contrôle automatiquement l’expiration du passeport, les visas, l’IDP et les conditions de résidence fiscale.
  • En gérant de manière cohérente l’historique des déplacements d’une personne et les règles administratives, elle sert d’outil pour identifier à l’avance les risques avant de passer la frontière.

Les 20 minutes avant d’acheter un billet d’avion

  • Lorsque l’auteur a trouvé un billet extrêmement bon marché pour l’Islande, il a dû vérifier immédiatement le visa, le passeport, le permis de conduire et les conditions de résidence fiscale.
    • Ce processus prend environ 20 minutes et ne consiste pas en une simple comparaison de prix, mais en une vérification simultanée de plusieurs conditions administratives.
  • Il gérait jusque-là diverses demandes de visa et de citoyenneté à partir d’une feuille de calcul consignant ses déplacements des dix dernières années.
  • Mais jugeant cette méthode inefficace, il a imaginé un système capable de déterminer automatiquement : « Est-ce que ce voyage va poser problème ? »

Le “state” que les systèmes ne montrent pas

  • Schengen, le Royaume-Uni, la résidence fiscale et la validité du passeport évaluent tous l’état d’une personne selon des critères différents.
    • Schengen applique la règle des 90/180 jours, le Royaume-Uni se base sur le nombre de minuits dans l’année fiscale, et le passeport sur sa durée de validité et le nombre de pages vierges, entre autres critères.
  • Ces informations ne sont pas directement exposées à l’utilisateur et ne sont accessibles qu’aux agents de contrôle aux frontières.
  • L’auteur définit cela comme un « problème de parsing du state » : il faut interpréter à la fois le point de vue du gouvernement et l’état du système.

Les cas particuliers de l’administration

  • Pour une demande de citoyenneté britannique, il faut prouver qu’on se trouvait au Royaume-Uni exactement à la même date, cinq ans avant la date de dépôt.
    • Une seule journée d’écart peut entraîner, après plusieurs mois d’attente, un rejet de la demande et des frais pour recommencer.
  • Lors d’un transit dans un aéroport britannique, il faut effectuer une activité sans lien avec le voyage (par exemple acheter un encas ou assister à un spectacle) pour que cela soit reconnu comme un “séjour”.
  • Le changement de fuseau horaire pendant le Ramadan au Maroc (UTC↔UTC+1) peut modifier le calcul des jours de présence.
  • Ces règles sont dispersées entre plusieurs sites gouvernementaux et PDF, et l’utilisateur doit lui-même les interpréter.

La simulation de voyage comme “warning du compilateur”

  • L’auteur introduit le concept d’un linter qui valide un itinéraire de voyage sous l’angle de : « Est-ce que ça compile ? »
  • En utilisant un itinéraire d’exemple (DUB→EWR→MEX→LHR→TFS), il compare les différences de calcul des jours de présence selon les pays.
    • Irlande : 0 jour, États-Unis : 0 jour, Mexique : 2 jours, Royaume-Uni : 0 à 1 jour, Schengen : 1 jour
  • Chaque résultat peut varier selon la version de la base de données des fuseaux horaires ; il faut donc figer la version et recalculer en cas de changement.
  • L’objectif est de construire un système de validation automatique appliquant les mêmes critères de décision qu’un agent de contrôle aux frontières.

Structure et fonctionnalités de l’application Residency

  • L’application simule de diverses manières ce qui se passe si l’on effectue telle action.
    • Exemple : lors de la réservation d’un voyage dans les Alpes, elle vérifie si le séjour fera dépasser le quota Schengen, ou l’effet d’un départ avant la fin de l’année fiscale.
  • Les règles propres à chaque pays sont stockées sous forme de blobs d’interprétation versionnés, afin de conserver l’historique lorsque la réglementation change.
  • La validité du passeport, des visas et de l’IDP est également traitée comme une machine à états.
    • Exemple : lors d’un transit à Dubaï, l’application détecte automatiquement le cas où un document est « valide à l’arrivée » mais « invalide au départ ».
  • L’utilisateur peut définir lui-même des objectifs (par exemple une limite de jours dans un pays donné), et l’application émet des avertissements en conséquence.

Une conception local-first et respectueuse de la vie privée

  • Tous les calculs sont effectués sur l’appareil, et l’application fonctionne même sans connexion réseau.
    • En excluant toute communication avec un serveur, elle évite les problèmes de vitesse, de confidentialité et de responsabilité juridique.
  • La synchronisation cloud n’est pas prise en charge, mais l’export manuel sous forme de fichier est possible.
  • Au départ, elle ne calculait que les jours Schengen, puis elle a ajouté les règles fiscales britanniques, l’expiration des documents et des fonctions de simulation.
  • S’il a publié l’application, c’est parce qu’il voulait que d’autres utilisateurs réduisent eux aussi cette même incertitude de 20 minutes.

Résultats d’usage réels et conclusion

  • Avant l’achat du billet pour l’Islande, l’application a calculé avec précision qu’aucun IDP n’était nécessaire, qu’il restait 34 jours de marge dans Schengen et à quel moment prenait fin la résidence fiscale.
  • Lors de l’entrée effective dans le pays, la décision de l’agent à l’aéroport de Keflavík a coïncidé avec le résultat de l’application.
  • L’application s’appelle Residency, est disponible sur iOS et fonctionne avec un achat unique sans abonnement.
  • La conclusion est qu’« on ne peut pas appeler une frontière avec cURL, mais on peut suivre son propre état pour obtenir la même réponse que le gouvernement ».

1 commentaires

 
GN⁺ 2025-11-05
Commentaires sur Hacker News
  • Je ne savais pas qu’il fallait passer par des procédures aussi complexes pour les personnes qui ne sont pas citoyennes de l’UE
    La règle selon laquelle, pour demander la nationalité britannique, il faut prouver qu’on se trouvait physiquement au Royaume-Uni exactement le même jour, 5 ans avant la date de la demande, est assez absurde
    Si on se trompe ne serait-ce que d’un jour, on peut être refusé après des mois d’attente, puis devoir repayer des frais élevés
    Je me demande comment ce genre de règle a vu le jour

    • En réalité, l’auteur a tort. La date de référence n’est pas la date d’envoi du dossier, mais le jour où le Home Office l’a reçu
      Il peut donc y avoir quelques jours d’écart selon la vitesse d’acheminement de Royal Mail
      Avant de déposer ma demande, j’avais demandé au Home Office mon historique d’entrées et sorties, et ils ne savaient pratiquement pas où j’étais 5 ans plus tôt
      Seule environ la moitié de mes voyages était enregistrée, et souvent dans un seul sens. La gestion était désastreuse
    • J’ai autour de 50 ans, et autrefois c’était aussi comme ça en Europe
      J’ai l’impression que les jeunes générations considèrent trop comme acquises les avantages de la citoyenneté européenne
    • La plupart des gens n’ont pas les moyens de rester plus de 90 jours sans visa
      Ceux qui restent plus longtemps sont des « digital nomads », et la plupart travaillent illégalement
    • Cet article ressemble à du content marketing pour faire la promo d’une app
      Les désagréments ont peut-être été un peu exagérés
    • En réalité, ce n’est pas si compliqué. Je l’ai fait moi-même l’an dernier : rendez-vous à la mairie, vérification dans la base de données des adresses, signature d’un document et paiement des frais, puis c’était terminé
      En 15 minutes c’était réglé. Bon, ce n’était pas au Royaume-Uni mais en Europe continentale
  • Si la première pensée de quelqu’un pendant une correspondance à l’aéroport, c’est « acheter un sausage roll chez Greggs », alors cette personne mérite largement la nationalité

    • Le test Life in the UK a besoin d’être mis à jour
    • Claude est une IA assez sensible aux différences culturelles
  • L’article était excellent, mais le titre est étrange
    Il est question de résidence fiscale, de visas, de nationalité et d’exigences propres à chaque pays, mais l’expression « Downloading a border » est ambiguë
    C’est sans doute une métaphore pour dire que « les informations officielles sont dispersées dans plusieurs PDF et sites, et qu’il faut les rassembler soi-même »

  • Certains de mes proches sont entrés en Europe avec un visa touristique, puis ont jeté leur billet retour et sont restés illégalement
    Quelques années plus tard, ils ont été régularisés et ont même obtenu la nationalité, alors que moi, à force de respecter la loi, je suis toujours au même point
    C’est frustrant de ne pas remplir les critères d’un visa permettant de travailler légalement

    • Ce genre de cas est si fréquent qu’on finit presque par se demander si c’est vraiment moralement répréhensible
      J’ai vu beaucoup de gens entrer avec un visa touristique, travailler, puis être régularisés plus tard
      À l’inverse, des personnes très qualifiées arrivées avec un vrai visa de travail perdaient leur sponsor à cause d’un plan social et devaient retrouver un emploi sous 30 jours
      Ce type de politique donne l’impression d’un déséquilibre intentionnel
    • Je me demande ce que signifie « ne pas avoir de base légale valable ». Dans la plupart des pays, il suffit d’avoir un emploi local au-dessus d’un certain niveau de salaire pour obtenir un visa de travail
    • Je me demande s’il existe une loi qui accorde automatiquement la nationalité après quelques années de résidence
    • J’aimerais savoir dans quel pays, et par quelle procédure, on peut obtenir une régularisation (legalisation)
  • J’admire le niveau de détail du travail de l’auteur
    J’ai moi aussi essayé de créer un calculateur Schengen 90/180 jours et un outil de suivi de résidence fiscale avec Claude, mais les calculs étaient trop difficiles
    J’ai finalement dû repartir de zéro et créer un nouveau projet moi-même
    Je me demande si les résultats de l’app ont été vérifiés manuellement. Pour ce type d’app, la validation par les tests est essentielle

    • Pour ce type de logique centrée sur les maths, je pense qu’il vaut mieux écrire directement un DSL ou des fonctions lisibles par des humains plutôt que de s’en remettre à l’IA
      On peut modifier les règles plus facilement, et les tests unitaires sont particulièrement utiles
    • Les problèmes complexes de planification nécessitent beaucoup de tests unitaires
      Parce que dans la structure entrée → algorithme → sortie, il y a énormément de cas limites
    • « L’IA te rend stupide, puis tu te plains qu’elle est stupide », ça ressemble à une situation perdant-perdant
    • Pour être honnête, déléguer la plupart du travail à une IA puis parler comme si on avait mené soi-même des recherches impressionnantes, ça sonne un peu prétentieux
  • Ce n’est pas dit explicitement dans l’article, mais l’app créée par l’auteur peut être téléchargée par tout le monde
    https://drobinin.com/apps/residency/
    J’aurais bien aimé l’essayer si elle n’avait pas été uniquement sur Android

  • Je viens de réaliser que cet auteur est aussi la personne qui avait créé un système d’accès à une salle de sport avec l’Apple Watch
    J’avais déjà aimé son précédent article, et celui-ci me plaît aussi
    Lien vers l’article précédent

    • Moi, c’était l’inverse : je n’avais pas aimé son article
      Son style très autosatisfait, façon « regardez comme je suis international et sophistiqué », m’avait agacé
    • Je suis abonné chez PureGym, et je retiens simplement le code à 8 chiffres pour le taper moi-même
      L’app officielle n’est pas terrible, donc ça évite d’avoir à sortir son téléphone
  • En lisant cet article, j’ai de nouveau pris conscience de la valeur des voyages sans visa autorisés par mon passeport
    C’est faisable, mais le processus est bien trop inefficace et chronophage

  • Je me demande pourquoi certains pays exigent, à l’entrée, qu’il reste au moins n mois de validité sur le passeport
    Je ne vois pas en quoi c’est problématique si le passeport expire avant longtemps mais reste valable pour la durée du séjour
    Je me demande quelles activités illégales ou quels problèmes économiques ce genre de règle est censé prévenir

    • C’est probablement lié aux situations d’urgence
      Si un retour est retardé à cause d’une blessure ou d’un autre imprévu, le passeport doit rester valide, et les visas ne sont parfois délivrés que par blocs de durée dans le système
      Comme la date d’expiration du passeport est connue à l’avance, c’est peut-être aussi simplement une façon de dire qu’il faut le gérer de manière responsable
  • Cet article était marquant
    Il montre bien pourquoi la plupart des règles raisonnables incluent une marge de discrétion administrative