index.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  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. <img
  56. src = "img/logo.png"
  57. ng-click = "toggleResultPane()"/>
  58. </div>
  59. <div class = "address-bar">
  60. <div class = "input-type">
  61. <input
  62. type = "text"
  63. placeholder = "Pour tester votre éligibilité, merci de saisir une adresse"
  64. ng-model = "address"
  65. ng-focus = "closeRight()"
  66. class = "typeahead"
  67. options = "typeAheadOpts"
  68. datasets = "allAdresses"
  69. typeahead-on-select = "onSubmitAddress($item, $model, $label)"
  70. uib-typeahead = "address for address in suggestLocation($viewValue)"
  71. typeahead-loading = "loadingLocations"
  72. typeahead-no-results = "noResults"
  73. autofocus/>
  74. <div
  75. ng-show = "loadingLocations"
  76. class = "loading-typeahead-results">
  77. <i
  78. class = "glyphicon glyphicon-refresh">
  79. </i>
  80. Recherche en cours...
  81. </div>
  82. <div
  83. ng-show = "noResults"
  84. class = "no-typeahead-results">
  85. <i class = "glyphicon glyphicon-remove"></i>
  86. Aucun résultat trouvé!
  87. </div>
  88. </div>
  89. <md-button
  90. aria-label = "submit"
  91. ng-click = "suggestionsReady && onSubmitAddress()"
  92. class = "md-raised md-primary">
  93. <i class = "md-search md-2x"></i>
  94. </md-button>
  95. <i class = "md-menu md-2x" ng-click = "toggleRight()"></i>
  96. </div>
  97. <md-sidenav class="md-sidenav-right md-whiteframe-z2" md-component-id="right">
  98. <md-toolbar class="md-theme-light">
  99. <h1 class="md-toolbar-tools">Options</h1>
  100. <md-progress-circular
  101. id = "layer-loading"
  102. class = "md-warn md-hue-3 force-hidden"
  103. md-mode = "indeterminate"
  104. md-diameter = "25">
  105. </md-progress-circular>
  106. </md-toolbar>
  107. <md-content class="md-padding">
  108. <div class = "section-title">
  109. Type de vue
  110. </div>
  111. <md-radio-group ng-model="mapType">
  112. <md-radio-button
  113. value = "Satellite"
  114. ng-click = "changeMap('satellite')"
  115. aria-label = "Satellite">Satellite
  116. </md-radio-button>
  117. <br/>
  118. <md-radio-button
  119. value = "Carte"
  120. ng-click = "changeMap('carte')"
  121. aria-label = "Carte">Carte
  122. </md-radio-button>
  123. </md-radio-group>
  124. </md-content>
  125. </md-sidenav>
  126. <div id="map"></div>
  127. <div id="result">
  128. <div
  129. class = "result-container"
  130. layout = "row"
  131. layout-margin>
  132. <div
  133. flex
  134. flex-order = "1"
  135. class = "result-box">
  136. <div class = "box-header">
  137. <div class = "box-logo">
  138. <img src = "img/fibre.png"/>
  139. </div>
  140. <div class = "box-title-description">
  141. <div class = "box-title">
  142. Fibre optique (FTTH)
  143. </div>
  144. <div class = "box-desc">
  145. 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.
  146. <a
  147. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/Internet-a-tres-haut-debit#ancre_contenu"
  148. target = "_blank">
  149. En savoir plus
  150. </a>
  151. </div>
  152. </div>
  153. </div>
  154. <div
  155. class = "box-body box-body-ftth"
  156. ng-style = "{'border-color': colors.ftth}">
  157. <hr>
  158. <div
  159. class = "box-eligibilite-title"
  160. ng-if = "results.ftth !== undefined && results.ftth.date !== true">
  161. éligibilité au pré-raccordement
  162. <span ng-init = "refreshInscriptionInfo()">
  163. <span
  164. ng-if = "inscription.open"
  165. class = "box-eligibilite-yes">
  166. OUI
  167. </span>
  168. <span
  169. ng-if = "!inscription.open"
  170. class = "box-eligibilite-no">
  171. NON
  172. </span>
  173. <div
  174. ng-if = "results.ftth.date && inscription.open"
  175. style = "text-align: center; margin-top: 14px;">
  176. <button
  177. type = "button"
  178. class = "btn btn-primary btn-lg"
  179. data-toggle = "modal"
  180. data-backdrop = "static"
  181. data-keyboard = "false"
  182. ng-click = "initPopup()"
  183. data-target = "#mn_inscription">
  184. Inscription
  185. </button>
  186. </div>
  187. </span>
  188. </div>
  189. <div class = "box-eligibilite">
  190. <div
  191. ng-if = "results.ftth !== undefined">
  192. <div
  193. ng-if = "results.ftth && results.ftth.date !== true"
  194. style = "margin-top: 30px;"
  195. ng-bind-html = "formatDateFTTH(results.ftth.date)">
  196. </div>
  197. <div
  198. ng-if = "results.ftth.eligible"
  199. style = "text-align: center; font-weight: bold;">
  200. <i
  201. class = "fa fa-check-circle"
  202. style = "font-size: 45px; color: #1fa67a">
  203. </i>
  204. <br>
  205. Vous êtes situé dans une zone éligible à la fibre optique.<br>
  206. Si vous souhaitez souscrire à une offre très haut débit merci de contacter:<br>
  207. <table style = "width: 100%;">
  208. <tr>
  209. <td style = "text-align: center;">
  210. <a
  211. href = "https://boutique.orange.fr/internet/offres-fibre"
  212. target = "_blank">
  213. <img
  214. src = "img/orange.jpg"
  215. alt = "Orange"
  216. style = "width: 80px;"/>
  217. </a>
  218. </td>
  219. <td>
  220. <a
  221. href = "http://www.sfr.fr/offre-internet/fibre-optique"
  222. target = "_blank">
  223. <img
  224. src = "img/sfr.jpg"
  225. alt = "SFR"
  226. style = "width: 80px;"/>
  227. </a>
  228. </td>
  229. </tr>
  230. </table>
  231. </div>
  232. <div ng-if = "inscription.message">
  233. {{inscription.message}}
  234. <div ng-if = "inscription.cas === 4">
  235. <table style="width:100%;">
  236. <tr>
  237. <td style="width:33%;text-align:center;">
  238. <a href = "http://www.comcable.fr" target="_blank">
  239. <img style="width:100%;" src="./img/comcable.png"/>
  240. </a>
  241. </td>
  242. <td style="width:33%;text-align:center;">
  243. <a href = "http://www.k-net.fr" target="_blank">
  244. <img style="width:100%;" src="./img/knet.png"/>
  245. </a>
  246. </td>
  247. <td style="width:33%;text-align:center;">
  248. <a href = "http://www.ozone.net" target="_blank">
  249. <img style="width:100%;" src="./img/ozone.png"/>
  250. </a>
  251. </td>
  252. </tr>
  253. <tr>
  254. <td style="width:33%;text-align:center;">
  255. <a href = "http://www.wibox.fr" target="_blank">
  256. <img style="width:110%;" src="./img/wibox.png"/>
  257. </a>
  258. </td>
  259. <td style="width:33%;text-align:center;">
  260. <a href = "http://www.lafibrevideofutur.fr/" target="_blank">
  261. <img style="width:80%;" src="./img/videofutur.png"/>
  262. </a>
  263. </td>
  264. <td style="width:33%;text-align:center;">
  265. <a href = "https://www.coriolis.com/forfait-internet/fibre" target="_blank">
  266. <img style="width:80%;" src="./img/coriolis.png"/>
  267. </a>
  268. </td>
  269. </tr>
  270. </table>
  271. </div>
  272. </div>
  273. <div
  274. class = "box-description-more"
  275. ng-if = "!results.ftth._advanced"
  276. style = "margin-bottom: 30px;">
  277. <a
  278. href = ""
  279. ng-click = "results.ftth._advanced = true">
  280. + détails
  281. </a>
  282. </div>
  283. <div
  284. ng-if = "results.ftth._advanced"
  285. ng-bind-html = "formatResults('ftth', results.ftth)">
  286. </div>
  287. </div>
  288. <div
  289. ng-if = "results.ftth === undefined"
  290. class = "box-eligibilite-spinner">
  291. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  292. </div>
  293. </div>
  294. </div>
  295. </div>
  296. <div
  297. flex
  298. flex-order = "2"
  299. class = "result-box">
  300. <div class = "box-header">
  301. <div class = "box-logo">
  302. <img src = "img/adsl.png"/>
  303. </div>
  304. <div class = "box-title-description">
  305. <div class = "box-title">
  306. ADSL (téléphone)
  307. </div>
  308. <div class = "box-desc">
  309. 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.
  310. <a
  311. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/Acceder-a-internet-haut-debit-partout-dans-la-Manche"
  312. target = "_blank">
  313. En savoir plus
  314. </a>
  315. </div>
  316. </div>
  317. </div>
  318. <div
  319. class = "box-body box-body-adsl"
  320. ng-style = "{'border-color': colors.adsl}">
  321. <div class = "box-description-more">
  322. </div>
  323. <hr>
  324. <div
  325. class = "box-eligibilite-title"
  326. ng-if = "results.adsl !== undefined">
  327. éligibilité
  328. <span>
  329. <span
  330. ng-if = "results.adsl && results.adsl.LEGENDE !== 'Non eligible'"
  331. class = "box-eligibilite-yes">
  332. OUI
  333. </span>
  334. <span
  335. ng-if = "!results.adsl || results.adsl.LEGENDE === 'Non eligible'"
  336. class = "box-eligibilite-no">
  337. NON
  338. </span>
  339. </span>
  340. </div>
  341. <div class = "box-eligibilite">
  342. <div
  343. ng-if = "results.adsl !== undefined">
  344. <div
  345. class = "popup-line"
  346. ng-if = "!results.adsl._advanced && results.adsl.CLASSEDEBI && results.adsl.CLASSEDEBI !== 'Non eligible'">
  347. <span class="popup-title">
  348. <span
  349. ng-if = "results.adsl.CLASSEDEBI === '0'">
  350. Non éligible
  351. </span>
  352. <span
  353. ng-if = "results.adsl.CLASSEDEBI === '1'">
  354. ADSL < 3 Mbit/s
  355. </span>
  356. <span
  357. ng-if = "results.adsl.CLASSEDEBI === '2'">
  358. ADSL 3 à 8 Mbit/s
  359. </span>
  360. <span
  361. ng-if = "results.adsl.CLASSEDEBI === '3'">
  362. ADSL 8 à 30 Mbit/s
  363. </span>
  364. <span
  365. ng-if = "results.adsl.CLASSEDEBI === '4'">
  366. ADSL 30 à 100 Mbit/s
  367. </span>
  368. </span>
  369. </div>
  370. <div
  371. class = "box-description-more"
  372. ng-if = "!results.adsl._advanced"
  373. style = "margin-bottom: 30px;">
  374. <a
  375. href = ""
  376. ng-click = "results.adsl._advanced = true">
  377. + détails
  378. </a>
  379. </div>
  380. <div
  381. ng-if = "results.adsl._advanced"
  382. ng-bind-html = "formatResults('adsl', results.adsl)">
  383. </div>
  384. </div>
  385. <div
  386. ng-if = "results.adsl === undefined"
  387. class = "box-eligibilite-spinner">
  388. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  389. </div>
  390. </div>
  391. </div>
  392. </div>
  393. <div
  394. flex
  395. flex-order = "3"
  396. class = "result-box">
  397. <div class = "box-header">
  398. <div class = "box-logo">
  399. <img src = "img/mimo.png"/>
  400. </div>
  401. <div class = "box-title-description">
  402. <div class = "box-title">
  403. Réseau MiMo
  404. </div>
  405. <div class = "box-desc">
  406. 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.
  407. <a
  408. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/MiMo"
  409. target = "_blank">
  410. En savoir plus
  411. </a>
  412. </div>
  413. </div>
  414. </div>
  415. <div
  416. class = "box-body box-body-mimo"
  417. ng-style = "{'border-color': colors.mimo}">
  418. <hr>
  419. <div
  420. class = "box-eligibilite-title"
  421. ng-if = "results.mimo !== undefined">
  422. éligibilité
  423. <span>
  424. <span
  425. ng-if = "results.mimo"
  426. class = "box-eligibilite-yes">
  427. OUI
  428. </span>
  429. <span
  430. ng-if = "!results.mimo"
  431. class = "box-eligibilite-no">
  432. NON
  433. </span>
  434. </span>
  435. </div>
  436. <div class = "box-eligibilite">
  437. <div
  438. ng-if = "results.mimo">
  439. <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>
  440. <div>
  441. Vous pouvez souscrire à une offre d'accès internet auprès de ce FAI:
  442. <p class="bg-info">
  443. <a
  444. href = "https://www.ozone.net/"
  445. target = "_blank">
  446. Ozone.net
  447. </a>
  448. <br/>
  449. <i class ="fa fa-phone"></i>
  450. 0 973 01 1000
  451. </p>
  452. </div>
  453. <div
  454. class = "box-description-more"
  455. ng-if = "!results.mimo._advanced"
  456. style = "margin-bottom: 30px;">
  457. <a
  458. href = ""
  459. ng-click = "results.mimo._advanced = true">
  460. + détails
  461. </a>
  462. </div>
  463. <div
  464. ng-if = "results.mimo_advanced"
  465. ng-bind-html = "formatResults('mimo', results.mimo)">
  466. </div>
  467. </div>
  468. <div
  469. ng-init = "refreshInscriptionInfo()"
  470. ng-if = "(!results.ftth.date || !inscription.open) && (!results.adsl || results.adsl.LEGENDE === 'Non eligible') && !results.mimo && results.mimo !== undefined">
  471. <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>
  472. </div>
  473. <div
  474. ng-if = "results.mimo === undefined"
  475. class = "box-eligibilite-spinner">
  476. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  477. </div>
  478. </div>
  479. </div>
  480. </div>
  481. </div>
  482. </div>
  483. <!-- Modal -->
  484. <div
  485. class = "modal fade"
  486. id = "mn_inscription"
  487. tabindex = "-1"
  488. role = "dialog"
  489. backdrop = "static"
  490. aria-labelledby = "mn_inscriptionLabel">
  491. <div
  492. class = "modal-dialog"
  493. role = "document">
  494. <div class = "modal-content">
  495. <div class = "modal-header">
  496. <button
  497. type = "button"
  498. class = "close"
  499. data-dismiss = "modal"
  500. aria-label = "Close">
  501. <span aria-hidden = "true">&times;</span>
  502. </button>
  503. <h4
  504. class = "modal-title"
  505. id = "mn_inscriptionLabel">
  506. FORMULAIRE DE DEMANDE DE PRÉ-RACCORDEMENT À LA FIBRE OPTIQUE
  507. </h4>
  508. </div>
  509. <div class = "modal-body">
  510. <div ng-if = "!postForm">
  511. 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.
  512. </div>
  513. <div
  514. class = "mn-form"
  515. ng-if = "!postForm"
  516. ng-include = "'./html/form.html'">
  517. </div>
  518. <div
  519. class = "mn-form-in-progress"
  520. ng-if = "postForm.inProgress">
  521. <i class="fa fa-circle-o-notch fa-spin"></i>
  522. <br/>
  523. Enregistrement en cours...
  524. </div>
  525. <div
  526. class = "mn-form-error"
  527. ng-if = "postForm.error">
  528. <i class="fa fa-exclamation-circle"></i>
  529. <br/>
  530. Error: {{postForm.error}}
  531. </div>
  532. <div
  533. class = "mn-form-ok"
  534. ng-if = "postForm.ok">
  535. <i class="fa fa-check-circle-o"></i>
  536. <br/>
  537. Votre demande a bien été prise en compte. Un mail de confirmation vous a été envoyé.
  538. </div>
  539. </div>
  540. <div class = "modal-footer">
  541. <button
  542. type = "button"
  543. class = "btn btn-default"
  544. data-dismiss = "modal">
  545. Fermer
  546. </button>
  547. <button
  548. type = "button"
  549. ng-if = "!postForm"
  550. ng-click = "ready = true; isFormValid() ? postFormEl() : null"
  551. class = "btn btn-primary">
  552. Valider
  553. </button>
  554. </div>
  555. </div>
  556. </div>
  557. </div>
  558. </body>
  559. </html>