une commande de coupe de cheveux

This commit is contained in:
Paul Schneider 2017-04-01 02:14:10 +02:00
commit c001994d50
38 changed files with 3137 additions and 196 deletions

View file

@ -5091,8 +5091,8 @@ a.thumbnail.active {
.alert-dismissable .close,
.alert-dismissible .close {
position: relative;
top: -2px;
right: -21px;
top: 0;
right: 0;
color: inherit;
}
.alert-success {

View file

@ -2,6 +2,14 @@
/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.performer {
padding-left: 1em;
background-repeat: no-repeat;
background-image: url('/images/greenstar.svg');
}
.performer ul {
margin-left: 2.5em;
}
.smalltofhol { max-height: 3em; max-width: 3em; float:left; margin:.5em; }
.price {
@ -218,7 +226,9 @@ footer {
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
font-stretch: condensed;
display: inline-flex;
color: #444;
color: #ff8;
padding: .1em;
border-radius: .5em;
background-color: #210912;
}

View file

@ -0,0 +1,423 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns1="http://sozi.baierouge.fr"
xmlns:xlink="http://www.w3.org/1999/xlink"
id="svg2"
sodipodi:docname="New document 1"
viewBox="0 0 744.09 1052.4"
version="1.1"
inkscape:version="0.48.2 r9819"
>
<defs
id="defs4"
>
<filter
id="filter3962"
inkscape:collect="always"
>
<feGaussianBlur
id="feGaussianBlur3964"
stdDeviation="14.937759"
inkscape:collect="always"
/>
</filter
>
<filter
id="filter3962-5"
color-interpolation-filters="sRGB"
inkscape:collect="always"
>
<feGaussianBlur
id="feGaussianBlur3964-1"
stdDeviation="14.937759"
inkscape:collect="always"
/>
</filter
>
<filter
id="filter3962-5-1"
color-interpolation-filters="sRGB"
inkscape:collect="always"
>
<feGaussianBlur
id="feGaussianBlur3964-1-1"
stdDeviation="14.937759"
inkscape:collect="always"
/>
</filter
>
</defs
>
<sodipodi:namedview
id="base"
bordercolor="#666666"
inkscape:pageshadow="2"
inkscape:window-y="-4"
pagecolor="#ffffff"
inkscape:window-height="719"
inkscape:window-maximized="1"
inkscape:zoom="4.9055355"
inkscape:window-x="-4"
showgrid="false"
borderopacity="1.0"
inkscape:current-layer="layer2"
inkscape:cx="426.89648"
inkscape:cy="580.44685"
inkscape:window-width="1024"
inkscape:pageopacity="0.0"
inkscape:document-units="px"
/>
<g
id="layer2"
inkscape:label="Layer"
inkscape:groupmode="layer"
>
<path
id="path2985-5"
style="stroke-linejoin:round;fill-opacity:.68159;filter:url(#filter3962);stroke:#000000;stroke-linecap:round;fill:#222b00"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="308.78299"
sodipodi:r2="33.812248"
sodipodi:arg1="-0.68052122"
sodipodi:arg2="0.10487694"
transform="translate(216.85 -7.2305)"
inkscape:randomized="0"
sodipodi:cy="469.50504"
sodipodi:cx="168.57143"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m408.57 275.22-206.37 197.82 160.66 236.47-197.83-206.38-236.46 160.66 206.37-197.82-160.65-236.46 197.82 206.37z"
/>
<path
id="path2985-5-7"
style="stroke-linejoin:round;fill-opacity:.68159;filter:url(#filter3962-5);stroke:#000000;stroke-linecap:round;fill:#677821"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="308.78299"
sodipodi:r2="33.812248"
sodipodi:arg1="-0.68052122"
sodipodi:arg2="0.10487694"
transform="matrix(.85789 .51384 -.51384 .85789 490.03 -43.074)"
inkscape:randomized="0"
sodipodi:cy="469.50504"
sodipodi:cx="168.57143"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m408.57 275.22-206.37 197.82 160.66 236.47-197.83-206.38-236.46 160.66 206.37-197.82-160.65-236.46 197.82 206.37z"
/>
<path
id="path2985-5-7-5"
style="stroke-linejoin:round;fill-opacity:.68159;filter:url(#filter3962-5-1);stroke:#000000;stroke-linecap:round;fill:#89a02c"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="308.78299"
sodipodi:r2="33.812248"
sodipodi:arg1="-0.68052122"
sodipodi:arg2="0.10487694"
transform="matrix(.48272 .87577 -.87577 .48272 725.86 74.714)"
inkscape:randomized="0"
sodipodi:cy="469.50504"
sodipodi:cx="168.57143"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m408.57 275.22-206.37 197.82 160.66 236.47-197.83-206.38-236.46 160.66 206.37-197.82-160.65-236.46 197.82 206.37z"
/>
</g
>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
>
<path
id="path2985"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#222b00"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="308.78299"
sodipodi:r2="33.812248"
sodipodi:arg1="-0.68052122"
sodipodi:arg2="0.10487694"
transform="translate(221.93 -7.6428)"
inkscape:randomized="0"
sodipodi:cy="469.50504"
sodipodi:cx="168.57143"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m408.57 275.22-206.37 197.82 160.66 236.47-197.83-206.38-236.46 160.66 206.37-197.82-160.65-236.46 197.82 206.37z"
/>
<path
id="path2989"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#445500"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="237.67583"
sodipodi:r2="26.025894"
sodipodi:arg1="1.7398976"
sodipodi:arg2="2.5252957"
transform="translate(233.59 -14.246)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="160"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m120 709.51 18.762-219.24-213.05-55.043 219.24 18.762 55.043-213.05-18.762 219.24 213.05 55.043-219.24-18.762z"
/>
<path
id="path2993"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#668000"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="translate(233.56 -12.676)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#88aa00"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(.75245 -.42879 .42879 .75245 70.116 173.02)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1-7"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#aad400"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(.35360 -.53777 .53777 .35360 83.289 380.3)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1-7-4"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#ccff00"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(.022335 -.44239 .44239 .022335 182.03 522)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1-7-4-0"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#ddff55"
sodipodi:type="star"
sodipodi:sides="4"
inkscape:transform-center-x="74.779817"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
inkscape:transform-center-y="25.019476"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(-.15559 -.23697 .23697 -.15559 309.65 572.97)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1-7-4-8"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#e5ff80"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(-.031858 -.15423 .15423 -.031858 328.27 501.07)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1-7-4-8-8"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#e5ff80"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(-.086843 -.049011 .049011 -.086843 387.55 510.35)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1-7-4-8-8-2"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#eeffaa"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(-.051379 .023697 -.023697 -.051379 416.52 481.6)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
<path
id="path2993-1-7-4-8-8-2-4"
style="stroke-linejoin:round;fill-opacity:.98039;stroke:#000000;stroke-linecap:round;fill:#f6ffd5"
sodipodi:type="star"
sodipodi:sides="4"
sodipodi:r1="159.23285"
sodipodi:r2="17.43626"
sodipodi:arg1="1.4085975"
sodipodi:arg2="2.1939957"
transform="matrix(-.0075125 .017226 -.017226 -.0075125 406.72 461.92)"
inkscape:randomized="0"
sodipodi:cy="475.21933"
sodipodi:cx="162.85715"
inkscape:rounded="-3.469447e-018"
inkscape:flatsided="false"
d="m188.57 632.36-35.89-142.98-146.97 11.55 142.99-35.89-11.56-146.96 35.89 142.98 146.97-11.55-142.98 35.89z"
/>
</g
>
<metadata
>
<rdf:RDF
>
<cc:Work
>
<dc:format
>image/svg+xml</dc:format
>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"
/>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/"
/>
<dc:publisher
>
<cc:Agent
rdf:about="http://openclipart.org/"
>
<dc:title
>Openclipart</dc:title
>
</cc:Agent
>
</dc:publisher
>
<dc:title
>Green Star</dc:title
>
<dc:date
>2012-05-28T15:51:10</dc:date
>
<dc:description
>Many four pointed stars on top of each other.</dc:description
>
<dc:source
>https://openclipart.org/detail/170275/green-star-by-mairor</dc:source
>
<dc:creator
>
<cc:Agent
>
<dc:title
>mairor</dc:title
>
</cc:Agent
>
</dc:creator
>
<dc:subject
>
<rdf:Bag
>
<rdf:li
>colours</rdf:li
>
<rdf:li
>green</rdf:li
>
<rdf:li
>shades</rdf:li
>
<rdf:li
>star</rdf:li
>
</rdf:Bag
>
</dc:subject
>
</cc:Work
>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/"
>
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction"
/>
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution"
/>
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks"
/>
</cc:License
>
</rdf:RDF
>
</metadata
>
</svg
>

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,88 @@
+(function($,maps){
$.widget("psc.googlegeocode" , {
options: {
mapId: 'map',
longId: 'Longitude',
latId: 'Latitude',
addrValidationId: 'AddressError',
formValidId: 'ValidationSummary',
locComboId: 'LocationCombo'
},
marker: null,
gmap: null,
_create: function() {
this.element.addClass("googlegeocode");
this.gmap = new maps.Map(document.getElementById(this.options.mapId), {
zoom: 16,
center: { lat: 48.862854, lng: 2.2056466 }
});
var _this =this;
this.element.rules("add",
{
remote: {
url: 'https://maps.googleapis.com/maps/api/geocode/json',
type: 'get',
data: {
sensor: false,
address: function () { return _this.element.val() }
},
dataType: 'json',
dataFilter: function(datastr) {
$('#'+_this.options.locComboId).html("");
var data = JSON.parse(datastr);
data.results.forEach(function(item) {
if (item.formatted_address !== _this.element.val()) {
$('<li>'+item.formatted_address+'</li>')
.data("geoloc",item)
.click(function() { _this.chooseLoc('user',item) })
.css('cursor','pointer')
.appendTo($('#'+_this.options.locComboId));}
else { }
});
if ((data.status === 'OK') && (data.results.length == 1))
{
// _this.chooseLoc('google',data.results[0]);
return true;
}
return false;
},
error: function()
{
// xhr, textStatus, errorThrown console.log('ajax loading error ... '+textStatus+' ... '+ errorThrown);
return false;
}
}
})},
chooseLoc: function(sender,loc) {
if (sender === 'user') this.element.val(loc.formatted_address);
var pos = loc.geometry.location;
var lat = new Number(pos.lat);
var lng = new Number(pos.lng);
$(document.getElementById(this.options.latId)).val(lat.toLocaleString('en'));
$(document.getElementById(this.options.longId)).val(lng.toLocaleString('en'));
this.gmap.setCenter(pos);
if (this.marker) { 
this.marker.setMap(null);
}
this.marker = new maps.Marker({
map: this.gmap,
draggable: true,
animation: maps.Animation.DROP,
position: pos
});
maps.event.addListener(this.marker, 'dragend', function() {
// TODO reverse geo code
var pos = this.marker.getPosition();
$('#'+this.options.latId).val(pos.lat);
$('#'+this.options.longId).val(pos.lng);
});
this.element.valid();
$('#'+this.options.addrValidationId).empty();
$('#'+this.options.formValidId).empty();
$('#'+this.options.locComboId).empty();
return this;
}
})
})(jQuery,google.maps)

View file

@ -0,0 +1,97 @@
//
// parralax.js
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
$(document).ready(function($){
var $window = $(window);
var $stwidth = $(window).width();
var $stheight = $(window).height();
var onPos = function (bgobj,ax,ay) {
var speed = bgobj.data('speed');
var dx=($window.scrollLeft()+ax-$stwidth/2)/speed;
var dy=($window.scrollTop()+ay-$stheight/2)/speed;
var xPos = bgobj.attr('orgbgpx') - Math.round( dx );
var yPos = bgobj.attr('orgbgpy') - Math.round( dy );
// Put together our final background position
var coords = '' + xPos + bgobj.attr('orgbgpxu') + yPos + bgobj.attr('orgbgpyu');
// Move the background
bgobj.css({ backgroundPosition: coords });
};
var tiltLR=0;
var titleFB=0;
$('[data-type="background"]').each(function(){
var $bgobj = $(this); // assigning the object
// get the initial background position, assumes a "X% Yem" ?
var orgpos = $bgobj.css('backgroundPosition');
var bgpos = orgpos.split(" ");
var bgposx = bgpos[0];
var bgposy = bgpos[1];
if (/%$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-1);
$bgobj.attr('orgbgpxu','% ');
}
else if (/em$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-2);
$bgobj.attr('orgbgpxu','em ');
}
else if (/px$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-2);
$bgobj.attr('orgbgpxu','px ');
}
else { $bgobj.attr('orgbgpxu','px '); }
if (/%$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-1);
$bgobj.attr('orgbgpyu','% ');
}
else if (/em$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-2);
$bgobj.attr('orgbgpyu','em ');
}
else if (/px$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-2);
$bgobj.attr('orgbgpyu','px ');
}
else { $bgobj.attr('orgbgpyu','px '); }
$bgobj.attr('orgbgpx',parseInt(bgposx));
$bgobj.attr('orgbgpy',parseInt(bgposy));
$(window).scroll(function() {
onPos($bgobj,tiltLR,titleFB);
});
if (window.DeviceOrientationEvent) {
if ($stwidth>320 && $stheight>320) {
window.addEventListener('deviceorientation', function(event) {
tiltLR = $stwidth*Math.sin(event.gamma*Math.PI/180);
titleFB = $stheight*Math.sin(event.beta*Math.PI/90);
onPos($bgobj,tiltLR,titleFB);
},false); }
$(window).mousemove(function(e) {
tiltLR = e.pageX;
titleFB = e.pageY;
onPos($bgobj,e.pageX,e.pageY);
});
}
});
}(jQuery));