Retour au blog

Lire un site local sans monter de serveur web

Vous voulez regarder un site statique que vous avez sous la main. Le réflexe, chez tous ceux qui ont déjà développé, est immédiat : python -m http.server, ou npx serve, et on ouvre le navigateur. Sur un ordinateur, c'est l'affaire de dix secondes.

Sur un iPhone ou un iPad, ce réflexe n'a plus de support. Et la vraie question devient : aviez-vous réellement besoin d'un serveur ?

Pourquoi on lance un serveur par défaut

Parce que l'ouverture directe d'un fichier en file:// pose de vrais problèmes dans un navigateur de bureau. Les requêtes vers d'autres fichiers sont bloquées par la politique d'origine, les modules JavaScript refusent de se charger, et certaines API ne sont disponibles qu'en contexte sécurisé.

Le serveur local n'est donc pas là pour servir les fichiers, qui sont déjà là. Il est là pour donner une origine à la page.

Quand le serveur reste indispensable

Il l'est dès que vous faites autre chose que lire :

Dans tous ces cas, montez un serveur, et faites-le depuis une machine de développement. Aucune app de lecture ne remplace cela, et cet article ne le prétend pas.

Quand vous n'en avez pas besoin

Si votre objectif est de lire, la liste est plus courte qu'on ne croit. Consulter une documentation exportée, relire un rapport généré, parcourir un site archivé, vérifier un livrable client avant de le transmettre : rien de tout cela ne demande une origine HTTP.

Ce qu'il faut, c'est une app qui résout les chemins relatifs correctement et exécute le CSS et le JavaScript de la page. C'est exactement ce que fait Pagira, sur iPhone et iPad, sans rien lancer et sans rien publier.

  1. Placez le dossier du site dans Fichiers ou dans iCloud Drive.
  2. Ouvrez-le avec Pagira.
  3. Le site s'affiche avec sa mise en page et sa navigation interne.

Les styles et les pages interactives sont pris en charge, voir CSS et JavaScript dans les pages locales.

Ce que vous gagnez à ne pas publier

Il y a une différence de nature entre lire un fichier sur son appareil et le déposer sur un service en ligne pour le regarder. Un livrable client, une maquette non annoncée, une documentation interne : ce sont des contenus dont vous n'êtes pas toujours en droit de décider de la diffusion. Rester en local supprime la question.

Et si le site vient d'un générateur

Les exports de Hugo, Jekyll, MkDocs, Docusaurus ou d'un notebook converti sont des dossiers statiques autonomes. Ils se lisent tels quels, sans build ni serveur. Le sujet est traité en détail dans lire une documentation technique hors-ligne sur iPad.

Questions fréquentes

Les modules JavaScript fonctionnent-ils ?

Les pages interactives se comportent comme prévu. En revanche, si votre page dépend d'une API réservée aux contextes sécurisés ou d'un service worker, il vous faut un vrai serveur : c'est une limite du modèle, pas un réglage à trouver.

Puis-je lancer un serveur sur iOS ?

Des apps le proposent. Pour de la simple lecture, cela ajoute une couche dont le seul rôle est de contourner un problème que vous n'avez pas.

Et si le site appelle une API distante ?

Il lui faudra une connexion, comme dans un navigateur. Ce qui est local, c'est le site, pas les services qu'il interroge.

Comment ouvrir le dossier ?

Par « Ouvrir avec Pagira » depuis Fichiers. Voir ouvrir depuis n'importe où.

Le site reste-t-il consultable hors connexion ?

Oui, c'est le point de départ : les fichiers sont sur l'appareil. Pour un dossier dans iCloud, téléchargez une copie hors-ligne avant de partir.