Compare commits

...

2 Commits

Author SHA1 Message Date
thibault173
d7f4351b30 Update home css 2020-07-08 12:24:33 +02:00
thibault173
ec70f39201 Update css for header and footer 2020-07-07 14:39:39 +02:00
22 changed files with 1882 additions and 3151 deletions

1
.gitignore vendored
View File

@ -42,4 +42,5 @@ yarn-debug.log*
/pdf/*
/.sass_cache/*
/test*

View 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');

View 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;
}
}

View 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;
}

View 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

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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"

View File

@ -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

View 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]

View 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

View 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

View 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

File diff suppressed because it is too large Load Diff

View 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>

View 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>