diff --git a/package.json b/package.json
index ea6eeac0a0f2d1f26038c720e27c1523c364be18..5b22af81f6880dfa00eff6ed802b7aa94b0c9859 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
     "url": "git@git.duniter.org:clients/cesium/cesium.git"
   },
   "scripts": {
-    "postinstall": "bower install --allow-root && rm -f hooks/minify-conf.json hooks/uglify-config.json hooks/after_prepare/ionic-minify.js  hooks/after_prepare/uglify.js",
+    "postinstall": "node -e \"try { require('fs').symlinkSync(require('path').resolve('node_modules/@bower_components'), 'www/lib', 'junction') } catch (e) { }\" && rm -f hooks/minify-conf.json hooks/uglify-config.json hooks/after_prepare/ionic-minify.js  hooks/after_prepare/uglify.js",
     "install-platforms": "ionic state restore",
     "start": "ionic serve",
     "docker:build": "sudo docker build . -t cesium/release",
@@ -52,9 +52,54 @@
     "cordova-plugin-whitelist": "^1.3.4",
     "cordova-plugin-x-toast": "^2.7.2",
     "ionic-plugin-keyboard": "^2.2.1",
-    "moment": "~2.24.0",
-    "numeral": "1.5.6",
-    "phonegap-plugin-barcodescanner": "8.1.0"
+    "phonegap-plugin-barcodescanner": "8.1.0",
+    "@bower_components/Leaflet.EasyButton": "CliffCloud/Leaflet.EasyButton#^2.4.0",
+    "@bower_components/Leaflet.FeatureGroup.SubGroup": "VivekKhandre/Leaflet.FeatureGroup.SubGroup#0.1.2",
+    "@bower_components/aes-js": "ricmoo/aes-js#3.1.2",
+    "@bower_components/angular": "angular/bower-angular#~1.5.11",
+    "@bower_components/angular-animate": "angular/bower-angular-animate#~1.5.11",
+    "@bower_components/angular-api": "E-IS/angular-api#0.3.0",
+    "@bower_components/angular-bind-notifier": "aeisenberg/angular-bind-notifier#^1.1.11",
+    "@bower_components/angular-cache": "jmdobry/angular-cache#^4.6.0",
+    "@bower_components/angular-chart.js": "jtblin/angular-chart#1.1.1",
+    "@bower_components/angular-file-saver": "alferov/angular-file-saver#^1.1.3",
+    "@bower_components/angular-fullscreen": "E-IS/angular-fullscreen#1.0.2",
+    "@bower_components/angular-idle": "HackedByChinese/ng-idle#^1.3.2",
+    "@bower_components/angular-image-crop": "andyshora/angular-image-crop#^2.0.0",
+    "@bower_components/angular-leaflet-directive": "E-IS/angular-leaflet-directive#0.10.1",
+    "@bower_components/angular-messages": "angular/bower-angular-messages#~1.5.11",
+    "@bower_components/angular-moment": "urish/angular-moment#^0.10.3",
+    "@bower_components/angular-resource": "angular/bower-angular-resource#~1.5.11",
+    "@bower_components/angular-sanitize": "angular/bower-angular-sanitize#~1.5.11",
+    "@bower_components/angular-screenmatch": "bensurman/angular-screenmatch#^1.0.1",
+    "@bower_components/angular-simple-logger": "nmccready/angular-simple-logger#~0.1.4",
+    "@bower_components/angular-translate": "PascalPrecht/bower-angular-translate#^2.18.1",
+    "@bower_components/angular-ui-router": "angular-ui/angular-ui-router-bower#^0.2.18",
+    "@bower_components/blob-polyfill": "bjornstar/blob-polyfill#~1.0.20150320",
+    "@bower_components/chart.js": "chartjs/Chart.js#2.x",
+    "@bower_components/file-saver.js": "Teleborder/FileSaver.js#~1.20150507.2",
+    "@bower_components/ion-digit-keyboard": "skol-pro/ion-digit-keyboard#973b90c2fc",
+    "@bower_components/ionic": "driftyco/ionic-bower#1.3.5",
+    "@bower_components/ionic-material": "zachsoft/Ionic-Material#0.4.2",
+    "@bower_components/js-nacl": "tonyg/js-nacl#1.3.2",
+    "@bower_components/js-scrypt": "tonyg/js-scrypt#1.2.0",
+    "@bower_components/leaflet": "Leaflet/Leaflet#0.7.7",
+    "@bower_components/leaflet-search": "stefanocudini/leaflet-search#2.7.2",
+    "@bower_components/leaflet.awesome-markers": "lvoogdt/Leaflet.awesome-markers#2.0.2",
+    "@bower_components/leaflet.loading": "ebrelsford/Leaflet.loading#^0.1.24",
+    "@bower_components/leaflet.markercluster": "Leaflet/Leaflet.markercluster#0.5.0",
+    "@bower_components/moment": "moment/moment#^2.24.0",
+    "@bower_components/ng-idle": "HackedByChinese/ng-idle#^1.3.2",
+    "@bower_components/ngCordova": "driftyco/ng-cordova#0.1.27-alpha",
+    "@bower_components/numeral": "adamwdraper/Numeral-js#^1.5.6",
+    "@bower_components/qrcode.js": "davidshimjs/qrcodejs#*",
+    "@bower_components/robotodraft": "raibutera/robotodraft#1.1.0",
+    "@bower_components/socket.io": "socketio/socket.io#^1.4.4",
+    "@bower_components/socket.io-parser": "socketio/socket.io-parser#^2.2.6",
+    "@bower_components/socket.io-client": "socketio/socket.io-client#^1.4.4",
+    "@bower_components/ui-leaflet": "angular-ui/ui-leaflet#^2.0.0",
+    "@bower_components/underscore": "jashkenas/underscore#^1.8.3",
+    "@bower_components/waves": "fians/Waves#0.6"
   },
   "devDependencies": {
     "bower": "^1.8.8",
@@ -165,5 +210,8 @@
       "android",
       "osx"
     ]
+  },
+  "engines": {
+    "yarn": ">= 1.0.0"
   }
-}
\ No newline at end of file
+}