Compare commits
2 Commits
c72ca9e5ed
...
d7f4351b30
Author | SHA1 | Date | |
---|---|---|---|
|
d7f4351b30 | ||
|
ec70f39201 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -42,4 +42,5 @@ yarn-debug.log*
|
||||
/pdf/*
|
||||
|
||||
/.sass_cache/*
|
||||
/test*
|
||||
|
||||
|
1
app/assets/stylesheets/config_public/_fonts.scss
Normal file
1
app/assets/stylesheets/config_public/_fonts.scss
Normal file
@ -0,0 +1 @@
|
||||
@import url('https://fonts.googleapis.com/css?family=Archivo+Narrow:400,400i,500,500i,600,600i,700,700i|Fugaz+One|Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|Roboto+Condensed:300,300i,400,400i,700,700i|Russo+One');
|
32
app/assets/stylesheets/config_public/_general_rules.scss
Normal file
32
app/assets/stylesheets/config_public/_general_rules.scss
Normal file
@ -0,0 +1,32 @@
|
||||
body {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
color: #000;
|
||||
font-size: 15px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.content {
|
||||
min-height: calc(100vh - 450px)
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
color: #CC4B14;
|
||||
&:hover {
|
||||
color: #000000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
&:focus {
|
||||
color: #000000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
&:active {
|
||||
color: #000000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
img {
|
||||
border: none;
|
||||
}
|
||||
}
|
112
app/assets/stylesheets/pages/_pneus.scss
Normal file
112
app/assets/stylesheets/pages/_pneus.scss
Normal file
@ -0,0 +1,112 @@
|
||||
.pages-pneus {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.pages-pneus .more-infos {
|
||||
position: absolute;
|
||||
right: 25px;
|
||||
bottom: 22px;
|
||||
a {
|
||||
vertical-align: middle;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
font-family: 'Fugaz One', cursive;
|
||||
text-transform: uppercase;
|
||||
font-weight: 500 !important;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.pages-pneus .top-banner {
|
||||
position: relative;
|
||||
background-color: #ffdd00;
|
||||
margin-bottom: 30px;
|
||||
padding: 20px;
|
||||
span {
|
||||
color: #e3000b;
|
||||
font-size: 32px;
|
||||
text-transform: uppercase;
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
}
|
||||
p {
|
||||
font-size: 20px;
|
||||
color: #000;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
}
|
||||
img {
|
||||
height: 40px;
|
||||
}
|
||||
.more-infos a {
|
||||
color: #fff;
|
||||
background-color: #e3000b;
|
||||
}
|
||||
}
|
||||
.pages-pneus .block-pneu {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.pages-pneus .block-pneu .description {
|
||||
width: 80%;
|
||||
> * {
|
||||
padding: 10px;
|
||||
}
|
||||
iframe {
|
||||
width: 100%;
|
||||
height: 370px;
|
||||
}
|
||||
p {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
p span {
|
||||
color: #cc4b14;
|
||||
}
|
||||
}
|
||||
|
||||
.pages-pneus .block-pneu .synthese {
|
||||
margin-left: 40px;
|
||||
padding: 20px;
|
||||
position: relative;
|
||||
img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin: 5px 5px 25px 5px;
|
||||
}
|
||||
p {
|
||||
margin: 10px 0 20px 0;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
}
|
||||
.more-infos {
|
||||
margin-top: 15px;
|
||||
}
|
||||
.more-infos a {
|
||||
background-color: #ffdd00;
|
||||
color: #000;
|
||||
}
|
||||
}
|
||||
|
||||
.pages-pneus {
|
||||
.barre_percent {
|
||||
background-color: #ccc;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
}
|
||||
.progression {
|
||||
position: absolute;
|
||||
height: 20px;
|
||||
background-color: #cc4b14;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.pages-pneus hr {
|
||||
width: 100%;
|
||||
display: block;
|
||||
margin: 30px 0px;
|
||||
border-bottom: 5px solid #000;
|
||||
}
|
277
app/assets/stylesheets/pages/_public_menu_items.scss
Normal file
277
app/assets/stylesheets/pages/_public_menu_items.scss
Normal file
@ -0,0 +1,277 @@
|
||||
.avantage {
|
||||
background-image: url(/images/interface/slide5.jpg);
|
||||
background-size: cover;
|
||||
padding: 70px 0px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
&:after {
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.banner {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
h4 {
|
||||
font-size: 40px;
|
||||
color: #fff;
|
||||
font-family: 'Fugaz One', cursive !important;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
margin-bottom: 60px;
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.numbers{
|
||||
background-color: #cc4b14;
|
||||
padding: 30px 0px;
|
||||
}
|
||||
|
||||
.center_programme {
|
||||
font-size: 0;
|
||||
max-width: 1140px;
|
||||
margin: auto;
|
||||
.primes_left {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
vertical-align: middle;
|
||||
.bloc_primes_img {
|
||||
width: 100%;
|
||||
display: block;
|
||||
margin-bottom: 30px;
|
||||
.primes_img {
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
.primes_legende_img {
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
font-size: 16px;
|
||||
padding-left: 10px;
|
||||
font-size: 20px;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
p {
|
||||
font-size: 16px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
p.chevrons {
|
||||
&:before {
|
||||
content: '>';
|
||||
color: #cc4b14;
|
||||
font-weight: 600;
|
||||
padding-right: 6px;
|
||||
}
|
||||
}
|
||||
span {
|
||||
font-size: 26px;
|
||||
font-style: italic;
|
||||
color: #e40011;
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.soulign {
|
||||
color: #000;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
}
|
||||
.primes_right {
|
||||
display: inline-block;
|
||||
width: 30%;
|
||||
vertical-align: middle;
|
||||
a {
|
||||
font-family: 'Fugaz One', cursive !important;
|
||||
background-color: #ffe500;
|
||||
font-size: 20px;
|
||||
color: #000;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
font-size: 22px;
|
||||
padding: 5px 15px;
|
||||
display: inline-block;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.banner {
|
||||
max-width: 1140px;
|
||||
margin: auto;
|
||||
.desc_actu {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
.row_avantage {
|
||||
font-size: 0;
|
||||
margin-left: -1.5%;
|
||||
margin-right: -1.5%;
|
||||
}
|
||||
|
||||
.block_avantage {
|
||||
&:nth-child(1) {
|
||||
.container_picto {
|
||||
width: 70px;
|
||||
}
|
||||
&:hover {
|
||||
.container_picto {
|
||||
width: 90px;
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
background-image: url(/images/interface/background_bloc_left_transp.png);
|
||||
}
|
||||
&:nth-child(2) {
|
||||
.container_picto {
|
||||
width: 88px;
|
||||
}
|
||||
&:hover {
|
||||
.container_picto {
|
||||
width: 112px;
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
background-image: url(/images/interface/background_bloc_left2_transp.png);
|
||||
}
|
||||
&:nth-child(3) {
|
||||
.container_picto {
|
||||
width: 73px;
|
||||
}
|
||||
&:hover {
|
||||
.container_picto {
|
||||
width: 94px;
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
background-image: url(/images/interface/background_bloc_right2_transp.png);
|
||||
}
|
||||
&:last-child {
|
||||
.container_picto {
|
||||
width: 149px;
|
||||
}
|
||||
&:hover {
|
||||
.container_picto {
|
||||
width: 191px;
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
}
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
width: 22%;
|
||||
background-color: #fff;
|
||||
margin: 0 1.5%;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
-ms-transition: all 0.3s;
|
||||
-o-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
border-radius: 10px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
padding-bottom: 20px;
|
||||
min-height: 330px;
|
||||
&:hover {
|
||||
background-color: #000;
|
||||
h5 {
|
||||
color: #cd4a12;
|
||||
font-size: 18px;
|
||||
}
|
||||
.img_av_hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.img_av {
|
||||
opacity: 0;
|
||||
}
|
||||
img {
|
||||
max-height: 90px;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0;
|
||||
}
|
||||
p {
|
||||
color: #fff;
|
||||
font-size: 20px !important;
|
||||
}
|
||||
}
|
||||
&:nth-child(4) {
|
||||
background-image: url(/images/interface/background_bloc_right_transp.png);
|
||||
}
|
||||
img {
|
||||
max-height: 70px;
|
||||
margin-top: 30px;
|
||||
-webkit-transition: max-height 0.3s;
|
||||
-moz-transition: max-height 0.3s;
|
||||
-ms-transition: max-height 0.3s;
|
||||
-o-transition: max-height 0.3s;
|
||||
transition: max-height 0.3s;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
}
|
||||
h5 {
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
-ms-transition: all 0.3s;
|
||||
-o-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
font-size: 25px;
|
||||
font-weight: 500;
|
||||
font-family: 'Russo One', sans-serif !important;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
p {
|
||||
font-size: 18px !important;
|
||||
line-height: 20px !important;
|
||||
color: #CC4B14;
|
||||
font-family: 'Montserrat', sans-serif !important;
|
||||
font-weight: 700 !important;
|
||||
-webkit-transition: all 0.3s;
|
||||
-moz-transition: all 0.3s;
|
||||
-ms-transition: all 0.3s;
|
||||
-o-transition: all 0.3s;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 950px) {
|
||||
.avantage {
|
||||
h4 {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
.row_avantage {
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
}
|
||||
.block_avantage {
|
||||
width: 47%;
|
||||
max-width: 350px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 540px) {
|
||||
.block_avantage {
|
||||
width: 100%;
|
||||
max-width: 350px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.numbers {
|
||||
padding: 30px 20px;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
26
app/assets/stylesheets/shared/_flashs.scss
Normal file
26
app/assets/stylesheets/shared/_flashs.scss
Normal file
@ -0,0 +1,26 @@
|
||||
.flashs{
|
||||
background: #F9F1E4;
|
||||
color: #333f48;
|
||||
padding: 30px 20px;
|
||||
font-size: 14px;
|
||||
position: relative;
|
||||
|
||||
|
||||
.notice, .error, .alert{
|
||||
margin:0;
|
||||
padding:0;
|
||||
max-width:1000px;
|
||||
margin:auto;
|
||||
}
|
||||
.error{
|
||||
color:red;
|
||||
}
|
||||
|
||||
.remove{
|
||||
position:absolute;
|
||||
top:6px;
|
||||
right:8px;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
}
|
120
app/assets/stylesheets/shared/_footer.scss
Normal file
120
app/assets/stylesheets/shared/_footer.scss
Normal file
@ -0,0 +1,120 @@
|
||||
#footer {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding: 50px 0px;
|
||||
background: url(/images/interface/bg-footer.jpg);
|
||||
background-size: cover;
|
||||
|
||||
&:after {
|
||||
opacity: .9;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
content: '';
|
||||
background-color: #0d0d0d;
|
||||
}
|
||||
|
||||
.footer-section {
|
||||
z-index: 2;
|
||||
}
|
||||
.fa-facebook-f {
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
li {
|
||||
font-size: 14px;
|
||||
a {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
h3 {
|
||||
margin-top: 28px;
|
||||
margin-bottom: 27px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
text-transform: uppercase;
|
||||
font-family: "Roboto Condensed", sans-serif;
|
||||
&:before {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 3px;
|
||||
margin-right: 15px;
|
||||
content: '';
|
||||
vertical-align: middle;
|
||||
background-color: #ffe500;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.footer-list_columns {
|
||||
a {
|
||||
position: relative;
|
||||
padding-left: 20px;
|
||||
&:after {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
left: 0;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
content: '';
|
||||
-webkit-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
border-top: 2px solid #ccc;
|
||||
border-right: 2px solid #ccc;
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer-contact {
|
||||
position: relative;
|
||||
margin-bottom: 9px;
|
||||
padding-left: 38px;
|
||||
letter-spacing: .02em;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
a {
|
||||
&:hover {
|
||||
color: #CC4B14 !important;
|
||||
}
|
||||
}
|
||||
.icon {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin-right: 10px;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
color: #ccc;
|
||||
}
|
||||
.icon-xs {
|
||||
font-size: 14px;
|
||||
}
|
||||
.icon-lg {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
.footer-contact_lg {
|
||||
margin-bottom: 24px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
line-height: 1.1;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
.footer__info {
|
||||
margin: 30px 0px;
|
||||
line-height: 1.86;
|
||||
font-size: 14px;
|
||||
color: #bbb;
|
||||
}
|
||||
.footer__logo {
|
||||
display: block;
|
||||
margin-bottom: 27px;
|
||||
}
|
||||
}
|
153
app/assets/stylesheets/shared/_header.scss
Normal file
153
app/assets/stylesheets/shared/_header.scss
Normal file
@ -0,0 +1,153 @@
|
||||
#header {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
background-color: #000;
|
||||
margin: 0px;
|
||||
padding: 10px 0px;
|
||||
-webkit-transition: all 0.5s ease;
|
||||
-moz-transition: all 0.5s ease;
|
||||
-ms-transition: all 0.5s ease;
|
||||
-o-transition: all 0.5s ease;
|
||||
transition: all 0.5s ease;
|
||||
#logo {
|
||||
z-index: 2;
|
||||
margin: 0px;
|
||||
display: inline-block;
|
||||
width: 30%;
|
||||
margin-bottom: -25px;
|
||||
vertical-align: bottom;
|
||||
text-align: left;
|
||||
img {
|
||||
z-index: 39;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
h1 {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-size: 1.65em;
|
||||
}
|
||||
img {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-image: none;
|
||||
}
|
||||
}
|
||||
|
||||
#header .top-bar {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
background-color: #000;
|
||||
font-size: 13px;
|
||||
padding: 10px;
|
||||
padding-bottom: 0px;
|
||||
font-family: "Roboto Condensed", sans-serif;
|
||||
-webkit-transition: all 0.5s;
|
||||
-moz-transition: all 0.5s;
|
||||
-ms-transition: all 0.5s;
|
||||
-o-transition: all 0.5s;
|
||||
transition: all 0.5s;
|
||||
height: 27px;
|
||||
overflow: hidden;
|
||||
i {
|
||||
color: #fff;
|
||||
opacity: 0.6;
|
||||
padding: 0px 10px;
|
||||
font-size: 15px;
|
||||
padding-right:0px;
|
||||
}
|
||||
a {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
}
|
||||
|
||||
#header .main-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-end;
|
||||
li {
|
||||
display: inline-block;
|
||||
text-transform: uppercase;
|
||||
font-family: "Roboto Condensed", sans-serif;
|
||||
padding: 3px 15px;
|
||||
}
|
||||
li a:hover, li a.active {
|
||||
border-bottom: 1px solid #fd0;
|
||||
}
|
||||
li a {
|
||||
padding-bottom: 5px;
|
||||
color: rgba(255,255,255,0.7);
|
||||
}
|
||||
}
|
||||
|
||||
#mobile_menu{
|
||||
z-index:900;
|
||||
position:fixed;
|
||||
top:0;
|
||||
left:0;
|
||||
right:0;
|
||||
bottom:0;
|
||||
background:rgba(0,0,0,0.9);
|
||||
color:white;
|
||||
padding:20px;
|
||||
display:none;
|
||||
|
||||
.mobile_second_menu{
|
||||
padding:10px 0;
|
||||
ul{
|
||||
margin:0;
|
||||
list-style:none;
|
||||
li{display:inline-block;
|
||||
margin:4px 10px;
|
||||
margin-left:0;
|
||||
|
||||
}
|
||||
|
||||
a{color:white;}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.mobile_first_menu{
|
||||
margin-top:20px;
|
||||
font-family: "Roboto Condensed", sans-serif;
|
||||
text-transform: uppercase;
|
||||
color:white;
|
||||
|
||||
ul{
|
||||
margin:0;
|
||||
list-style:none;
|
||||
li{display:block;
|
||||
|
||||
padding:5px 0;
|
||||
}
|
||||
|
||||
a{color:white;}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#burger_menu{
|
||||
z-index:1000;
|
||||
top:5px;
|
||||
right:5px;
|
||||
bottom:inherit;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 1170px) {
|
||||
#header .top-bar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 740px) {
|
||||
#header #burger_menu {
|
||||
display: block !important;
|
||||
}
|
||||
#header .menus {
|
||||
display: none;
|
||||
}
|
||||
}
|
60
app/assets/stylesheets/shared/_recherche_filtre.scss
Normal file
60
app/assets/stylesheets/shared/_recherche_filtre.scss
Normal file
@ -0,0 +1,60 @@
|
||||
.recherche_filtre {
|
||||
padding-top: 40px;
|
||||
padding-bottom: 30px;
|
||||
background: #cc4b14 url('/fond-recherche.jpg?m=mm') no-repeat center top;
|
||||
.group_valider {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
input {
|
||||
background-color: #000;
|
||||
font-size: 20px !important;
|
||||
width: calc(20% - 30px);
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
.group_form {
|
||||
input[type="submit"] {
|
||||
background-color: #000;
|
||||
font-size: 20px !important;
|
||||
width: calc(20% - 30px);
|
||||
margin-right: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
display: inline-block;
|
||||
width: 20%;
|
||||
vertical-align: top;
|
||||
padding: 0 15px;
|
||||
position: relative;
|
||||
}
|
||||
input[type="text"] {
|
||||
font-size: 15px;
|
||||
padding: 15px 20px;
|
||||
line-height: 16px;
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
h4 {
|
||||
font-family: 'Montserrat' !important;
|
||||
font-size: 30px;
|
||||
font-weight: 700;
|
||||
color: #111111;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 30px;
|
||||
&:before {
|
||||
content: '-';
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
vertical-align: middle;
|
||||
color: #ffdd00;
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.centre_filtre {
|
||||
max-width: 1140px;
|
||||
margin: auto;
|
||||
font-size: 0;
|
||||
form {
|
||||
margin: 0 -15px;
|
||||
}
|
||||
}
|
@ -2,10 +2,10 @@ class ApplicationController < ActionController::Base
|
||||
# Prevent CSRF attacks by raising an exception.
|
||||
# For APIs, you may want to use :null_session instead.
|
||||
protect_from_forgery with: :exception
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
before_action :set_locale
|
||||
|
||||
before_action :time_stats
|
||||
@ -13,35 +13,35 @@ class ApplicationController < ActionController::Base
|
||||
def time_stats
|
||||
@gen_past_time = Time.now
|
||||
end
|
||||
|
||||
|
||||
before_action :popups
|
||||
|
||||
|
||||
before_action :debug_translation
|
||||
|
||||
|
||||
before_action :get_sorting
|
||||
|
||||
|
||||
def get_sorting( column_default=nil, direction_default="desc")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sorting_direction = %w[asc desc].include?(params[:direction]) ? params[:direction] : direction_default
|
||||
sorting_column = params[:column] ? params[:column] : column_default
|
||||
|
||||
|
||||
if sorting_direction and sorting_column
|
||||
@sorting = [sorting_column, sorting_direction]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
before_action :set_qi_order
|
||||
|
||||
|
||||
def set_qi_order
|
||||
params[:search] = params[:search] || {}
|
||||
|
||||
|
||||
session[:qi_sort_string] = session[:qi_sort_string] || {}
|
||||
|
||||
|
||||
if params[:qi_sort_string].to_s != "" and params[:qi_sort_string][:class]
|
||||
|
||||
|
||||
if current_admin
|
||||
if ap = current_admin.admin_preferences.where(:key => "sort_table_"+params[:qi_sort_string][:class]).first
|
||||
ap.value = params[:qi_sort_string][:list].to_s
|
||||
@ -50,19 +50,19 @@ class ApplicationController < ActionController::Base
|
||||
current_admin.admin_preferences.create(:key => "sort_table_"+params[:qi_sort_string][:class], :value => params[:qi_sort_string][:list].to_s)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
session[:qi_sort_string][params[:qi_sort_string][:class]] = params[:qi_sort_string][:list].to_s
|
||||
end
|
||||
|
||||
|
||||
else
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
if params[:qi_sort_string].to_s != "" and params[:qi_sort_string][:nbr_colonnes].to_s != ""
|
||||
|
||||
|
||||
if current_admin
|
||||
if ap = current_admin.admin_preferences.where(:key => "sort_table_"+params[:qi_sort_string][:class]+"_nbr_col").first
|
||||
ap.value = params[:qi_sort_string][:nbr_colonnes].to_s
|
||||
@ -70,31 +70,31 @@ class ApplicationController < ActionController::Base
|
||||
else
|
||||
current_admin.admin_preferences.create(:key => "sort_table_"+params[:qi_sort_string][:class]+"_nbr_col", :value => params[:qi_sort_string][:nbr_colonnes].to_s)
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
else
|
||||
session[:qi_sort_string][params[:qi_sort_string][:class]+"_nbr_col"] = params[:qi_sort_string][:nbr_colonnes].to_s
|
||||
end
|
||||
|
||||
|
||||
else
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
def sort_by_sorting(var, default=nil)
|
||||
if @sorting
|
||||
klass = var.klass.to_s
|
||||
|
||||
|
||||
if eval(klass).valid_sort.include?(@sorting[0])
|
||||
if @sorting[0].split(",").size > 0
|
||||
order_text = ""
|
||||
i = 0
|
||||
@sorting[0].split(",").each do |s|
|
||||
|
||||
|
||||
order_text += "#{s} #{@sorting[1]}"
|
||||
order_text += "," if i < (@sorting[0].split(",").size - 1 )
|
||||
i+=1
|
||||
@ -103,131 +103,131 @@ class ApplicationController < ActionController::Base
|
||||
else
|
||||
var = var.order("#{@sorting[0]} #{@sorting[1]}")
|
||||
end
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
elsif default
|
||||
var = var.order(default)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return var
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def debug_translation
|
||||
if params[:debug_translation]
|
||||
if current_admin
|
||||
@debug_translation = true
|
||||
@debug_translation = true
|
||||
end
|
||||
end
|
||||
end
|
||||
def popups
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
def get_public_layout
|
||||
"public"
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
def set_locale
|
||||
# if params[:locale] is nil then I18n.default_locale will be used
|
||||
#I18n.locale = params[:locale]#"fr" #
|
||||
|
||||
|
||||
I18n.locale = params[:lang] || :fr
|
||||
|
||||
|
||||
@lang = LangSite.find_by_slug I18n.locale.to_s
|
||||
end
|
||||
|
||||
|
||||
def default_url_options(options={})
|
||||
{ :lang => I18n.locale } #
|
||||
end
|
||||
|
||||
|
||||
|
||||
def auth_p_customer
|
||||
if !current_p_customer
|
||||
redirect_to new_public_p_customer_auth_path
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private
|
||||
|
||||
|
||||
|
||||
|
||||
def current_p_customer
|
||||
@current_p_customer ||= PCustomer.where(:auth_token => cookies[:p_customer_auth_token]).first if cookies[:p_customer_auth_token]
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private
|
||||
|
||||
|
||||
|
||||
|
||||
def auth_admin
|
||||
if !current_admin
|
||||
redirect_to new_admin_admin_auth_path
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def current_admin
|
||||
|
||||
|
||||
if cookies[:admin_remember_token]
|
||||
if @current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token])
|
||||
@current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token])
|
||||
if @current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token])
|
||||
@current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token])
|
||||
else
|
||||
cookies[:admin_remember_token] =nil
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def get_specific_pref(key="")
|
||||
|
||||
|
||||
sp = SpecificPreference.where(:key => key).first
|
||||
|
||||
|
||||
if sp
|
||||
return sp.value
|
||||
else
|
||||
return ""
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
def has_permission?(permission)
|
||||
if current_admin and current_admin.has_permission?(permission)
|
||||
if current_admin and current_admin.has_permission?(permission)
|
||||
true
|
||||
else
|
||||
redirect_to "/admin"
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def is_super_admin
|
||||
if current_admin and current_admin.super_admin
|
||||
true
|
||||
@ -235,10 +235,10 @@ class ApplicationController < ActionController::Base
|
||||
redirect_to "/admin"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
helper_method :current_admin, :get_specific_pref, :sort_by_sorting, :current_p_customer
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
@ -1,86 +1,85 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
class Public::MenuItemsController < ApplicationController
|
||||
|
||||
|
||||
layout :get_public_layout
|
||||
|
||||
|
||||
def redirect
|
||||
redirect_to menu_item_path(:url => params[:url]), status: 301
|
||||
end
|
||||
|
||||
|
||||
def archive
|
||||
@menu_item= MenuItem.archived.find(params[:id])
|
||||
end
|
||||
|
||||
|
||||
|
||||
def show
|
||||
|
||||
|
||||
if params[:lang]
|
||||
|
||||
|
||||
@lang = LangSite.find_by_slug(params[:lang])
|
||||
else
|
||||
@lang = LangSite.first
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
if params[:url]
|
||||
|
||||
|
||||
url = params[:url].split("/")
|
||||
url = url.map do |u|
|
||||
u.to_slug
|
||||
end
|
||||
url = url.join("/")
|
||||
|
||||
|
||||
orignal_url = url
|
||||
|
||||
|
||||
if url.scan(/peuples\-sauvages\/experimentes/).size > 0
|
||||
url = url.gsub(/peuples\-sauvages\/experimentes/, 'compagnons-animaux/experimentes')
|
||||
url = url.gsub(/peuples\-sauvages\/experimentes/, 'compagnons-animaux/experimentes')
|
||||
@original_menu_item = MenuItem.find(19)
|
||||
end
|
||||
end
|
||||
if url.scan(/animaux\-domestiques\/experimentes/).size > 0
|
||||
url = url.gsub(/animaux\-domestiques\/experimentes/, 'compagnons-animaux/experimentes')
|
||||
url = url.gsub(/animaux\-domestiques\/experimentes/, 'compagnons-animaux/experimentes')
|
||||
@original_menu_item = MenuItem.find(20)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
menu_id = 1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@menu_item_lang = @lang.menu_item_langs.joins(:menu_item).where(:menu_items => {:menu_id => menu_id}).find_by_permalink(url)
|
||||
|
||||
|
||||
if @menu_item_lang
|
||||
@menu_item = @menu_item_lang.menu_item
|
||||
|
||||
|
||||
@menu_item.ancestors_menu = @menu_item.ancestors
|
||||
@ancestor_1 = @menu_item.ancestors.reverse[1] if @menu_item
|
||||
|
||||
|
||||
elsif menu_item_history = MenuItemSlugHistory.where(:permalink => url, :locale => @lang.slug).first
|
||||
redirect_to "/#{@lang.slug}/#{menu_item_history.menu_item_lang.permalink}.html"
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
redirect_to "/"
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
menu_id = 1
|
||||
|
||||
|
||||
@menu_item_lang = @lang.menu_item_langs.joins(:menu_item).where(:menu_items => {:menu_id => menu_id}).find_by_permalink("index")
|
||||
|
||||
|
||||
if @menu_item_lang
|
||||
@menu_item = @menu_item_lang.menu_item
|
||||
else
|
||||
redirect_to "/"
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
if @menu_item and @menu_item.menu_content and @menu_item.menu_content.class.to_s == "Page"
|
||||
@lang_page = @menu_item.menu_content.lang_pages.find_by_lang_site_id(@lang.id)
|
||||
@ -90,10 +89,10 @@ class Public::MenuItemsController < ApplicationController
|
||||
@twitter_title = @lang_page.twitter_title if @lang_page.twitter_title?
|
||||
|
||||
end
|
||||
|
||||
|
||||
if @menu_item and @menu_item.menu_content and @menu_item.menu_content.page_type_id == 2
|
||||
@url_to_redirect = nil
|
||||
|
||||
|
||||
MenuItem.where(:parent_id => @menu_item.id).order(:position).each do |menu_item|
|
||||
|
||||
menu_item_lang = menu_item.menu_item_langs.find_by_lang_site_id(@lang.id)
|
||||
@ -103,18 +102,18 @@ class Public::MenuItemsController < ApplicationController
|
||||
if menu_item_lang.enabled == true and menu_item_lang.visible == true and menu_item.menu_content.page_type_id == 3
|
||||
@url_to_redirect = menu_item_path(:url => menu_item_lang.url, :lang => @lang.slug)
|
||||
break
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if @url_to_redirect
|
||||
redirect_to @url_to_redirect
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -21,8 +21,8 @@
|
||||
%html{:lang => "fr", "xml:lang" => "fr", :xmlns => "http://www.w3.org/1999/xhtml"}
|
||||
%head
|
||||
=render :partial => "public/shared/ga"
|
||||
|
||||
|
||||
|
||||
|
||||
-@title = strip_tags(@title.to_s)
|
||||
%title=@title.to_s
|
||||
|
||||
@ -35,242 +35,46 @@
|
||||
%meta{:name=>"viewport", :content=>"width=device-width,initial-scale=1"}
|
||||
%meta{ :"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8" }
|
||||
%meta{ :"name" => "Description", :content => @description }
|
||||
%meta{ :"name" => "Keywords", :content => @keywords }
|
||||
%meta{ :"name" => "Keywords", :content => @keywords }
|
||||
=raw '<meta property="og:title" content="'+@facebook_title.to_s+'" />'
|
||||
=raw '<meta property="og:description" content="'+@description.to_s+'" />'
|
||||
=raw '<meta property="og:url" content="'+@social_url+'" />'
|
||||
|
||||
|
||||
|
||||
|
||||
=raw '<meta property="twitter:description" content="'+((@description and @description != "") ? @description : "En savoir plus :").to_s+'"/>'
|
||||
=raw '<meta property="twitter:title" content="'+@twitter_title.to_s+'"/>'
|
||||
=raw '<meta property="twitter:site" content=""/>'
|
||||
=raw '<meta property="twitter:creator" content=""/>'
|
||||
=raw '<meta property="twitter:url" content="'+@social_url+'"/>'
|
||||
|
||||
|
||||
|
||||
|
||||
-if @facebook_img
|
||||
=raw '<meta property="og:image" content="https://mmsc.olwen.xyz'+@facebook_img.to_s+'"/>'
|
||||
=raw '<link rel="image_src" href="https://mmsc.olwen.xyz'+@facebook_img.to_s+'"/>'
|
||||
|
||||
|
||||
=raw '<meta name="twitter:card" content="summary_large_image">'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=raw '<meta property="twitter:image" content="https://mmsc.olwen.xyz'+@facebook_img.to_s+'"/>'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
= javascript_include_tag "public"
|
||||
|
||||
= csrf_meta_tag
|
||||
|
||||
|
||||
= csrf_meta_tag
|
||||
|
||||
= stylesheet_link_tag 'public', :media => :all
|
||||
|
||||
|
||||
|
||||
%body.pageAccueil
|
||||
#mobile_menu
|
||||
.mobile_second_menu
|
||||
|
||||
%ul.social-links
|
||||
|
||||
|
||||
%li
|
||||
-if current_p_customer
|
||||
=link_to public_my_account_path do
|
||||
=ic(:user)
|
||||
Mon compte :
|
||||
=current_p_customer.particular.firstname
|
||||
=current_p_customer.particular.name
|
||||
|
||||
-else
|
||||
=link_to ic(:user)+" Mon compte", public_my_account_path
|
||||
|
||||
|
||||
%li
|
||||
%a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"}
|
||||
=ic :"facebook-f"
|
||||
|
||||
|
||||
|
||||
.mobile_first_menu
|
||||
%ul
|
||||
|
||||
|
||||
-MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item|
|
||||
-if menu_item_link(menu_item) and menu_item_link(menu_item) != ""
|
||||
%li
|
||||
=menu_item_link(menu_item)
|
||||
|
||||
|
||||
-if false
|
||||
%li.PGS_ROULAGE
|
||||
=link_to "Trouvez votre journée", public_m_events_path
|
||||
|
||||
|
||||
%li.PGS_ANNUAIRE_CIRCUIT
|
||||
=link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active)
|
||||
%li.PGS_ANNUAIRE_ORGA
|
||||
=link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active)
|
||||
|
||||
%li.PGS_DISTRIBUTEUR
|
||||
%a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"}
|
||||
%span Distributeurs
|
||||
|
||||
|
||||
.mobile_second_menu
|
||||
%br
|
||||
%br
|
||||
%ul
|
||||
-if current_p_customer
|
||||
%li=link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path()
|
||||
|
||||
|
||||
|
||||
|
||||
%button.navbar-toggle.collapsed.btn-menu#burger_menu{:onclick => "$('#mobile_menu').toggle();"}
|
||||
%span.sr-only Toggle navigation
|
||||
%span.icon-bar
|
||||
%span.icon-bar
|
||||
%span.icon-bar
|
||||
|
||||
%span.fond_body_1
|
||||
%span.fond_body_2
|
||||
#conteneur
|
||||
#conteneur_contenu
|
||||
#header.WithCarousel
|
||||
.top-bar
|
||||
.container
|
||||
.header-topbarbox-1
|
||||
.header-topbarbox-2
|
||||
%ul.social-links
|
||||
|
||||
-if current_p_customer
|
||||
=link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path()
|
||||
|
||||
|
||||
%li
|
||||
-if current_p_customer
|
||||
=link_to public_my_account_path do
|
||||
=ic(:user)
|
||||
Mon compte :
|
||||
=current_p_customer.particular.firstname
|
||||
=current_p_customer.particular.name
|
||||
|
||||
-else
|
||||
=link_to ic(:user)+" Mon compte", public_my_account_path
|
||||
|
||||
|
||||
%li
|
||||
%a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"}
|
||||
=ic :"facebook-f"
|
||||
|
||||
#conteneur_header
|
||||
#logo
|
||||
%h1
|
||||
%a{:href => "/"}
|
||||
%img.logo_top{:alt => "Ma moto sur circuit", :src => "/images/interface/Logo-DMD.png", :title => "Ma moto sur circuit"}/
|
||||
%img.logo_scroll{:alt => "Ma moto sur circuit", :src => "/images/interface/logo_petit.png", :title => "Ma moto sur circuit"}/
|
||||
#position-menu
|
||||
#menu_haut.WithCarousel
|
||||
%ul
|
||||
|
||||
|
||||
-MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item|
|
||||
-if menu_item_link(menu_item) and menu_item_link(menu_item) != ""
|
||||
%li
|
||||
=menu_item_link(menu_item)
|
||||
|
||||
|
||||
-if false
|
||||
%li.PGS_ROULAGE
|
||||
=link_to "Trouvez votre journée", public_m_events_path
|
||||
|
||||
|
||||
%li.PGS_ANNUAIRE_CIRCUIT
|
||||
=link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active)
|
||||
%li.PGS_ANNUAIRE_ORGA
|
||||
=link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active)
|
||||
|
||||
%li.PGS_DISTRIBUTEUR
|
||||
%a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"}
|
||||
%span Distributeurs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#contenu
|
||||
|
||||
-if flash[:error] or flash[:notice] or flash[:alert]
|
||||
.flashs
|
||||
-if flash[:error]
|
||||
.error
|
||||
%span.remove=ic :times
|
||||
=flash[:error]
|
||||
-if flash[:notice]
|
||||
.notice
|
||||
%span.remove=ic :times
|
||||
=flash[:notice]
|
||||
-if flash[:alert]
|
||||
.alert
|
||||
%span.remove=ic :times
|
||||
=flash[:alert]
|
||||
|
||||
|
||||
#centreetdroite
|
||||
|
||||
|
||||
|
||||
=yield
|
||||
|
||||
#pied
|
||||
#conteneur_pied
|
||||
.row
|
||||
.col-md-4
|
||||
.footer-section
|
||||
%a.footer__logo{:href => "#"}
|
||||
%img.img-responsive{:src => "/images/interface/Logo-DMD.png"}/
|
||||
.footer__info Devenez membre de la communauté pour accéder aux avantages exclusifs.
|
||||
%ul.social-net.list-inline
|
||||
%li.social-net__item
|
||||
%a.social-net__link.text-primary_h{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"}
|
||||
=ic(:"facebook-f")
|
||||
|
||||
.col-md-4
|
||||
%section.footer-section.footer-section_list-columns
|
||||
%h3.footer-section__title.ui-title-inner Liens utiles
|
||||
%ul.footer-list.footer-list_columns.list-unstyled
|
||||
%li
|
||||
%a{:accesskey => "3", :href => "/fr/plan-site.html", :title => "Plan du site"} Plan du site
|
||||
%li
|
||||
%a{:accesskey => "8", :href => "/fr/mentions-legales.html", :title => "Mentions légales"} Mentions légales
|
||||
%li
|
||||
%a{:accesskey => "8", :href => "/fr/conditions-generales-utilisation.html", :title => "Conditions générales d'utilisation"} Conditions générales d'utilisation
|
||||
.col-md-4
|
||||
%section.footer-section
|
||||
%h3.footer-section__title.ui-title-inner Nous contacter
|
||||
.footer-contact
|
||||
%i.icon.icon-xs.fa.fa-envelope-o
|
||||
%a{:href => "mailto:contact@mamotosurcircuit.com"} contact@mamotosurcircuit.com
|
||||
.footer-contact
|
||||
%i.icon.icon-lg.fa.fa-map-marker>
|
||||
8 route des bois 38500 VOIRON
|
||||
.footer-contact
|
||||
%i.icon.icon-lg.fa.fa-phone>
|
||||
04 76 31 38 38
|
||||
/ conteneur_contenu //
|
||||
/ conteneur//
|
||||
|
||||
|
||||
:javascript
|
||||
resize()
|
||||
|
||||
%body
|
||||
=render partial: 'public/shared/header'
|
||||
=render partial: 'public/shared/flashes'
|
||||
.content
|
||||
=yield
|
||||
=render partial: 'public/shared/footer'
|
||||
|
@ -3,9 +3,8 @@
|
||||
-params[:search][:m_event_type_title] = params[:search][:m_event_type_title] || []
|
||||
|
||||
.centre_filtre
|
||||
=#link_to image_tag('/images/interface/btn_inscription.png'), public_my_account_path(), :class => "ins"
|
||||
%h4 Trouvez votre journée sur circuit
|
||||
|
||||
|
||||
=form_tag public_m_events_path, :method => "get", :onsubmit => "" do
|
||||
|
||||
%p
|
||||
@ -14,33 +13,32 @@
|
||||
.select.inline_large_input=select_tag "search[circuit_id]", options_for_select([["Circuit",""]]+Circuit.order(:name).all.map{|a| [a.name, a.id]}, params[:search][:circuit_id]), :place_holder => ""
|
||||
|
||||
.select.inline_large_input=select_tag "search[organisateur_id]", options_for_select([["Organisateur",""]]+Organisateur.order(:name).all.map{|a| [a.name, a.id]}, params[:search][:organisateur_id]), :place_holder => ""
|
||||
|
||||
|
||||
|
||||
.no-mobile.right{:style => "position:relative;top:10px;"}
|
||||
=submit_tag "Rechercher", :class => "submit"
|
||||
|
||||
|
||||
%p
|
||||
|
||||
|
||||
|
||||
=text_field_tag :start, params[:start],:class => "form-control datepicker date inline_input", :placeholder => "Début"
|
||||
|
||||
|
||||
|
||||
=text_field_tag :stop, params[:stop],:class => "form-control datepicker date inline_input ", :placeholder => "Fin"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%p.inline_check_boxes
|
||||
%strong Type de journée :
|
||||
|
||||
|
||||
|
||||
|
||||
-["Ecole / Stage de pilotage", "Roulage encadré", "Roulage libre"] .each do |pdt|
|
||||
|
||||
|
||||
= check_box_tag :"search[m_event_type_title][]", pdt, (true if params[:search][:m_event_type_title].include?(pdt.to_s)), {:id => "p_document_type_ids_#{pdt.to_slug}"}
|
||||
= label_tag "p_document_type_ids_"+pdt.to_slug, pdt
|
||||
|
||||
.clear
|
||||
|
||||
|
||||
.mobile-block
|
||||
=submit_tag "Rechercher", :class => "submit"
|
||||
|
@ -1,72 +1,68 @@
|
||||
=render :partial => "public/m_events/search"
|
||||
|
||||
.intro_home
|
||||
.center_home
|
||||
.row_home.row1
|
||||
.block_intro
|
||||
%h3 Ma moto sur circuit
|
||||
%p
|
||||
La 1
|
||||
%sup ère
|
||||
plateforme de stages et de roulages qui rapporte des primes offertes par Dunlop et ses partenaires
|
||||
.block_intro
|
||||
%img{:src => "/images/interface/logo_intro.png"}/
|
||||
.row_home.row2
|
||||
.block_intro
|
||||
%img{:src => "/images/interface/produits-offre-mamotosurcircuit.jpg"}/
|
||||
.right_intro
|
||||
%h3 Dunlop sponsor program
|
||||
%p Des avantages pour vous et votre moto
|
||||
%a{:href => "/fr/primes.html"} Le programme
|
||||
%br
|
||||
.block_intro{:style => "position:relative;"}
|
||||
=image_tag "/Sticker_mockup_mmsc.png", :style => "position:absolute;top:10px;right:0px;width:280px;"
|
||||
%h3
|
||||
Devenez membre
|
||||
%br
|
||||
de la communauté
|
||||
%p
|
||||
Recevez gratuitement
|
||||
%br
|
||||
1 planche de stickers
|
||||
|
||||
|
||||
%a{:href => public_my_account_path} S'inscrire
|
||||
.banner
|
||||
.row_home.row1
|
||||
.block_intro
|
||||
%h3 Ma moto sur circuit
|
||||
%p
|
||||
La 1
|
||||
%sup ère
|
||||
plateforme de stages et de roulages qui rapporte des primes offertes par Dunlop et ses partenaires
|
||||
.block_intro
|
||||
=image_tag "/images/interface/logo_intro.png"
|
||||
.row_home.row2
|
||||
.block_intro
|
||||
%img{:src => "/images/interface/produits-offre-mamotosurcircuit.jpg"}/
|
||||
.right_intro
|
||||
%h3 Dunlop sponsor program
|
||||
%p Des avantages pour vous et votre moto
|
||||
%a{:href => "/fr/primes.html"} Le programme
|
||||
%br
|
||||
.block_intro{:style => "position:relative;"}
|
||||
=image_tag "/Sticker_mockup_mmsc.png", :style => "position:absolute;top:10px;right:0px;width:280px;"
|
||||
%h3
|
||||
Devenez membre
|
||||
%br
|
||||
de la communauté
|
||||
%p
|
||||
Recevez gratuitement
|
||||
%br
|
||||
1 planche de stickers
|
||||
|
||||
#paragraphe339.paragraphe{:style => "padding:0;margin:0;"}
|
||||
%a{:name => "paragraphe339"}
|
||||
.num_programme
|
||||
.center_programme
|
||||
.block_num
|
||||
%a{:href => public_my_account_path} S'inscrire
|
||||
|
||||
.numbers
|
||||
.container
|
||||
.row
|
||||
.col-xs-12.col-md-6.col-lg-3
|
||||
%span.chiffre
|
||||
=PCustomer.where(:enabled => true, :test_user => false).count
|
||||
%span.label-chiffre Membres
|
||||
.block_num
|
||||
.col-xs-12.col-md-6.col-lg-3
|
||||
%span.chiffre
|
||||
-r = 0
|
||||
-r = 0
|
||||
-MEvent.where("start_at > ?", Date.today.beginning_of_year.beginning_of_year).all.each do |m_event|
|
||||
-r+=(m_event.end_at - m_event.start_at ).to_i / (24 * 60 * 60) +1
|
||||
=r
|
||||
|
||||
%span.label-chiffre Dates
|
||||
.block_num
|
||||
.col-xs-12.col-md-6.col-lg-3
|
||||
%span.chiffre
|
||||
=Circuit.count
|
||||
%span.label-chiffre Circuits
|
||||
.block_num
|
||||
.col-xs-12.col-md-6.col-lg-3
|
||||
%span.chiffre
|
||||
=Organisateur.count
|
||||
%span.label-chiffre Organisateurs
|
||||
|
||||
|
||||
.avantage
|
||||
.center_home
|
||||
.banner
|
||||
%h4 Les 4 avantages du programme
|
||||
.row_avantage
|
||||
.block_avantage
|
||||
%a{:href => "/fr/primes.html"}
|
||||
.container_picto
|
||||
%img.img_av{:src => "/images/interface/bonus_left.png"}/
|
||||
%img.img_av_hover{:src => "/images/interface/bonus_left_white.png"}/
|
||||
%img.img_av_hover{:src => "/images/interface/bonus_left_white.png"}/
|
||||
%h5 Prime de roulage pneus Dunlop
|
||||
%p Achetez, roulez et soyez remboursé
|
||||
.block_avantage
|
||||
|
14
app/views/public/shared/_flashes.html.haml
Normal file
14
app/views/public/shared/_flashes.html.haml
Normal file
@ -0,0 +1,14 @@
|
||||
-if flash[:error] or flash[:notice] or flash[:alert]
|
||||
.flashs
|
||||
-if flash[:error]
|
||||
.error
|
||||
%span.remove=ic :times
|
||||
=flash[:error]
|
||||
-if flash[:notice]
|
||||
.notice
|
||||
%span.remove=ic :times
|
||||
=flash[:notice]
|
||||
-if flash[:alert]
|
||||
.alert
|
||||
%span.remove=ic :times
|
||||
=flash[:alert]
|
29
app/views/public/shared/_footer.html.haml
Normal file
29
app/views/public/shared/_footer.html.haml
Normal file
@ -0,0 +1,29 @@
|
||||
#footer
|
||||
.container
|
||||
.row
|
||||
.col-md-4.footer-section
|
||||
=image_tag '/images/interface/Logo-DMD.png'
|
||||
.footer__info Devenez membre de la communauté pour accéder aux avantages exclusifs.
|
||||
=link_to "https://www.facebook.com/mamotosurcircuit/", target: '_blank' do
|
||||
=ic(:"facebook-f")
|
||||
|
||||
.col-md-4.footer-section
|
||||
%h3 Liens utiles
|
||||
%ul.footer-list_columns.list-unstyled
|
||||
%li
|
||||
%a{:accesskey => "3", :href => "/fr/plan-site.html", :title => "Plan du site"} Plan du site
|
||||
%li
|
||||
%a{:accesskey => "8", :href => "/fr/mentions-legales.html", :title => "Mentions légales"} Mentions légales
|
||||
%li
|
||||
%a{:accesskey => "8", :href => "/fr/conditions-generales-utilisation.html", :title => "Conditions générales d'utilisation"} Conditions générales d'utilisation
|
||||
.col-md-4.footer-section
|
||||
%h3 Nous contacter
|
||||
.footer-contact
|
||||
%i.icon.icon-xs.fa.fa-envelope-o
|
||||
%a{:href => "mailto:contact@mamotosurcircuit.com"} contact@mamotosurcircuit.com
|
||||
.footer-contact
|
||||
%i.icon.icon-lg.fa.fa-map-marker>
|
||||
8 route des bois 38500 VOIRON
|
||||
.footer-contact
|
||||
%i.icon.icon-lg.fa.fa-phone>
|
||||
04 76 31 38 38
|
40
app/views/public/shared/_header.html.haml
Normal file
40
app/views/public/shared/_header.html.haml
Normal file
@ -0,0 +1,40 @@
|
||||
#header
|
||||
=render partial: 'public/shared/mobile_menu'
|
||||
.container
|
||||
.top-bar
|
||||
-if current_p_customer
|
||||
=link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path()
|
||||
|
||||
-if current_p_customer
|
||||
=link_to public_my_account_path do
|
||||
=ic(:user)
|
||||
Mon compte :
|
||||
=current_p_customer.particular.firstname
|
||||
=current_p_customer.particular.name
|
||||
-else
|
||||
=link_to ic(:user)+" Mon compte", public_my_account_path
|
||||
|
||||
%a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"}
|
||||
=ic :"facebook-f"
|
||||
.main-content
|
||||
#logo
|
||||
%a{:href => "/"}
|
||||
%img.logo_top{:alt => "Ma moto sur circuit", :src => "/images/interface/Logo-DMD.png", :title => "Ma moto sur circuit"}/
|
||||
%img.logo_scroll{:alt => "Ma moto sur circuit", :src => "/images/interface/logo_petit.png", :title => "Ma moto sur circuit"}/
|
||||
%ul.menus
|
||||
-MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item|
|
||||
-if menu_item_link(menu_item) and menu_item_link(menu_item) != ""
|
||||
%li
|
||||
=menu_item_link(menu_item)
|
||||
|
||||
-if false
|
||||
%li
|
||||
=link_to "Trouvez votre journée", public_m_events_path
|
||||
|
||||
%li
|
||||
=link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active)
|
||||
%li
|
||||
=link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active)
|
||||
%li
|
||||
%a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"}
|
||||
%span Distributeurs
|
62
app/views/public/shared/_mobile_menu.html.haml
Normal file
62
app/views/public/shared/_mobile_menu.html.haml
Normal file
@ -0,0 +1,62 @@
|
||||
#mobile_menu
|
||||
.mobile_second_menu
|
||||
|
||||
%ul.social-links
|
||||
|
||||
|
||||
%li
|
||||
-if current_p_customer
|
||||
=link_to public_my_account_path do
|
||||
=ic(:user)
|
||||
Mon compte :
|
||||
=current_p_customer.particular.firstname
|
||||
=current_p_customer.particular.name
|
||||
|
||||
-else
|
||||
=link_to ic(:user)+" Mon compte", public_my_account_path
|
||||
|
||||
|
||||
%li
|
||||
%a{:href => "https://www.facebook.com/mamotosurcircuit/", :target => "_blank"}
|
||||
=ic :"facebook-f"
|
||||
|
||||
|
||||
|
||||
.mobile_first_menu
|
||||
%ul
|
||||
|
||||
|
||||
-MenuItem.where(:parent_id => nil, :menu_id => 1).order(:position).each do |menu_item|
|
||||
-if menu_item_link(menu_item) and menu_item_link(menu_item) != ""
|
||||
%li
|
||||
=menu_item_link(menu_item)
|
||||
|
||||
|
||||
-if false
|
||||
%li
|
||||
=link_to "Trouvez votre journée", public_m_events_path
|
||||
|
||||
|
||||
%li
|
||||
=link_to "Circuits", public_circuits_path, :class => ("active" if @circuits_active)
|
||||
%li
|
||||
=link_to "Organisateurs", public_organisateurs_path, :class => ("active" if @organisateurs_active)
|
||||
|
||||
%li
|
||||
%a{:href => "https://www.dunlop.eu/fr_fr/motorcycle/dealers/find-a-dealer.html", :target => "_blank", :title => "Distributeurs"}
|
||||
%span Distributeurs
|
||||
|
||||
|
||||
.mobile_second_menu
|
||||
%br
|
||||
%br
|
||||
%ul
|
||||
-if current_p_customer
|
||||
%li=link_to ic(:"power-off")+" Déconnexion", logout_public_p_customer_auths_path()
|
||||
|
||||
|
||||
%button.navbar-toggle.collapsed.btn-menu#burger_menu{:onclick => "$('#mobile_menu').toggle();"}
|
||||
%span.sr-only Toggle navigation
|
||||
%span.icon-bar
|
||||
%span.icon-bar
|
||||
%span.icon-bar
|
802
config/routes.rb
802
config/routes.rb
File diff suppressed because it is too large
Load Diff
111
html_saves/2020_06_07_pneus.html
Normal file
111
html_saves/2020_06_07_pneus.html
Normal file
@ -0,0 +1,111 @@
|
||||
|
||||
<!-- -->
|
||||
<div id="centreetdroite">
|
||||
<!---->
|
||||
<a name="contenu" accesskey="s" href="#contenu"></a>
|
||||
|
||||
<div id="contenu_scroller">
|
||||
<div class="paragraphe" id="paragraphe338"><a name="paragraphe338"></a><div class="list_lien list_pneus_all">
|
||||
<div class="list_lien_row">
|
||||
<div class="bloc_list_lien">
|
||||
<div class="desc_list_lien">
|
||||
<div class="titre_list">
|
||||
<p><span>économisez</span> <img src="/webotheque/images/1371-arrow_down.jpg" width="152" height="70" alt=""></p>
|
||||
</div>
|
||||
<p class="intro_lien"><span class="rouge">30€ remboursés</span> sur vos pneus <img src="/webotheque/images/1380-logo-dunlop-187px.jpg" width="187" height="40" alt=""></p>
|
||||
|
||||
<p class="intro_lien"><span class="rouge">1 planche</span> de stickers <img alt=""></p>
|
||||
</div>
|
||||
<div class="info_lien">
|
||||
<div class="btn_fiche"><a href="/fr/primes.html">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_pneus">
|
||||
<div class="list_lien_row">
|
||||
<div class="desc_list_pneus">
|
||||
<div class="titre_pneus"><img src="/webotheque/images/1372-sportsmart.jpg" width="872" height="78" alt=""></div>
|
||||
<p class="intro_pneus">Sa conception Dynamic Front Formula (DDF) associée à une composition de gommes innovante offre une adhérence et des performances améliorées, quelles que soient les conditions.</p>
|
||||
<p class="intro_pneus"><span class="orange">Cela garantit que le Mk3 repousse les limites de ce qui est possible, pour correspondre aux performances des dernières Hypersportives ou Roadster sur vitmainés.</span></p>
|
||||
<div class="video_pneus"><iframe src="https://www.youtube.com/embed/s-GsdbI5hLE" frameborder="0" width="560" height="315"></iframe></div>
|
||||
</div>
|
||||
<div class="img_pneus"><img src="/webotheque/images/1376-pneu-sportsmart-mk3.jpg" width="548" height="610" alt="">
|
||||
<div class="barre_pourcent">
|
||||
<div class="p90"></div>
|
||||
</div>
|
||||
<p>90% route</p>
|
||||
<div class="barre_pourcent">
|
||||
<div class="p10"></div>
|
||||
</div>
|
||||
<p>10% circuit</p>
|
||||
<div class="bloc_btn">
|
||||
<div class="btn_fiche_pneus"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/sportsmart_mk3.SSMART%20MK3.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_pneus">
|
||||
<div class="list_lien_row">
|
||||
<div class="desc_list_pneus">
|
||||
<div class="titre_pneus"><img src="/webotheque/images/1373-sportsmarttt.jpg" width="862" height="78" alt=""></div>
|
||||
<p class="intro_pneus">La forme du moule du pneu avant a été revue en fonction des besoins des pilotes sur route mais aussi sur circuit. Cela permet un excellent équilibre entre effort au guidon et sensation de grip, une formidable remontée d'information, une grande confiance lors des phases de freinage. <span class="orange">La plus haute performance sur vos routes favorites ou sur circuit.</span></p>
|
||||
<div class="video_pneus"><iframe src="https://www.youtube.com/embed/FnpBeUun5sU" frameborder="0" width="560" height="315"></iframe></div>
|
||||
</div>
|
||||
<div class="img_pneus"><img src="/webotheque/images/1377-pneu-sportsmart-tt.jpg" width="550" height="611" alt="">
|
||||
<div class="barre_pourcent">
|
||||
<div class="p50"></div>
|
||||
</div>
|
||||
<p>50% route</p>
|
||||
<div class="barre_pourcent">
|
||||
<div class="p50"></div>
|
||||
</div>
|
||||
<p>50% circuit</p>
|
||||
<div class="bloc_btn">
|
||||
<div class="btn_fiche_pneus"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/sportsmart_tt.SSMART%20TT.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_pneus">
|
||||
<div class="list_lien_row">
|
||||
<div class="desc_list_pneus">
|
||||
<div class="titre_pneus"><img src="/webotheque/images/1374-gpracerd212.jpg" width="727" height="80" alt=""></div>
|
||||
<p class="intro_pneus">Directement dérivé du D212 GP Pro vainqueur à de nombreuses reprises du Isle of Man TT, <span class="orange">le GP Racer D212 homologué route procure des performances qui jusqu'à présent étaient réservées aux pneus destinés aux pilotes professionnels.</span></p>
|
||||
<div class="video_pneus"><iframe src="https://www.youtube.com/embed/kv8yLvmJkmM" frameborder="0" width="560" height="315"></iframe></div>
|
||||
</div>
|
||||
<div class="img_pneus"><img src="/webotheque/images/1378-pneu-gp-racer-d212.jpg" width="542" height="610" alt="">
|
||||
<div class="barre_pourcent">
|
||||
<div class="p100"></div>
|
||||
</div>
|
||||
<p>Usage circuit</p>
|
||||
<div class="bloc_btn">
|
||||
<div class="btn_fiche_pneus"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/gp_racer_d212.RACER%20D212.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_pneus">
|
||||
<div class="list_lien_row">
|
||||
<div class="desc_list_pneus">
|
||||
<div class="titre_pneus"><img src="/webotheque/images/1375-gpracerslick.jpg" width="950" height="93" alt=""></div>
|
||||
<p class="intro_pneus">Directement dérivé du D212 GP Pro, <span class="orange">le GP Racer SLICK D212 procure un niveau de performance ultime en terme de grip pour les pilotes engagés en course d'endurance, ou en journée circuit.</span></p>
|
||||
<div class="video_pneus"><iframe src="https://www.youtube.com/embed/-rRBtdNA-No" frameborder="0" width="560" height="315"></iframe></div>
|
||||
</div>
|
||||
<div class="img_pneus"><img src="/webotheque/images/1379-pneu-gp-racer-slick-d212.jpg" width="546" height="571" alt="">
|
||||
<div class="barre_pourcent">
|
||||
<div class="p100"></div>
|
||||
</div>
|
||||
<p>100% circuit</p>
|
||||
<div class="bloc_btn">
|
||||
<div class="btn_fiche_pneus"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/gp_racer_slick_d212.R%20SLK%20212.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div></div>
|
||||
<br class="clr">
|
||||
</div>
|
||||
</div>
|
||||
<!---->
|
||||
</div>
|
95
html_saves/2020_07_08_pneus.html
Normal file
95
html_saves/2020_07_08_pneus.html
Normal file
@ -0,0 +1,95 @@
|
||||
<div class="pages-pneus">
|
||||
<div class="top-banner">
|
||||
<div>
|
||||
<p><span>économisez</span> <img src="/webotheque/images/1371-arrow_down.jpg"></p>
|
||||
<p><span>30€ remboursés</span> sur vos pneus <img src="/webotheque/images/1380-logo-dunlop-187px.jpg"></p>
|
||||
<p><span>1 planche</span> de stickers</p>
|
||||
</div>
|
||||
<div class="more-infos"><a href="/fr/primes.html">Plus d'infos</a></div>
|
||||
</div>
|
||||
|
||||
<div class="block-pneu">
|
||||
<div class="description">
|
||||
<img src="/webotheque/images/1372-sportsmart.jpg" alt="">
|
||||
<p>Sa conception Dynamic Front Formula (DDF) associée à une composition de gommes innovante offre une adhérence et des performances améliorées, quelles que soient les conditions.</p>
|
||||
<p><span>Cela garantit que le Mk3 repousse les limites de ce qui est possible, pour correspondre aux performances des dernières Hypersportives ou Roadster sur vitmainés.</span></p>
|
||||
<iframe src="https://www.youtube.com/embed/s-GsdbI5hLE" frameborder="0" width="560" height="315"></iframe>
|
||||
</div>
|
||||
<div class="synthese">
|
||||
<img src="/webotheque/images/1376-pneu-sportsmart-mk3.jpg" width="548" height="610" alt="">
|
||||
<div class="barre_percent">
|
||||
<div class="progression" style="width: 90%;"></div>
|
||||
</div>
|
||||
<p>90% route</p>
|
||||
<div class="barre_percent">
|
||||
<div class="progression" style="width: 10%;"></div>
|
||||
</div>
|
||||
<p>10% circuit</p>
|
||||
|
||||
<div class="more-infos"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/sportsmart_mk3.SSMART%20MK3.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="block-pneu">
|
||||
<div class="description">
|
||||
<img src="/webotheque/images/1373-sportsmarttt.jpg" alt="">
|
||||
<p>La forme du moule du pneu avant a été revue en fonction des besoins des pilotes sur route mais aussi sur circuit. Cela permet un excellent équilibre entre effort au guidon et sensation de grip, une formidable remontée d'information, une grande confiance lors des phases de freinage. <span>La plus haute performance sur vos routes favorites ou sur circuit.</span></p>
|
||||
<iframe src="https://www.youtube.com/embed/FnpBeUun5sU" frameborder="0" width="560" height="315"></iframe>
|
||||
</div>
|
||||
<div class="synthese">
|
||||
<img src="/webotheque/images/1377-pneu-sportsmart-tt.jpg" width="550" height="611" alt="">
|
||||
<div class="barre_percent">
|
||||
<div class="progression" style="width: 50%;"></div>
|
||||
</div>
|
||||
<p>50% route</p>
|
||||
<div class="barre_percent">
|
||||
<div class="progression" style="width: 50%;"></div>
|
||||
</div>
|
||||
<p>50% circuit</p>
|
||||
|
||||
<div class="more-infos"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/sportsmart_tt.SSMART%20TT.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="block-pneu">
|
||||
<div class="description">
|
||||
<img src="/webotheque/images/1374-gpracerd212.jpg" alt="">
|
||||
<p>Directement dérivé du D212 GP Pro vainqueur à de nombreuses reprises du Isle of Man TT, <span>le GP Racer D212 homologué route procure des performances qui jusqu'à présent étaient réservées aux pneus destinés aux pilotes professionnels.</span></p>
|
||||
<iframe src="https://www.youtube.com/embed/kv8yLvmJkmM" frameborder="0" width="560" height="315"></iframe>
|
||||
</div>
|
||||
<div class="synthese">
|
||||
<img src="/webotheque/images/1378-pneu-gp-racer-d212.jpg" width="550" height="611" alt="">
|
||||
<div class="barre_percent">
|
||||
<div class="progression" style="width: 100%;"></div>
|
||||
</div>
|
||||
<p>Usage circuit</p>
|
||||
|
||||
<div class="more-infos"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/gp_racer_d212.RACER%20D212.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="block-pneu">
|
||||
<div class="description">
|
||||
<img src="/webotheque/images/1375-gpracerslick.jpg" alt="">
|
||||
<p>Directement dérivé du D212 GP Pro, <span>le GP Racer SLICK D212 procure un niveau de performance ultime en terme de grip pour les pilotes engagés en course d'endurance, ou en journée circuit.</span></p>
|
||||
<iframe src="https://www.youtube.com/embed/-rRBtdNA-No" frameborder="0" width="560" height="315"></iframe>
|
||||
</div>
|
||||
<div class="synthese">
|
||||
<img src="/webotheque/images/1379-pneu-gp-racer-slick-d212.jpg" width="550" height="611" alt="">
|
||||
<div class="barre_percent">
|
||||
<div class="progression" style="width: 100%;"></div>
|
||||
</div>
|
||||
<p>100% circuit</p>
|
||||
|
||||
<div class="more-infos"><a href="https://www.dunlop.eu/fr_fr/motorcycle/tires/gp_racer_slick_d212.R%20SLK%20212.html#/" target="_blank">Plus d'infos</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user