index.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708
  1. <!DOCTYPE html>
  2. <html
  3. ng-app = "application"
  4. lang = "en-US">
  5. <head>
  6. <!-- Page title -->
  7. <title>Manche Numérique</title>
  8. <!-- Meta tags -->
  9. <meta charset = "UTF-8">
  10. <meta name = "description" content = "Zeno-Labs">
  11. <meta name = "keywords" content = "HTML,CSS,JavaScript">
  12. <meta name = "author" content = "Francois Beaufils">
  13. <!-- Angulars Material CSS using RawGit to load directly from `bower-material/master` -->
  14. <link rel = "stylesheet" href = "css/angular-material.css">
  15. <link rel = "stylesheet" href = "css/theme.css">
  16. <!-- Favicon-->
  17. <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
  18. <!-- Material design CSS font http://zavoloklom.github.io/material-design-iconic-font/examples.html -->
  19. <link rel="stylesheet" href="css/material-design-iconic-font.min.css">
  20. <link rel="stylesheet" href="css/font-awesome.min.css">
  21. <!-- Roboto font-->
  22. <link href='http://fonts.googleapis.com/css?family=Roboto:500,300,400' rel='stylesheet' type='text/css'>
  23. <!-- Specific CSS -->
  24. <link rel = "stylesheet" href = "css/main.css">
  25. <script type = "text/javascript" src = "https://code.jquery.com/jquery-1.11.3.min.js"></script>
  26. <script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>
  27. <script type = "text/javascript" src = "js/proj4js/dist/proj4.js"></script>
  28. <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
  29. <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
  30. <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.min.js"></script>
  31. <!-- Angular Material Dependencies -->
  32. <script type = "text/javascript" src = "http://cdn.jsdelivr.net/hammerjs/2.0.4/hammer.js"></script>
  33. <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js"></script>
  34. <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-animate.js"></script>
  35. <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-aria.js"></script>
  36. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/skrollr/0.6.29/skrollr.min.js"></script>
  37. <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
  38. <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
  39. <script src="js/typeahead.js"></script>
  40. <!-- Angular Material Javascript using RawGit to load directly from `bower-material/master` -->
  41. <script type = "text/javascript" src = "js/angular-material.js"></script>
  42. <script type = "text/javascript" src = "js/angular-adaptive-detection.js"></script>
  43. <script type = "text/javascript" src = "js/app.js"></script>
  44. </head>
  45. <!--[If lte IE 9]>
  46. <div class = "ie-compatibility">
  47. Votre navigateur Internet Explorer n'est pas compatible avec notre logiciel, il vous faut au minimum Internet Explorer 10.<br><br>
  48. Vous pouvez aussi télécharger un de ces navigateurs:<br><br>
  49. - <a href="https://www.google.fr/intl/fr/chrome/" target = "_blank">Google Chrome</a><br>
  50. - <a href="http://www.mozilla.org/download" target = "_blank">Mozilla Firefox</a>
  51. </div>
  52. <![endif]-->
  53. <body ng-controller = "mainController">
  54. <div class = "title">
  55. <div
  56. class = "data-loading"
  57. ng-if = "!loaded">
  58. <md-progress-circular
  59. class = "md-warn md-hue-3"
  60. md-mode = "indeterminate"
  61. md-diameter = "25">
  62. </md-progress-circular>
  63. <div class = "data-loading-txt">
  64. Téléchargement des données...
  65. </div>
  66. </div>
  67. <img
  68. src = "img/logo.png"
  69. ng-if = "loaded"
  70. ng-click = "toggleResultPane()"/>
  71. </div>
  72. <div class = "address-bar">
  73. <div class = "input-type">
  74. <input
  75. type = "text"
  76. placeholder = "Pour tester votre éligibilité, merci de saisir une adresse"
  77. ng-model = "address"
  78. ng-focus = "closeRight()"
  79. class = "typeahead"
  80. options = "typeAheadOpts"
  81. datasets = "allAdresses"
  82. typeahead-on-select = "onSubmitAddress($item, $model, $label)"
  83. uib-typeahead = "address for address in suggestLocation($viewValue)"
  84. typeahead-loading = "loadingLocations"
  85. typeahead-no-results = "noResults"
  86. autofocus/>
  87. <div
  88. ng-show = "loadingLocations"
  89. class = "loading-typeahead-results">
  90. <i
  91. class = "glyphicon glyphicon-refresh">
  92. </i>
  93. Recherche en cours...
  94. </div>
  95. <div
  96. ng-show = "noResults"
  97. class = "no-typeahead-results">
  98. <i class = "glyphicon glyphicon-remove"></i>
  99. Aucun résultat trouvé!
  100. </div>
  101. </div>
  102. <md-button
  103. aria-label = "submit"
  104. ng-click = "suggestionsReady && onSubmitAddress()"
  105. class = "md-raised md-primary">
  106. <i class = "md-search md-2x"></i>
  107. </md-button>
  108. <i class = "md-menu md-2x" ng-click = "toggleRight()"></i>
  109. </div>
  110. <md-sidenav class="md-sidenav-right md-whiteframe-z2" md-component-id="right">
  111. <md-toolbar class="md-theme-light">
  112. <h1 class="md-toolbar-tools">Options</h1>
  113. <md-progress-circular
  114. id = "layer-loading"
  115. class = "md-warn md-hue-3 force-hidden"
  116. md-mode = "indeterminate"
  117. md-diameter = "25">
  118. </md-progress-circular>
  119. </md-toolbar>
  120. <md-content class="md-padding">
  121. <div class = "section-title">
  122. Type de vue
  123. </div>
  124. <md-radio-group ng-model="mapType">
  125. <md-radio-button
  126. value = "Satellite"
  127. ng-click = "changeMap('satellite')"
  128. aria-label = "Satellite">Satellite
  129. </md-radio-button>
  130. <br/>
  131. <md-radio-button
  132. value = "Carte"
  133. ng-click = "changeMap('carte')"
  134. aria-label = "Carte">Carte
  135. </md-radio-button>
  136. </md-radio-group>
  137. <br/>
  138. <br/>
  139. <div class = "section-title">
  140. Montrer les zones de découpages
  141. </div>
  142. <md-checkbox ng-model="view.ftth" aria-label="Fibre optique">Fibre optique</md-checkbox>
  143. <br/>
  144. <md-checkbox ng-model="view.mimo" aria-label="Réseau Mimo">Réseau Mimo</md-checkbox>
  145. <br/>
  146. <md-checkbox ng-model="view.adsl" aria-label="ADSL">ADSL</md-checkbox>
  147. </md-content>
  148. </md-sidenav>
  149. <div id="map"></div>
  150. <div id="result">
  151. <div
  152. layout = "row"
  153. layout-margin
  154. class = "result-container">
  155. <div
  156. flex
  157. flex-order = "1"
  158. class = "result-box">
  159. <div class = "box-header">
  160. <div class = "box-logo">
  161. <img src = "img/fibre.png"/>
  162. </div>
  163. <div class = "box-title-description">
  164. <div class = "box-title">
  165. Fibre optique (FTTH)
  166. </div>
  167. <div class = "box-desc">
  168. Le Ftth (Fiber To The Home) “signifie la fibre optique jusqu'à l'abonné”. Cette technologie présente des atouts majeurs (un débit très fortement augmenté - de l’ordre de 100 Mbit/s - et symétrique) et ouvre des possibilités nouvelles en termes d 'usages numériques.
  169. <a
  170. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/Internet-a-tres-haut-debit#ancre_contenu"
  171. target = "_blank">
  172. En savoir plus
  173. </a>
  174. </div>
  175. </div>
  176. </div>
  177. <div
  178. class = "box-body box-body-ftth"
  179. ng-style = "{'border-color': colors.ftth}">
  180. <hr>
  181. <div
  182. class = "box-eligibilite-title"
  183. ng-if = "results.ftth !== undefined && results.ftth.date !== true">
  184. éligibilité au pré-raccordement
  185. <span>
  186. <span
  187. ng-if = "results.ftth.date && isInscriptionOpen()"
  188. class = "box-eligibilite-yes">
  189. OUI
  190. </span>
  191. <span
  192. ng-if = "!results.ftth.date || !isInscriptionOpen()"
  193. class = "box-eligibilite-no">
  194. NON
  195. </span>
  196. <div
  197. ng-if = "results.ftth.date && isInscriptionOpen()"
  198. style = "text-align: center; margin-top: 14px;">
  199. <button
  200. type = "button"
  201. class = "btn btn-primary btn-lg"
  202. data-toggle = "modal"
  203. data-backdrop = "static"
  204. data-keyboard = "false"
  205. ng-click = "initPopup()"
  206. data-target = "#mn_inscription">
  207. Inscription
  208. </button>
  209. </div>
  210. </span>
  211. </div>
  212. <div class = "box-eligibilite">
  213. <div
  214. ng-if = "results.ftth !== undefined">
  215. <div
  216. ng-if = "results.ftth && results.ftth.date !== true"
  217. style = "margin-top: 30px;"
  218. ng-bind-html = "formatDateFTTH(results.ftth.date)">
  219. </div>
  220. <div
  221. ng-if = "results.ftth.date === true"
  222. style = "text-align: center; font-weight: bold;">
  223. <i
  224. class = "fa fa-check-circle"
  225. style = "font-size: 45px; color: #1fa67a">
  226. </i>
  227. <br>
  228. Vous êtes situé dans une zone éligible à la fibre optique.<br>
  229. Si vous souhaitez souscrire à une offre très haut débit merci de contacter:<br>
  230. <table style = "width: 100%;">
  231. <tr>
  232. <td style = "text-align: center;">
  233. <a
  234. href = "https://boutique.orange.fr/internet/offres-fibre"
  235. target = "_blank">
  236. <img
  237. src = "img/orange.jpg"
  238. alt = "Orange"
  239. style = "width: 80px;"/>
  240. </a>
  241. </td>
  242. <td>
  243. <a
  244. href = "http://www.sfr.fr/offre-internet/fibre-optique"
  245. target = "_blank">
  246. <img
  247. src = "img/sfr.jpg"
  248. alt = "SFR"
  249. style = "width: 80px;"/>
  250. </a>
  251. </td>
  252. </tr>
  253. </table>
  254. </div>
  255. <div ng-if = "!results.ftth.date">
  256. Déploiement prévu ultérieurement.
  257. </div>
  258. <div
  259. class = "box-description-more"
  260. ng-if = "!results.ftth._advanced"
  261. style = "margin-bottom: 30px;">
  262. <a
  263. href = ""
  264. ng-click = "results.ftth._advanced = true">
  265. + détails
  266. </a>
  267. </div>
  268. <div
  269. ng-if = "results.ftth._advanced"
  270. ng-bind-html = "formatResults('ftth', results.ftth)">
  271. </div>
  272. </div>
  273. <div
  274. ng-if = "results.ftth === undefined"
  275. class = "box-eligibilite-spinner">
  276. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  277. </div>
  278. </div>
  279. </div>
  280. </div>
  281. <div
  282. flex
  283. flex-order = "2"
  284. class = "result-box">
  285. <div class = "box-header">
  286. <div class = "box-logo">
  287. <img src = "img/adsl.png"/>
  288. </div>
  289. <div class = "box-title-description">
  290. <div class = "box-title">
  291. ADSL (téléphone)
  292. </div>
  293. <div class = "box-desc">
  294. L'ADSL est une technologie permettant l'accès à internet haut débit par le biais de la ligne téléphonique, constituée de fils de cuivre. Cette ligne téléphonique relie votre domicile au central téléphonique de France Télécom.
  295. <a
  296. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/Acceder-a-internet-haut-debit-partout-dans-la-Manche"
  297. target = "_blank">
  298. En savoir plus
  299. </a>
  300. </div>
  301. </div>
  302. </div>
  303. <div
  304. class = "box-body box-body-adsl"
  305. ng-style = "{'border-color': colors.adsl}">
  306. <div class = "box-description-more">
  307. </div>
  308. <hr>
  309. <div
  310. class = "box-eligibilite-title"
  311. ng-if = "results.adsl !== undefined">
  312. éligibilité
  313. <span>
  314. <span
  315. ng-if = "results.adsl && results.adsl.LEGENDE !== 'Non eligible'"
  316. class = "box-eligibilite-yes">
  317. OUI
  318. </span>
  319. <span
  320. ng-if = "!results.adsl || results.adsl.LEGENDE === 'Non eligible'"
  321. class = "box-eligibilite-no">
  322. NON
  323. </span>
  324. </span>
  325. </div>
  326. <div class = "box-eligibilite">
  327. <div
  328. ng-if = "results.adsl !== undefined">
  329. <div
  330. class = "popup-line"
  331. ng-if = "!results.adsl._advanced && results.adsl.LEGENDE && results.adsl.LEGENDE !== 'Non eligible'">
  332. <span class="popup-title">{{results.adsl.LEGENDE}}</span>
  333. </div>
  334. <div
  335. class = "box-description-more"
  336. ng-if = "!results.adsl._advanced"
  337. style = "margin-bottom: 30px;">
  338. <a
  339. href = ""
  340. ng-click = "results.adsl._advanced = true">
  341. + détails
  342. </a>
  343. </div>
  344. <div
  345. ng-if = "results.adsl._advanced"
  346. ng-bind-html = "formatResults('adsl', results.adsl)">
  347. </div>
  348. </div>
  349. <div
  350. ng-if = "results.adsl === undefined"
  351. class = "box-eligibilite-spinner">
  352. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  353. </div>
  354. </div>
  355. </div>
  356. </div>
  357. <div
  358. flex
  359. flex-order = "3"
  360. class = "result-box">
  361. <div class = "box-header">
  362. <div class = "box-logo">
  363. <img src = "img/mimo.png"/>
  364. </div>
  365. <div class = "box-title-description">
  366. <div class = "box-title">
  367. Réseau MiMo
  368. </div>
  369. <div class = "box-desc">
  370. Cette technologie hertzienne, déployée par Manche Numérique, permet de desservir les zones non-éligibles à I'ADSL dites "zones blanches" et les zones qui seront déployées ultérieurement par la fibre optique. Le MiMo permet un accès à internet et à un service de téléphonie. Cette technologie offre des débits de l'ordre de 10 Mbit/s descendants et de 3 Mbit/s montants.
  371. <a
  372. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/MiMo"
  373. target = "_blank">
  374. En savoir plus
  375. </a>
  376. </div>
  377. </div>
  378. </div>
  379. <div
  380. class = "box-body box-body-mimo"
  381. ng-style = "{'border-color': colors.mimo}">
  382. <hr>
  383. <div
  384. class = "box-eligibilite-title"
  385. ng-if = "results.mimo !== undefined">
  386. éligibilité
  387. <span>
  388. <span
  389. ng-if = "results.mimo"
  390. class = "box-eligibilite-yes">
  391. OUI
  392. </span>
  393. <span
  394. ng-if = "!results.mimo"
  395. class = "box-eligibilite-no">
  396. NON
  397. </span>
  398. </span>
  399. </div>
  400. <div class = "box-eligibilite">
  401. <div
  402. ng-if = "results.mimo">
  403. <p class="bg-warning">Votre éligibilité à la technologie MiMo est théorique. Seul le passage d'un antenniste pourra confirmer votre niveau de signal.</p>
  404. <div>
  405. Vous pouvez souscrire à une offre d'accès internet auprès de ce FAI:
  406. <p class="bg-info">
  407. <a
  408. href = "https://www.ozone.net/"
  409. target = "_blank">
  410. Ozone.net
  411. </a>
  412. <br/>
  413. <i class ="fa fa-phone"></i>
  414. 0 973 01 1000
  415. </p>
  416. </div>
  417. <div
  418. class = "box-description-more"
  419. ng-if = "!results.mimo._advanced"
  420. style = "margin-bottom: 30px;">
  421. <a
  422. href = ""
  423. ng-click = "results.mimo._advanced = true">
  424. + détails
  425. </a>
  426. </div>
  427. <div
  428. ng-if = "results.mimo_advanced"
  429. ng-bind-html = "formatResults('mimo', results.mimo)">
  430. </div>
  431. </div>
  432. <div
  433. ng-if = "(!results.ftth.date || !isInscriptionOpen()) && (!results.adsl || results.adsl.LEGENDE === 'Non eligible') && !results.mimo && results.mimo !== undefined">
  434. <p class="bg-warning">Nous vous invitons à contacter les services de <a href="http://www.manchenumerique.fr" >Manche Numérique</a> qui vous indiqueront la procédure pour une connecion internet par satellite et bénéficier d'une prise en charge de l'installation du kit satellitaire par un antenniste.</p>
  435. </div>
  436. <div
  437. ng-if = "results.mimo === undefined"
  438. class = "box-eligibilite-spinner">
  439. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  440. </div>
  441. </div>
  442. </div>
  443. </div>
  444. </div>
  445. </div>
  446. <!-- Modal -->
  447. <div
  448. class = "modal fade"
  449. id = "mn_inscription"
  450. tabindex = "-1"
  451. role = "dialog"
  452. backdrop = "static"
  453. aria-labelledby = "mn_inscriptionLabel">
  454. <div
  455. class = "modal-dialog"
  456. role = "document">
  457. <div class = "modal-content">
  458. <div class = "modal-header">
  459. <button
  460. type = "button"
  461. class = "close"
  462. data-dismiss = "modal"
  463. aria-label = "Close">
  464. <span aria-hidden = "true">&times;</span>
  465. </button>
  466. <h4
  467. class = "modal-title"
  468. id = "mn_inscriptionLabel">
  469. FORMULAIRE DE DEMANDE DE PRÉ-RACCORDEMENT À LA FIBRE OPTIQUE
  470. </h4>
  471. </div>
  472. <div class = "modal-body">
  473. <div ng-if = "!postForm">
  474. Vous souhaitez être pré-raccordé au réseau de fibre optique, nous vous remercions de bien vouloir compléter ce formulaire. Après vérification de votre demande, Manche Numérique se chargera de transmettre votre demande ainsi que vos coordonnées à l’entreprise en charge des travaux de pré-raccordement pour une prise de rendez-vous.
  475. </div>
  476. <div
  477. class = "mn-form"
  478. ng-if = "!postForm"
  479. ng-include = "'./html/form.html'">
  480. </div>
  481. <div
  482. class = "mn-form-in-progress"
  483. ng-if = "postForm.inProgress">
  484. <i class="fa fa-circle-o-notch fa-spin"></i>
  485. <br/>
  486. Enregistrement en cours...
  487. </div>
  488. <div
  489. class = "mn-form-error"
  490. ng-if = "postForm.error">
  491. <i class="fa fa-exclamation-circle"></i>
  492. <br/>
  493. Error: {{postForm.error}}
  494. </div>
  495. <div
  496. class = "mn-form-ok"
  497. ng-if = "postForm.ok">
  498. <i class="fa fa-check-circle-o"></i>
  499. <br/>
  500. Votre demande a bien été prise en compte. Un mail de confirmation vous a été envoyé.
  501. </div>
  502. </div>
  503. <div class = "modal-footer">
  504. <button
  505. type = "button"
  506. class = "btn btn-default"
  507. data-dismiss = "modal">
  508. Fermer
  509. </button>
  510. <button
  511. type = "button"
  512. ng-if = "!postForm"
  513. ng-click = "ready = true; isFormValid() ? postFormEl() : null"
  514. class = "btn btn-primary">
  515. Valider
  516. </button>
  517. </div>
  518. </div>
  519. </div>
  520. </div>
  521. </body>
  522. </html>