Diffuser des fichiers statiques


Cette partie du tutoriel consacré au code de l'application Guestbook pour Python montre comment diffuser des fichiers statiques. App Engine ne diffuse pas les fichiers directement à partir du répertoire source de votre application, à moins que vous ne l'ayez configuré de la sorte. Toutefois, il est souvent utile d'envoyer les fichiers statiques directement au navigateur Web. Les images, les feuilles de style CSS, le code JavaScript, les films ainsi que les animations Flash sont généralement stockés à l'aide d'une application Web et envoyés directement au navigateur.

Ce tutoriel comporte plusieurs pages. Pour le suivre depuis le début et consulter les instructions relatives à la configuration, consultez la page Créer une application Guestbook.

Configurer l'application pour utiliser des fichiers statiques

Les fichiers CSS de l'application Guestbook se trouvent dans le répertoire bootstrap/css. Le modèle de la page Web de l'application, index.html, indique au navigateur de charger bootstrap.css et bootstrap-responsive.css, qui sont des fichiers statiques :

<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap.css">
<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap-responsive.css">

Le fichier app.yaml spécifie le répertoire bootstrap comme emplacement des fichiers statiques :

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /bootstrap
  static_dir: bootstrap

- url: /.*
  script: guestbook.app

La section handlers définit deux gestionnaires pour les URL. Lorsque App Engine reçoit une requête d'URL commençant par /bootstrap, il mappe le reste du chemin d'accès aux fichiers du répertoire bootstrap. Si un fichier approprié est trouvé, le contenu du fichier est renvoyé au client. Toutes les autres URL correspondent au format /.* et sont gérées par l'objet app dans le module guestbook.

Les formats des chemins d'URL sont testés dans l'ordre dans lequel ils apparaissent dans app.yaml. Dans ce cas, le format /bootstrap est testé avant le format /.* pour les chemins d'accès appropriés. Pour obtenir plus d'informations sur le mappage des URL et sur les autres options que vous pouvez définir dans le fichier app.yaml, consultez la documentation de référence sur app.yaml.