diff --git a/package.json b/package.json
index 4f26023588e22a926d837e55298974cfa15599d4..f612aaad6bbfd547dbbfb8103327938c54a4243e 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
     "angular-bootstrap-md": "^5.0.5",
     "angular2-chartjs": "^0.4.1",
     "core-js": "^2.4.1",
+    "file-saver": "^1.3.8",
     "he": "^1.1.1",
     "jalhyd": "file:../jalhyd/jalhyd-1.0.0.tgz",
     "ngx-md": "^3.1.1",
@@ -36,6 +37,7 @@
     "@angular/cli": "1.5.4",
     "@angular/compiler-cli": "^5.0.0",
     "@angular/language-service": "^5.0.0",
+    "@types/file-saver": "^1.3.0",
     "@types/jasmine": "~2.5.53",
     "@types/jasminewd2": "~2.0.2",
     "@types/node": "~6.0.60",
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 2f6879d8a7507c5cc58584b49c1bb8ea58e3ffdc..ed45462d1e5e2a167ee7f222582dbb7a2ef7597d 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -241,8 +241,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
         elems.push(form.JSONserialise());
       }
     let session = { "session": { "elements": elems } };
-    console.log("---");
-    console.log(JSON.stringify(session));
+    this.formulaireService.saveSession(session);
   }
 
   private closeCalculator(form: FormulaireDefinition) {
diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts
index b89e1baaa14433aa8e4c48f92abf4e5539435695..ccf34e3281fd803f8d71732be5ec9b66802a10dd 100644
--- a/src/app/services/formulaire/formulaire.service.ts
+++ b/src/app/services/formulaire/formulaire.service.ts
@@ -3,6 +3,7 @@ import { Response } from "@angular/http";
 import { Observable as rxObservable } from "rxjs/Observable";
 import "rxjs/add/operator/toPromise";
 import { decode } from "he";
+import { saveAs } from "file-saver"
 
 import { CalculatorType, EnumEx, Observable } from "jalhyd";
 
@@ -388,6 +389,11 @@ export class FormulaireService extends Observable {
         });
     }
 
+    public saveSession(session: {}) {
+        const blob = new Blob([JSON.stringify(session)], { type: "text/plain;charset=utf-8" });
+        saveAs(blob);
+    }
+
     /**
      * obtient des infos (nom, uid des calculettes) d'un fichier session
      * @param f fichier session