diff --git a/source/production/nginx.rst b/source/production/nginx.rst
index e69de29..5d317b5 100644
--- a/source/production/nginx.rst
+++ b/source/production/nginx.rst
@@ -0,0 +1,119 @@
+*****
+Nginx
+*****
+
+FrontEnd
+========
+
+Nginx est là pour agir en tant que front-end Web. A moins d'avoir configuré un mécanisme de cache type `Varnish `_, c'est lui qui va recevoir la requête envoyée par l'utilisateur, gérer les fichiers et les informations statiques, et transmettre toute la partie dynamique vers Gunicorn.
+
+L'exemple ci-dessous se compose de plusieurs grandes parties: commune (par défaut), static, uploads, racine.
+
+Partie commune
+--------------
+
+ * Sur quel port Nginx doit-il écouter ? [80]
+ * client_max_body_size ?? [4G]
+ * Quel est le nom du serveur ? [ domain_name ]
+ * keepalive ??
+ * La compression Gzip doit-elle être activée ?
+ * Avec quels paramètres ? [gzip_comp_level 7, gzip_proxied any]
+ * Quels types de fichiers GZip doit-il prendre en compte ? [
+ * Où les fichiers de logs doivent-ils être stockés ? [/logs/access.log & /logs/error.log]
+
+Fichiers statiques
+------------------
+
+Pour les fichiers statiques, on définit un chemin ``/static`` dans le fichier de configuration, dans lequel on augmente le taux de compression et où on définit une durée de vie d'une semaine. En cas de non-présence du fichier, une erreur 404 est levée.
+
+Uploads
+-------
+
+La partie ``uploads`` est très proche des autres fichiers statiques. Attention cependant que dans ce cas-ci, la configuration ne gérera pas l'authentification des utilisateurs pour l'accès à des ressources téléversées: si une personne possède le lien vers un fichier téléversé et qu'elle le transmet à quelqu'un d'autre, cette deuxième personne pourra y accéder sans aucun problème.
+
+Si vous souhaitez implémenter un mécanisme d'accès géré, supprimez cette partie et implémenter la vôtre, directement dans l'application. Vous perdrez en performances, mais gagnerez en sécurité et en fonctionnalités.
+
+Racine
+------
+
+La partie racine de votre domaine ou sous-domaine fera simplement le *pass_through* vers l'instance Gunicorn. En gros, et comme déjà expliqué, Gunicorn tourne en local sur un port (eg. 8001); la requête qui arrive sur le port 80 ou 443 est prise en compte par NGinx, puis transmise à Gunicorn sur le port 8001. Ceci est complétement transparent pour l'utilisateur de notre application.
+
+Au final
+--------
+
+.. code-block:: shell
+
+ server {
+ listen 80;
+ client_max_body_size 4G;
+ server_name {{ domain_name }};
+ keepalive_timeout 5;
+
+ gzip on;
+ gzip_comp_level 7;
+ gzip_proxied any;
+ gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
+
+ access_log {{ cwd }}/logs/access.log timed_combined;
+ error_log {{ cwd }}/logs/error.log;
+
+ location /static/ {
+ alias {{ static_root }}/;
+ gzip on;
+ gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
+ gzip_comp_level 9;
+ expires 1w;
+ try_files $uri $uri/ =404;
+ }
+
+ location /uploads/ {
+ alias {{ uploads_folder }}/;
+ gzip on;
+ gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
+ gzip_comp_level 9;
+ expires 1w;
+ try_files $uri $uri/ =404;
+ }
+
+ location / {
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header Host $http_host;
+ proxy_redirect off;
+
+ proxy_pass http://127.0.0.1:{{ proxy_port }};
+ }
+ }
+
+Modules complémentaires
+=======================
+
+PageSpeed
+---------
+
+Si le module `PageSpeed `_ est installé, profitez-en pour ajouter la configuration suivante, à la fin de votre fichier de configuration:
+
+.. code-block:: shell
+
+ pagespeed on;
+ pagespeed EnableFilters collapse_whitespace,insert_dns_prefetch,rewrite_images,combine_css,combine_javascript,flatten_css_imports,inline_css,rewrite_css,;
+ # Needs to exist and be writable by nginx.
+ pagespeed FileCachePath /var/nginx_pagespeed_cache;
+
+ # Ensure requests for pagespeed optimized resources go to the pagespeed handler
+ # and no extraneous headers get set.
+ location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
+ add_header "" "";
+ }
+ location ~ "^/ngx_pagespeed_static/" { }
+ location ~ "^/ngx_pagespeed_beacon$" { }
+ location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
+ location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
+ location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
+
+L'intérêt est le suivant:
+
+ * Optimise les images (dégage les métadonnées, redimensionnement dynamique, compression)
+ * Minification des fichiers JavaScript
+ * Extension de la durée de vie du cache
+ * Légère réécriture des fichiers HTML
+ * `et plus encore `_.
\ No newline at end of file