ADR-084 — Ratification air-url : couche 4 élargie (« frameworks développeur : UI + fondation ») + nom air-url
Statut : Accepté (2026-07-07, ratification BDFL). RFC de structure
(ADR-015). Amende la macro-architecture
(périmètre de la couche 4). Companion de la note
api-reseau-strategie (qui posait la question) et
de la spec air-url.
Catégorie : Architecture (placement de couche + nommage) / amendement macro-archi.
Note de procédure. La ratification suit l’hypothèse principale de la note (couche 4 élargie) ; le nom
air-urlest retenu (descriptif, vocabulaire Air, non copié d’Apple). Le BDFL peut réviser le nom (alternatives :air-web,air-fetch) sans rouvrir la décision de couche.
Contexte
La spec air-url (équivalent fonctionnel de URLSession : sessions, tâches
data/download/upload/WebSocket, cache, cookies, auth, transferts en arrière-plan) a été
rédigée en laissant deux points ouverts (note api-reseau-strategie) : la couche
et le nom. air-url est une commodité applicative (URL-loading haut niveau bâti
sur air-http), pas un mécanisme système ni un protocole filaire — exactement comme
URLSession vit chez Apple dans Foundation, pas dans le socle réseau.
La couche 4 était jusqu’ici définie « UI seulement » (air-ui graphique / air-tui
console). Placer air-url y élargit ce périmètre.
Décision
- Couche 4, périmètre élargi. La couche 4 passe de « frameworks UI » à
« frameworks développeur : UI + fondation ». Elle héberge, à côté des frameworks
d’interface (
air-ui/air-tui), les commodités applicatives de fondation — dontair-url(URL-loading), sur le modèle de Foundation d’Apple (UIKit et Foundation coexistent au niveau « framework développeur »). - Nom :
air-url. Descriptif (chargement d’URL), vocabulaire Air, jamais « URLSession » (pas de copie d’API/nom Apple, décision de la note). Alternatives consignées :air-web,air-fetch(révisables par le BDFL sans rouvrir la couche).
Conséquences
- Macro-architecture amendée : la section « Couche 4 » inclut désormais les
frameworks de fondation (pas seulement UI).
air-urly figure. - Précédent : les futures commodités applicatives (au-dessus des services système,
destinées aux développeurs d’apps
.airapp) se placent en couche 4 fondation (ex. formats, i18n applicative, etc., à instruire au cas par cas). air-url: spec passée de « couche à confirmer » à couche 4 (fondation) ratifiée ; bâtie surair-http(L2) +air-network(L2).- Non affecté :
air-http/air-network/air-tls… restent en couche 2 (frameworks système / protocoles). L’élargissement ne concerne que la couche 4.
Alternatives rejetées
- Haut de couche 2. Placerait un confort applicatif parmi les frameworks
système / protocoles (transport, TLS, HTTP). Mélange les registres ; la couche 2 est
« mécanisme système »,
air-urlest « commodité développeur ». Rejeté au profit de la cohérence de registre (Foundation ≠ socle réseau). - Nouvelle couche dédiée (entre 2 et 4). Sur-ingénierie ; la couche 4 « frameworks développeur » couvre naturellement UI et fondation. Rejeté.
- Nom
URLSession/air-url-session. Copie de l’API/nom Apple, contraire à la note (« couverture fonctionnelle, pas copie d’API »). Rejeté.
Adoption
- Amendement macro-architecture (section couche 4) appliqué. Spec
air-urlmise à jour (statut ratifié). Câblage registre/SUMMARY/INDEX. Le nom de crateair-urlest retenu (révisable par le BDFL, sans impact sur la décision de couche).