diff --git a/app/assets/fonts/Muli-Bold.woff b/app/assets/fonts/Muli-Bold.woff new file mode 100644 index 000000000..fc7a6fa82 Binary files /dev/null and b/app/assets/fonts/Muli-Bold.woff differ diff --git a/app/assets/fonts/Muli-Regular.woff b/app/assets/fonts/Muli-Regular.woff new file mode 100644 index 000000000..f61ecf832 Binary files /dev/null and b/app/assets/fonts/Muli-Regular.woff differ diff --git a/app/assets/images/etapes/complet_2.png b/app/assets/images/etapes/complet_2.png deleted file mode 100644 index 148292409..000000000 Binary files a/app/assets/images/etapes/complet_2.png and /dev/null differ diff --git a/app/assets/images/etapes/create_1.png b/app/assets/images/etapes/create_1.png deleted file mode 100644 index cbc61e88e..000000000 Binary files a/app/assets/images/etapes/create_1.png and /dev/null differ diff --git a/app/assets/images/etapes/message_3.png b/app/assets/images/etapes/message_3.png deleted file mode 100644 index fa0cdbeb1..000000000 Binary files a/app/assets/images/etapes/message_3.png and /dev/null differ diff --git a/app/assets/images/etapes/shared_4.png b/app/assets/images/etapes/shared_4.png deleted file mode 100644 index 6fcdee938..000000000 Binary files a/app/assets/images/etapes/shared_4.png and /dev/null differ diff --git a/app/assets/images/footer/logo-beta-gouv-fr.svg b/app/assets/images/footer/logo-beta-gouv-fr.svg new file mode 100644 index 000000000..b393c3d34 --- /dev/null +++ b/app/assets/images/footer/logo-beta-gouv-fr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/footer/logo-rf.svg b/app/assets/images/footer/logo-rf.svg new file mode 100644 index 000000000..283fe4c57 --- /dev/null +++ b/app/assets/images/footer/logo-rf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/header/logo-tps.svg b/app/assets/images/header/logo-tps.svg new file mode 100644 index 000000000..fe6557db5 --- /dev/null +++ b/app/assets/images/header/logo-tps.svg @@ -0,0 +1 @@ +C03A1FFC-B3DD-48D2-8111-A47EEA63E68F \ No newline at end of file diff --git a/app/assets/images/landing/features/collaborer.svg b/app/assets/images/landing/features/collaborer.svg new file mode 100755 index 000000000..f5fe6cf85 --- /dev/null +++ b/app/assets/images/landing/features/collaborer.svg @@ -0,0 +1 @@ +08D2E231-4C84-4B79-AC9D-982A43B5F62D \ No newline at end of file diff --git a/app/assets/images/landing/features/creer.svg b/app/assets/images/landing/features/creer.svg new file mode 100755 index 000000000..fc7082a93 --- /dev/null +++ b/app/assets/images/landing/features/creer.svg @@ -0,0 +1 @@ +BB9A4BB9-1A5D-4E79-92B9-D2AF8B16FCF3 \ No newline at end of file diff --git a/app/assets/images/landing/features/gerer.svg b/app/assets/images/landing/features/gerer.svg new file mode 100755 index 000000000..6372bf120 --- /dev/null +++ b/app/assets/images/landing/features/gerer.svg @@ -0,0 +1 @@ +48989501-DD47-4082-8A9E-1AFAB7A24CFE \ No newline at end of file diff --git a/app/assets/images/landing/hero/dematerialiser.svg b/app/assets/images/landing/hero/dematerialiser.svg new file mode 100755 index 000000000..8398e066f --- /dev/null +++ b/app/assets/images/landing/hero/dematerialiser.svg @@ -0,0 +1 @@ +0EA652BC-3A4A-4613-BA33-535DF72E7337 \ No newline at end of file diff --git a/app/assets/images/landing/testimonials/quotation-mark.svg b/app/assets/images/landing/testimonials/quotation-mark.svg new file mode 100644 index 000000000..7c49b4e05 --- /dev/null +++ b/app/assets/images/landing/testimonials/quotation-mark.svg @@ -0,0 +1 @@ +Slice \ No newline at end of file diff --git a/app/assets/images/landing/users/cci.jpg b/app/assets/images/landing/users/cci.jpg new file mode 100644 index 000000000..9c4a9e379 Binary files /dev/null and b/app/assets/images/landing/users/cci.jpg differ diff --git a/app/assets/images/landing/users/chambres-de-metiers.jpg b/app/assets/images/landing/users/chambres-de-metiers.jpg new file mode 100644 index 000000000..e7338b04b Binary files /dev/null and b/app/assets/images/landing/users/chambres-de-metiers.jpg differ diff --git a/app/assets/images/landing/users/driea-idf.jpg b/app/assets/images/landing/users/driea-idf.jpg new file mode 100644 index 000000000..df9a361ea Binary files /dev/null and b/app/assets/images/landing/users/driea-idf.jpg differ diff --git a/app/assets/images/landing/users/ministere-environnement.jpg b/app/assets/images/landing/users/ministere-environnement.jpg new file mode 100644 index 000000000..086c252b0 Binary files /dev/null and b/app/assets/images/landing/users/ministere-environnement.jpg differ diff --git a/app/assets/images/landing/users/region-idf.jpg b/app/assets/images/landing/users/region-idf.jpg new file mode 100644 index 000000000..052dcdf7a Binary files /dev/null and b/app/assets/images/landing/users/region-idf.jpg differ diff --git a/app/assets/images/landing_background.png b/app/assets/images/landing_background.png deleted file mode 100644 index 5e4169f67..000000000 Binary files a/app/assets/images/landing_background.png and /dev/null differ diff --git a/app/assets/stylesheets/_colors.scss b/app/assets/stylesheets/_colors.scss new file mode 100644 index 000000000..0d72dde62 --- /dev/null +++ b/app/assets/stylesheets/_colors.scss @@ -0,0 +1,5 @@ +$blue: #4393F3; +$light-blue: rgba(61, 149, 236, 0.8); +$black: #333333; +$grey: #999999; +$light-grey: #F8F8F8; diff --git a/app/assets/stylesheets/_variables.scss b/app/assets/stylesheets/_constants.scss similarity index 55% rename from app/assets/stylesheets/_variables.scss rename to app/assets/stylesheets/_constants.scss index 701b59ca1..1208ef340 100644 --- a/app/assets/stylesheets/_variables.scss +++ b/app/assets/stylesheets/_constants.scss @@ -1,5 +1,7 @@ // colors $light-blue: #F2F6FA; -// Bootstrap variables +// Bootstrap constants $font-size-base: 16px; + +$page-width: 1040px; diff --git a/app/assets/stylesheets/_mixins.scss b/app/assets/stylesheets/_mixins.scss new file mode 100644 index 000000000..6e40c4a78 --- /dev/null +++ b/app/assets/stylesheets/_mixins.scss @@ -0,0 +1,9 @@ +@mixin horizontal-padding($value) { + padding-left: $value; + padding-right: $value; +} + +@mixin vertical-padding($value) { + padding-top: $value; + padding-bottom: $value; +} diff --git a/app/assets/stylesheets/_placeholders.scss b/app/assets/stylesheets/_placeholders.scss new file mode 100644 index 000000000..71870ccec --- /dev/null +++ b/app/assets/stylesheets/_placeholders.scss @@ -0,0 +1,14 @@ +%horizontal-list { + list-style-type: none; + margin: 0; + padding: 0; + font-size: 0px; +} + +%horizontal-list-item { + display: inline-block; + + &:last-of-type { + margin-right: 0; + } +} diff --git a/app/assets/stylesheets/_turbolinks.scss b/app/assets/stylesheets/_turbolinks.scss index 3a6401063..436f0541c 100644 --- a/app/assets/stylesheets/_turbolinks.scss +++ b/app/assets/stylesheets/_turbolinks.scss @@ -1,4 +1,4 @@ -@import "variables"; +@import "constants"; .turbolinks-progress-bar { background-color: $light-blue; diff --git a/app/assets/stylesheets/_typography.scss b/app/assets/stylesheets/_typography.scss new file mode 100644 index 000000000..351aac902 --- /dev/null +++ b/app/assets/stylesheets/_typography.scss @@ -0,0 +1,6 @@ +@import "colors"; + +%new-type { + font-family: "Muli"; + color: $black; +} diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 6e074f1ba..adf15f626 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -22,7 +22,7 @@ // = require select2 // = require select2-bootstrap -@import "variables"; +@import "constants"; @import "bootstrap-sprockets"; @import "bootstrap"; diff --git a/app/assets/stylesheets/default_data_block.scss b/app/assets/stylesheets/default_data_block.scss index 339af02f8..1f37e839f 100644 --- a/app/assets/stylesheets/default_data_block.scss +++ b/app/assets/stylesheets/default_data_block.scss @@ -1,4 +1,4 @@ -@import "variables"; +@import "constants"; .default-data-block { font-family: Arial; diff --git a/app/assets/stylesheets/fonts.scss b/app/assets/stylesheets/fonts.scss new file mode 100644 index 000000000..edc222672 --- /dev/null +++ b/app/assets/stylesheets/fonts.scss @@ -0,0 +1,13 @@ +@font-face { + font-family: "Muli"; + src: asset-url("Muli-Regular.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Muli"; + src: asset-url("Muli-Bold.woff") format("woff"); + font-weight: bold; + font-style: normal; +} diff --git a/app/assets/stylesheets/header.scss b/app/assets/stylesheets/header.scss new file mode 100644 index 000000000..fdc9e81c8 --- /dev/null +++ b/app/assets/stylesheets/header.scss @@ -0,0 +1,53 @@ +@import "constants"; +@import "colors"; +@import "mixins"; +@import "typography"; + +// FIXME: Rename when the header is generalized +.new-header { + @extend %new-type; + height: 72px; + background-color: #FFFFFF; + // FIXME: Delete when the header is generalized + margin-top: -60px; +} + +.header-inner-content { + width: $page-width; + margin: 0 auto; +} + +.header-logo { + margin-top: 17px; +} + +$header-login-button-height: 36px; +$header-login-button-border-size: 1px; + +.header-login-button { + @include horizontal-padding(16px); + + display: inline-block; + height: $header-login-button-height; + line-height: $header-login-button-height - (2 * $header-login-button-border-size); + border-radius: $header-login-button-height; + border: $header-login-button-border-size solid $blue; + color: $blue; + font-size: 14px; + margin-top: 18px; + + &:hover { + color: #FFFFFF; + text-decoration: none; + background-color: $light-blue; + } + + &:focus { + color: $blue; + text-decoration: none; + } + + &:hover:focus { + color: #FFFFFF; + } +} diff --git a/app/assets/stylesheets/landing.scss b/app/assets/stylesheets/landing.scss index de55f5732..26a7e7a83 100644 --- a/app/assets/stylesheets/landing.scss +++ b/app/assets/stylesheets/landing.scss @@ -1,58 +1,238 @@ -#logo-tps { - width: 200px; +@import "constants"; +@import "colors"; +@import "mixins"; +@import "placeholders"; +@import "typography"; + +.landing { + @extend %new-type; + background-color: #FFFFFF; } -#landing { - background-image: image-url("landing_background.png"); - background-attachment: fixed; - background-size: 130% auto; - background-position: top center; - background-repeat: no-repeat; +.landing-panel { + @include vertical-padding(60px); +} - h5 { - color: #808080; - } +.landing-panel-inner-content { + width: $page-width; + margin: 0 auto; +} - .logos { - width: 150px; - } +.hero-tagline { + width: 500px; + font-size: 30px; + margin-bottom: 0px; +} - #title { - padding-bottom: 2%; - padding-top: 1%; +.hero-tagline-em { + color: $blue; + font-size: 36px; + font-style: normal; + font-weight: bold; +} + +.hero-text { + width: 500px; +} + +.hero-illustration { + width: 500px; +} + +.hero-button { + @include horizontal-padding(30px); + + display: inline-block; + height: 60px; + line-height: 60px; + border-radius: 60px; + background-color: $blue; + color: #FFFFFF; + font-size: 24px; + margin-top: 30px; + + &:hover { color: #FFFFFF; - text-shadow: 0px 0px 10px rgb(0, 0, 0); + text-decoration: none; + background-color: $light-blue; + } - h2 { - font-size: 35px; - } - - .btn { - text-shadow: none; - } + &:focus { + color: #FFFFFF; + text-decoration: none; } } -.background-tps { - background-color: #668AEA; +.landing-panel-title { + font-size: 30px; + font-weight: normal; + text-align: center; + margin-bottom: 40px; + margin-top: 0; +} + +.features-panel { + background-color: $blue; +} + +.features-panel-title { color: #FFFFFF; } -#landing-body { - .split-hr-left { - margin-left: auto; - margin-right: auto; +.features { + @extend %horizontal-list; +} - margin-top: 40px; - margin-bottom: 20px; +$feature-width: 320px; +$features-count: 3; - border-color: #808080; - width: 40%; - } +.feature { + @extend %horizontal-list-item; + width: $feature-width; + margin-right: calc((#{$page-width} - (#{$feature-width} * #{$features-count})) / (#{$features-count} - 1)); +} - #etapes, - #request-access { - margin-top: 20px; - margin-bottom: 20px; +.feature-text { + text-align: center; + color: #FFFFFF; + font-size: 20px; +} + +.feature-text-em { + font-weight: bold; + font-style: normal; +} + +.feature-image { + display: block; + margin: 0 auto; + margin-bottom: 24px; +} + +.quotes { + @extend %horizontal-list; +} + +$quote-width: 500px; +$quote-count: 2; + +.quote { + @extend %horizontal-list-item; + width: $quote-width; + margin-right: calc((#{$page-width} - (#{$quote-width} * #{$quote-count}))/ (#{$quote-count} - 1)); + background-color: #FFFFFF; + box-shadow: 0 4px 16px 0 rgba(153, 153, 153, 0.2); + padding: 24px; +} + +.quote-quotation-mark { + margin-top: 12px; +} + +.quote-content { + font-size: 18px; + width: 388px; + margin-bottom: 24px; +} + +.quote-author { + font-size: 14px; + margin-left: 64px; +} + +.quote-author-name { + font-weight: bold; +} + +.numbers-panel { + background-color: $light-grey; +} + +.numbers { + @extend %horizontal-list; +} + +$number-width: 320px; +$number-count: 3; + +.number { + @extend %horizontal-list-item; + width: $number-width; + margin-right: calc((#{$page-width} - (#{$number-width} * #{$number-count}))/ (#{$number-count} - 1)); + text-align: center; +} + +.number-value { + color: $blue; + font-weight: bold; + font-size: 36px; +} + +.number-label { + font-weight: bold; + font-size: 20px; +} + +.users { + @extend %horizontal-list; +} + +$image-width: 170px; +$images-total-width: $image-width * 5; +$images-count: 5; + +.user { + @extend %horizontal-list-item; + margin-right: calc((#{$page-width} - (#{$images-total-width}))/ (#{$images-count} - 1)); + + &:hover { + opacity: 0.6; + } +} + +.user-image { + width: $image-width; +} + +.cta-panel { + background-color: $blue; + color: #FFFFFF; +} + +.cta-panel-title { + font-size: 24px; + font-weight: bold; + margin-top: 0; +} + +.cta-panel-explanation { + font-size: 24px; + margin-bottom: 0; +} + +$cta-panel-button-height: 60px; +$cta-panel-button-border-size: 2px; + +.cta-panel-button { + @include horizontal-padding(30px); + + display: inline-block; + height: $cta-panel-button-height; + line-height: $cta-panel-button-height - (2 * $cta-panel-button-border-size); + border-radius: $cta-panel-button-height; + border: $cta-panel-button-border-size solid #FFFFFF; + color: #FFFFFF; + font-size: 24px; + margin-top: 5px; + + &:hover { + color: #FFFFFF; + text-decoration: none; + background-color: rgba(255, 255, 255, 0.2); + } + + &:focus { + color: #FFFFFF; + text-decoration: none; } } diff --git a/app/assets/stylesheets/navbar.scss b/app/assets/stylesheets/navbar.scss index 612532c27..857b64d8f 100644 --- a/app/assets/stylesheets/navbar.scss +++ b/app/assets/stylesheets/navbar.scss @@ -1,4 +1,4 @@ -@import "variables"; +@import "constants"; #header { top: 0; diff --git a/app/assets/stylesheets/new_footer.scss b/app/assets/stylesheets/new_footer.scss new file mode 100644 index 000000000..ffdaa9e6b --- /dev/null +++ b/app/assets/stylesheets/new_footer.scss @@ -0,0 +1,69 @@ +@import "constants"; +@import "mixins"; +@import "placeholders"; +@import "typography"; + +.footer { + @extend %new-type; + @include vertical-padding(72px); + background-color: $light-grey; +} + +.footer-inner-content { + width: $page-width; + margin: 0 auto; +} + +.footer-columns { + @extend %horizontal-list; +} + +$footer-column-width: 320px; +$footer-column-count: 3; + +.footer-column { + @extend %horizontal-list-item; + width: $footer-column-width; + margin-right: calc((#{$page-width} - (#{$footer-column-width} * #{$footer-column-count})) / (#{$footer-column-count} - 1)); + font-size: 14px; + vertical-align: top; +} + +.footer-logos, +.footer-links { + list-style-type: none; + padding: 0; + margin: 0; +} + +.footer-link { + margin-bottom: 14px; + + &:last-of-type { + margin-bottom: 0; + } +} + +.footer-logo:hover { + opacity: 0.8; +} + +.footer-logo-rf { + width: 75px; + margin-bottom: 14px; +} + +.footer-logo-beta-gouv-fr { + width: 190px; +} + +.footer-link a { + color: $black; + text-decoration: none; + + &:hover, + &:focus { + color: $blue; + text-decoration: none; + } +} diff --git a/app/assets/stylesheets/users.scss b/app/assets/stylesheets/users.scss index 393083a74..08f0c5f10 100644 --- a/app/assets/stylesheets/users.scss +++ b/app/assets/stylesheets/users.scss @@ -1,4 +1,4 @@ -@import "variables"; +@import "constants"; #users-index, #admins-index { diff --git a/app/controllers/root_controller.rb b/app/controllers/root_controller.rb index 61500da6b..ec123d601 100644 --- a/app/controllers/root_controller.rb +++ b/app/controllers/root_controller.rb @@ -39,6 +39,6 @@ class RootController < ApplicationController @demo_environment_host = "https://tps-dev.apientreprise.fr" unless Rails.env.development? - render 'landing' + render 'landing', :layout => 'new_application' end end diff --git a/app/views/layouts/_new_footer.html.haml b/app/views/layouts/_new_footer.html.haml new file mode 100644 index 000000000..806541020 --- /dev/null +++ b/app/views/layouts/_new_footer.html.haml @@ -0,0 +1,35 @@ +.footer + .footer-inner-content + %ul.footer-columns + %li.footer-column + %ul.footer-logos + %li + = link_to image_tag("footer/logo-rf.svg", + :class => "footer-logo footer-logo-rf"), + "http://www.gouvernement.fr/" + %li + = link_to image_tag("footer/logo-beta-gouv-fr.svg", + :class => "footer-logo footer-logo-beta-gouv-fr"), + "https://beta.gouv.fr/" + + %li.footer-column + %ul.footer-links + %li.footer-link + = link_to "SGMAP", "http://www.modernisation.gouv.fr/le-sgmap", :class => "footer-link" + %li.footer-link + = link_to "Nouveautés", "https://github.com/sgmap/tps/releases", :class => "footer-link" + %li.footer-link + = link_to "Statistiques", stats_path, :class => "footer-link" + %li.footer-link + = link_to "Accès ancienne plateforme de test", "https://tps-dev.apientreprise.fr/", :class => "footer-link" + + %li.footer-column + %ul.footer-links + %li.footer-link + = link_to "Contact", + "mailto:#{t('dynamics.contact_email')}", + :class => "footer-link" + %li.footer-link + = link_to "Mentions légales", cgu_path, :class => "footer-link" + %li.footer-link + = link_to "CGU", cgu_path, :class => "footer-link" diff --git a/app/views/layouts/_new_header.haml b/app/views/layouts/_new_header.haml new file mode 100644 index 000000000..1f9049ce7 --- /dev/null +++ b/app/views/layouts/_new_header.haml @@ -0,0 +1,7 @@ +.new-header + .header-inner-content + %img{ src: image_url("header/logo-tps.svg"), class: "header-logo pull-left" } + + = link_to "Connexion", new_user_session_path, :class => "header-login-button pull-right" + + .clear-fix diff --git a/app/views/layouts/new_application.html.haml b/app/views/layouts/new_application.html.haml new file mode 100644 index 000000000..9908098f3 --- /dev/null +++ b/app/views/layouts/new_application.html.haml @@ -0,0 +1,41 @@ +%html + %head + %meta{ "http-equiv" => "Content-Type", :content => "text/html; charset=UTF-8" } + %meta{ "http-equiv" => "X-UA-Compatible", :content => "IE=edge" } + %meta{ :name => "turbolinks-cache-control", :content => "no-cache" } + = csrf_meta_tags + = action_cable_meta_tag + + %title + = t("dynamics.page_title") + + = favicon_link_tag(image_url("favicons/16x16.png"), type: "image/png", sizes: "16x16") + = favicon_link_tag(image_url("favicons/32x32.png"), type: "image/png", sizes: "32x32") + = favicon_link_tag(image_url("favicons/96x96.png"), type: "image/png", sizes: "96x96") + + = stylesheet_link_tag "application", :media => "all", "data-turbolinks-track" => true + = stylesheet_link_tag "print", :media => "print", "data-turbolinks-track" => true + + %body + = render :partial => "layouts/support_navigator_banner" + = render :partial => "layouts/ie_lt_10" + #beta{ class:(Rails.env == "production" ? "" : "beta_staging") } + - if Rails.env == "production" + Beta + - else + Env Test + + = render partial: "layouts/new_header" + = render partial: "layouts/flash_messages" + = yield + + = render :partial => "layouts/switch_devise_profile_module" + = render :partial => "layouts/notifications_alert" + + = render partial: "layouts/new_footer" + = render partial: "layouts/google_analytics" + + = javascript_include_tag "application", "data-turbolinks-track" => true + - if Rails.env == "test" + %script{ :type => "text/javascript" } + (typeof jQuery !== "undefined") && (jQuery.fx.off = true); diff --git a/app/views/root/landing.html.haml b/app/views/root/landing.html.haml index f41400e64..ad9539c42 100644 --- a/app/views/root/landing.html.haml +++ b/app/views/root/landing.html.haml @@ -1,87 +1,134 @@ -#landing.max-size - #title - .center - = image_tag 'logos/logo-tps.png', id: 'logo-tps' - %h1.center - TéléProcédure Simplifiée +.landing + .landing-panel.hero-panel + .landing-panel-inner-content + .hero-text.pull-left + %p.hero-tagline + %em.hero-tagline-em Dématérialisez + %br + vos démarches administratives en quelques minutes - .row - .col-md-8.col-md-push-2.center - %h3 - Dématérialisez n'importe quelle démarche administrative en quelques minutes, - avec un outil - %strong - gratuit, simple, collaboratif et sûr + = link_to "Demander une démo", + "mailto:#{t("dynamics.contact_email")}?subject=Demande de démo TPS", + :class => "hero-button" - %p.mt-1 Vous êtes intéressés ? - %p= link_to 'Programmer une démo', "mailto:#{t('dynamics.contact_email')}?subject=Demande de démo TPS", target: '_blank', class: 'btn btn-danger btn-lg' + .hero-illustration.pull-right + %img{ :src => image_url("landing/hero/dematerialiser.svg") } -#landing-body.max-size - .row#etapes.center - #create_1.col-lg-3.col-md-3.col-sm-3.col-xs-3 - %img{ src: image_url('etapes/create_1.png') } - %br - %h4 Administration - %h3.text-info Je construis ma démarche 100% en ligne - #complet_2.col-lg-3.col-md-3.col-sm-3.col-xs-3 - %img{ src: image_url('etapes/complet_2.png') } - %br - %h4 Usager - %h3.text-success Je remplis un dossier de manière simplifiée - #message_3.col-lg-3.col-md-3.col-sm-3.col-xs-3 - %img{ src: image_url('etapes/message_3.png') } - %br - %h4 Usager - %h3.text-warning Je dialogue avec mon administration en ligne - #shared_4.col-lg-3.col-md-3.col-sm-3.col-xs-3 - %img{ src: image_url('etapes/shared_4.png') } - %br - %h4 Usager et Administrations - %h3.text-danger - J'invite des partenaires à co-construire le dossier + .clearfix - .split-hr-left + .landing-panel.features-panel + .landing-panel-inner-content + %h2.landing-panel-title.features-panel-title Un outil dédié aux organismes publics - .row.demo_account.center - .col-md-4.col-lg-4 - %h3.text-primary Acteurs publics - %h4 Créez des démarches en ligne simplifiées et sécurisées. - = link_to 'Démonstration', "#{@demo_environment_host}/administrateurs/sign_in/demo", { class: 'btn btn-lg btn-primary' } + %ul.features + %li.feature + %img.feature-image{ :src => image_url("landing/features/creer.svg") } + %p.feature-text + %em.feature-text-em Créer + %br + des procédures en ligne + %br + en toute simplicité + %li.feature + %img.feature-image{ :src => image_url("landing/features/gerer.svg") } + %p.feature-text + %em.feature-text-em Gérer + %br + les demandes des usagers
 + %br + sur la plateforme + %li.feature + %img.feature-image{ :src => image_url("landing/features/collaborer.svg") } + %p.feature-text + %em.feature-text-em Collaborer + %br + pour instruire les demandes
 + %br + à plusieurs - .col-md-4.col-lg-4 - %h3.text-warning Agents et services - %h4 Accompagnez et co-traitez les projets avec les usagers. - = link_to 'Démonstration', "#{@demo_environment_host}/gestionnaires/sign_in/demo", { class: 'btn btn-lg btn-warning' } + .landing-panel + .landing-panel-inner-content + %h2.landing-panel-title Ce que les utilisateurs pensent du service - .col-md-4.col-lg-4 - %h3.text-success Usagers - %h4 Profitez de démarches simplifiées et d’échanges continus avec les services traitants. - = link_to 'Démonstration', "#{@demo_environment_host}/users/sign_in/demo", { class: 'btn btn-lg btn-success' } + %ul.quotes + %li.quote + %img.quote-quotation-mark.pull-left{ :src => image_url("landing/testimonials/quotation-mark.svg") } + %p.quote-content.pull-right + TPS c’est surtout l’assurance d’un dialogue en toute fluidité et en toute transparence entre les porteurs de projet et l’administration. Un service qui garantit une économie de temps et beaucoup moins de manipulations des dossiers. + .clearfix - .split-hr-left + %p.quote-author.pull-left + %span.quote-author-name Nadja Briki + %br + Déléguée de la Préfète du Pas-de-Calais + .clearfix - .center - .row - #utilisateurs.col-xs-12.col-sm-12.col-md-12.col-lg-12 - %h4 Ils nous font confiance + %li.quote + %img.quote-quotation-mark.pull-left{ :src => image_url("landing/testimonials/quotation-mark.svg") } + %p.quote-content.pull-right + TPS est un outil de dématérialisation adapté au dépôt de dossiers de demande d’inscription au registre des transporteurs routiers en Ile-de-France. Les échanges avec les usagers sont facilités, ce qui permet de réduire les délais d’instructions et de gagner en efficacité. + .clearfix - Conseil Regional Ile de France, Politique de la ville du Pas de Calais (ensemble des administrations et collectivités territoriales concernées), DRIEA Ile de France - %br - Préfecture de la Martinique, DRIEE Ile de France, Ministère de l'Environnement, de l'Energie et de la Mer, MEEM, CCI Normandie, DGE, Assemblée permanente des chambres de métiers et de l'artisanat + %p.quote-author.pull-left + %span.quote-author-name Elodie Le Rhun + %br + Chef de bureau, DRIEA Ile-de-France + .clearfix - %br - .row - #partenaires.col-xs-12.col-sm-12.col-md-12.col-lg-12 - %h4 Ils travaillent avec nous + - cache "numbers-panel", :expires_in => 3.hours do + .landing-panel.numbers-panel + .landing-panel-inner-content + %h2.landing-panel-title TPS en chiffres + %ul.numbers + %li.number + .number-value + = number_with_delimiter(Procedure.where(:published => true).count, :locale => :fr) + .number-label< + procédures + %br<> + dématérialisées + %li.number + .number-value + = number_with_delimiter(Dossier.where.not(:state => :draft).count, :locale => :fr) + .number-label< + dossiers + %br<> + déposés + %li.number + .number-value + = "#{number_with_delimiter(50, :locale => :fr)} %" + .number-label< + de réduction + %br<> + des délais de traitement - Insee, Infogreffe, Ministère de la Ville, de la Jeunesse et des Sports, IGN, DGFIP, CGET, France Connect, Open Streetmap, la BAN, api.gouv.fr, Euroquity - BPI, FNTP, Qualibat + .landing-panel.users-panel + .landing-panel-inner-content + %h2.landing-panel-title Ils nous font confiance - .split-hr-left + %ul.users + %li.user + %a{ :href => "http://www.developpement-durable.gouv.fr/", :target => "_blank " } + %img.user-image{ :src => image_url("landing/users/ministere-environnement.jpg") } + %li.user + %a{ :href => "https://www.iledefrance.fr/", :target => "_blank " } + %img.user-image{ :src => image_url("landing/users/region-idf.jpg") } + %li.user + %a{ :href => "http://www.artisanat.fr/", :target => "_blank " } + %img.user-image{ :src => image_url("landing/users/chambres-de-metiers.jpg") } + %li.user + %a{ :href => "http://www.cci.fr/", :target => "_blank " } + %img.user-image{ :src => image_url("landing/users/cci.jpg") } + %li.user + %a{ :href => "http://www.driea.ile-de-france.developpement-durable.gouv.fr/", :target => "_blank " } + %img.user-image{ :src => image_url("landing/users/driea-idf.jpg") } - #request-access.row.center - .col-xs-12.col-sm-12.col-md-12.col-lg-12 - %h3 Envie de commencer à créer votre démarche ? + .landing-panel.cta-panel + .landing-panel-inner-content + = link_to "Demander une démo", + "mailto:#{t('dynamics.contact_email')}?subject=Demande de démo TPS", + :class => "cta-panel-button pull-right" + %h1.cta-panel-title.pull-left Commencez à dématerialiser vos démarches + %p.cta-panel-explanation.pull-left Nous vous accompagnons dans la prise en main de l’outil + .clearfix - = link_to 'Demander un accès administrateur', 'https://tps.apientreprise.fr/users/dossiers/new?procedure_id=31', { class: 'btn btn-lg background-tps', target: '_blank' } - - .split-hr-left diff --git a/config/application.rb b/config/application.rb index b3c5dc10c..1c82112d2 100644 --- a/config/application.rb +++ b/config/application.rb @@ -23,6 +23,8 @@ module TPS config.autoload_paths += %W(#{config.root}/lib #{config.root}/app/validators #{config.root}/app/facades) config.assets.paths << Rails.root.join('app', 'assets', 'javascript') + config.assets.paths << Rails.root.join('app', 'assets', 'fonts') + config.assets.precompile += %w(.woff) if Rails.env.production? URL = "https://tps.apientreprise.fr/" diff --git a/config/environments/production.rb b/config/environments/production.rb index 79e0eed48..60eaafedd 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -55,7 +55,7 @@ Rails.application.configure do # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) # Use a different cache store in production. - # config.cache_store = :mem_cache_store + config.cache_store = :memory_store # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.action_controller.asset_host = 'http://assets.example.com' diff --git a/spec/controllers/root_controller_spec.rb b/spec/controllers/root_controller_spec.rb index 94e83fe2f..474f03dfd 100644 --- a/spec/controllers/root_controller_spec.rb +++ b/spec/controllers/root_controller_spec.rb @@ -33,7 +33,7 @@ describe RootController, type: :controller do subject end - it { expect(response.body).to have_css('#landing') } + it { expect(response.body).to have_css('.landing') } end end @@ -55,31 +55,7 @@ describe RootController, type: :controller do subject end - it { expect(response.body).to have_css('#landing') } - - end - - context 'environment is not development' do - render_views - - before do - Rails.env.stub(:development? => false) - subject - end - - it { expect(response.body).to have_link('Démonstration', href: "https://tps-dev.apientreprise.fr#{ users_sign_in_demo_path }") } - - end - - context 'environment is development' do - render_views - - before do - Rails.env.stub(:development? => true) - subject - end - - it { expect(response.body).to have_link('Démonstration', href: users_sign_in_demo_path) } + it { expect(response.body).to have_css('.landing') } end diff --git a/spec/features/admin/connection_spec.rb b/spec/features/admin/connection_spec.rb index 9915669c1..3966641c9 100644 --- a/spec/features/admin/connection_spec.rb +++ b/spec/features/admin/connection_spec.rb @@ -36,7 +36,7 @@ feature 'Administrator connection' do page.find_by_id('sign-out').find('a.fa-sign-out').click end scenario 'admin is redireted to home page' do - expect(page).to have_css('#landing') + expect(page).to have_css('.landing') end end context 'when clicking on profile' do