Merge branch 'trunk'

This commit is contained in:
Olivier Legat 2022-01-04 09:06:06 +01:00
commit 00603e8776
17 changed files with 431 additions and 287 deletions

View file

@ -2,10 +2,38 @@
namespace App\Http\Controllers;
use App\Mail\SendMail;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
class PostController extends Controller
{
public $data = array();
public function index()
{
return view('home');
}
public function pageMentionslegales()
{
return view('rgpd/mentionslegales');
}
public function pageCharteConfidentialite()
{
return view('rgpd/mentionslegales');
}
public function send(Request $request)
{
$data = array(
'name' => $request->name,
'firstname' => $request->firstname,
'mail' => $request->mail,
'object' => $request->object,
'message' => $request->message
);
Mail::to('ldc@test.com')->send(new SendMail($data));
return redirect()->back()->withSuccess('Votre message à bien été envoyé !');
}
}

36
app/Mail/SendMail.php Normal file
View file

@ -0,0 +1,36 @@
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class SendMail extends Mailable
{
use Queueable, SerializesModels;
public $data;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from($this->data['mail'])
->subject($this->data['object'])
->with('data', $this->data)
->markdown('emails.send');
}
}

30
public/css/app.css vendored
View file

@ -20,6 +20,7 @@ body {
background-position: bottom;
background-size: cover;
background-repeat: repeat-y;
min-height: 100vh;
}
h1 {
@ -56,13 +57,17 @@ header .headerFond img {
width: auto;
min-width: 100%;
}
header .headerLogo {
header a {
position: absolute;
width: auto;
height: 40vw;
max-height: 18rem;
z-index: 1;
}
header a .headerLogo {
width: auto;
height: 100%;
}
main {
margin-top: 3.8rem;
@ -176,7 +181,7 @@ form {
justify-content: center;
align-items: center;
}
form input[type=text], form textarea {
form input[type=text], form input[type=email], form textarea {
width: calc(100% - 14rem - 2px);
margin-top: 2rem;
padding: 1rem 7rem;
@ -188,19 +193,19 @@ form textarea {
height: 10rem;
resize: none;
}
form input[type=text]::-moz-placeholder, form textarea::-moz-placeholder {
form input[type=text]::-moz-placeholder, form input[type=email]::-moz-placeholder, form textarea::-moz-placeholder {
font-family: "AachenMediumPlain";
color: #000000;
opacity: 1;
font-size: 2rem;
}
form input[type=text]:-ms-input-placeholder, form textarea:-ms-input-placeholder {
form input[type=text]:-ms-input-placeholder, form input[type=email]:-ms-input-placeholder, form textarea:-ms-input-placeholder {
font-family: "AachenMediumPlain";
color: #000000;
opacity: 1;
font-size: 2rem;
}
form input[type=text]::placeholder, form textarea::placeholder, form input[type=submit] {
form input[type=text]::placeholder, form input[type=email]::placeholder, form textarea::placeholder, form input[type=submit] {
font-family: "AachenMediumPlain";
color: #000000;
opacity: 1;
@ -223,6 +228,11 @@ form input[type=submit] {
form input[name=nom] {
margin-top: 0;
}
form .formResponse {
text-align: center;
color: #007abb;
margin: 1rem 0;
}
footer {
width: 60%;
@ -230,7 +240,7 @@ footer {
font-family: "CreamyScript";
border-top: 0.5rem solid #ffffff;
}
footer p {
footer .footerRdv {
margin: 2rem;
display: flex;
flex-direction: row;
@ -251,21 +261,21 @@ footer .footerIcon .footerSvg {
}
footer .footerRgpd {
display: flex;
flex-direction: row;
flex-direction: column;
justify-content: center;
align-items: center;
cursor: pointer;
font-size: 2rem;
width: 100%;
}
footer .footerRgpd a {
background: transparent;
color: #007abb;
color: #ffffff;
margin: 0 1rem;
padding: 0;
text-decoration: none;
}
footer .footerRgpd a:hover {
color: #ffffff;
color: #e22b2c;
}
@media screen and (max-width: 900px) {

19
public/js/app.js vendored
View file

@ -19318,19 +19318,6 @@ __webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./resources/css/cookies-ldc.css":
/*!***************************************!*\
!*** ./resources/css/cookies-ldc.css ***!
\***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./node_modules/process/browser.js":
@ -19649,7 +19636,6 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "/js/app": 0,
/******/ "css/cookies-ldc": 0,
/******/ "css/app": 0
/******/ };
/******/
@ -19700,9 +19686,8 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
/******/ __webpack_require__.O(undefined, ["css/cookies-ldc","css/app"], () => (__webpack_require__("./resources/js/app.js")))
/******/ __webpack_require__.O(undefined, ["css/cookies-ldc","css/app"], () => (__webpack_require__("./resources/scss/app.scss")))
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["css/cookies-ldc","css/app"], () => (__webpack_require__("./resources/css/cookies-ldc.css")))
/******/ __webpack_require__.O(undefined, ["css/app"], () => (__webpack_require__("./resources/js/app.js")))
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["css/app"], () => (__webpack_require__("./resources/scss/app.scss")))
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/
/******/ })()

View file

@ -3,12 +3,6 @@ var __webpack_exports__ = {};
/*!*************************************!*\
!*** ./resources/js/cookies-ldc.js ***!
\*************************************/
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
window.LDCWebCN = new LdcwebCn({
'recaptcha': {
'name': "API - reCAPTACHA",
@ -28,12 +22,12 @@ window.LDCWebCN = new LdcwebCn({
'name': "MESURES D'AUDIENCE - Google Analytics",
'description': 'Les services de mesure d\'audience permettent de générer des statistiques de fréquentation utiles à l\'amélioration du site.',
'link': 'https://support.google.com/analytics/answer/6004245',
'cookies': ['NID', '_ga', '_gat_gtag_UA_54196604_1', '_gid'],
'cookies': ['NID', '_ga', '_gat_gtag_UA_35342869_1', '_gid'],
'script': function script() {
(function (d, t) {
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = 'https://www.googletagmanager.com/gtag/js?id=UA-54196604-1';
g.src = 'https://www.googletagmanager.com/gtag/js?id=UA-35342869-1';
g.id = 'analytics';
s.parentNode.insertBefore(g, s);
})(document, 'script');
@ -45,129 +39,7 @@ window.LDCWebCN = new LdcwebCn({
}
gtag('js', new Date());
gtag('config', 'UA-54196604-1');
}
},
'youtube': {
'name': "VIDEOS - Youtube",
'description': 'Les cookies déposés via les services de partage de vidéo ont pour finalité de permettre à l’utilisateur de visionner directement sur le site le contenu multimédia.',
'link': 'https://policies.google.com/technologies/cookies?hl=fr&utm_source=ucb',
'cookies': ['NID', 'VISITOR_INFO1_LIVE', 'YSC'],
'script': function script() {
var youtubeVids = document.getElementsByClassName('ldcweb-cn-youtube');
var _iterator = _createForOfIteratorHelper(youtubeVids),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var item = _step.value;
var id = item.dataset.id;
var e = document.createElement('iframe');
e.src = "https://www.youtube.com/embed/" + id;
e.width = "640";
e.height = "360";
e.frameBorder = "0";
e.allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture";
e.allowFullscreen = true;
item.innerHTML = "";
item.appendChild(e);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
},
fallback: function fallback() {
var youtubeVids = document.getElementsByClassName('ldcweb-cn-youtube');
var _iterator2 = _createForOfIteratorHelper(youtubeVids),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var item = _step2.value;
var a = document.createElement('a');
a.innerText = 'Autoriser';
a.href = '#';
a.classList.add('ldcweb-cn-cookieslink');
a.onclick = function () {
LDCWebCN.openModal();
};
var e = document.createElement('p');
e.innerHTML = 'Youtube est désactivé. ';
e.appendChild(a);
item.appendChild(e);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
},
'vimeo': {
'name': "VIDEOS - Vimeo",
'description': 'Les cookies déposés via les services de partage de vidéo ont pour finalité de permettre à l’utilisateur de visionner directement sur le site le contenu multimédia.',
'link': 'https://vimeo.com/cookie_policy',
'cookies': [],
'script': function script() {
var vimeoVids = document.getElementsByClassName('ldcweb-cn-vimeo');
var _iterator3 = _createForOfIteratorHelper(vimeoVids),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var item = _step3.value;
var id = item.dataset.id;
var e = document.createElement('iframe');
e.src = "https://player.vimeo.com/video/" + id;
e.width = "640";
e.height = "360";
e.frameBorder = "0";
e.allow = "autoplay; fullscreen; picture-in-picture";
e.allowFullscreen = true;
item.innerHTML = "";
item.appendChild(e);
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
},
fallback: function fallback() {
var vimeoVids = document.getElementsByClassName('ldcweb-cn-vimeo');
var _iterator4 = _createForOfIteratorHelper(vimeoVids),
_step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
var item = _step4.value;
var a = document.createElement('a');
a.innerText = 'Autoriser';
a.href = '#';
a.classList.add('ldcweb-cn-cookieslink');
a.onclick = function () {
LDCWebCN.openModal();
};
var e = document.createElement('p');
e.innerHTML = 'Vimeo est désactivé. ';
e.appendChild(a);
item.appendChild(e);
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
gtag('config', 'UA-35342869-1');
}
}
});

View file

@ -1,14 +1,5 @@
{
"/js/app.js": "/js/app.js",
"/js/cookies-ldc.js": "/js/cookies-ldc.js",
"/css/cookies-ldc.css": "/css/cookies-ldc.css",
"/css/app.css": "/css/app.css",
"/assets/cloche.png": "/assets/cloche.png",
"/assets/coin.png": "/assets/coin.png",
"/assets/fond_ardoise.png": "/assets/fond_ardoise.png",
"/assets/fond_inox_avec_courbe.png": "/assets/fond_inox_avec_courbe.png",
"/assets/ligneDroitGauche.png": "/assets/ligneDroitGauche.png",
"/assets/ligneHautBas.png": "/assets/ligneHautBas.png",
"/assets/logo_legauloispro.png": "/assets/logo_legauloispro.png",
"/assets/separateur_etoile.png": "/assets/separateur_etoile.png"
"/css/app.css": "/css/app.css"
}

View file

@ -1,108 +1,32 @@
window.LDCWebCN = new LdcwebCn({
'recaptcha': {
'name': "API - reCAPTACHA",
'description': 'Les cookies qui sont déposés via le recaptcha sur les formulaires ont pour finalité d\'empêcher que ceux-ci ne soient soumis par des robots',
'link': 'https://policies.google.com/privacy',
'cookies': ['NID', '__Secure-3PAPISID', '__Secure-3PSID', '__Secure-3PSIDCC'],
'script': function () {
(function (d, t) {
let g = d.createElement(t), s = d.getElementsByTagName(t)[0];
g.src = 'https://www.google.com/recaptcha/api.js?render=6LePZvAUAAAAABs8uGHxhSkJVPVs4yCJ3amJ1HpX';
s.parentNode.insertBefore(g, s)
}(document, 'script'));
}
},
'name': "API - reCAPTACHA",
'description': 'Les cookies qui sont déposés via le recaptcha sur les formulaires ont pour finalité d\'empêcher que ceux-ci ne soient soumis par des robots',
'link': 'https://policies.google.com/privacy',
'cookies': ['NID', '__Secure-3PAPISID', '__Secure-3PSID', '__Secure-3PSIDCC'],
'script': function () {
(function (d, t) {
let g = d.createElement(t), s = d.getElementsByTagName(t)[0];
g.src = 'https://www.google.com/recaptcha/api.js?render=6LePZvAUAAAAABs8uGHxhSkJVPVs4yCJ3amJ1HpX';
s.parentNode.insertBefore(g, s)
}(document, 'script'));
}
},
'analytics': {
'name': "MESURES D'AUDIENCE - Google Analytics",
'description': 'Les services de mesure d\'audience permettent de générer des statistiques de fréquentation utiles à l\'amélioration du site.',
'link': 'https://support.google.com/analytics/answer/6004245',
'cookies': ['NID', '_ga', '_gat_gtag_UA_54196604_1', '_gid'],
'script': function () {
'name': "MESURES D'AUDIENCE - Google Analytics",
'description': 'Les services de mesure d\'audience permettent de générer des statistiques de fréquentation utiles à l\'amélioration du site.',
'link': 'https://support.google.com/analytics/answer/6004245',
'cookies': ['NID', '_ga', '_gat_gtag_UA_35342869_1', '_gid'],
'script': function () {
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src='https://www.googletagmanager.com/gtag/js?id=UA-54196604-1';g.id='analytics';
g.src='https://www.googletagmanager.com/gtag/js?id=UA-35342869-1';g.id='analytics';
s.parentNode.insertBefore(g,s)}(document,'script'));
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-54196604-1');
}
},
'youtube': {
'name': "VIDEOS - Youtube",
'description': 'Les cookies déposés via les services de partage de vidéo ont pour finalité de permettre à l’utilisateur de visionner directement sur le site le contenu multimédia.',
'link': 'https://policies.google.com/technologies/cookies?hl=fr&utm_source=ucb',
'cookies': ['NID', 'VISITOR_INFO1_LIVE', 'YSC'],
'script': function () {
let youtubeVids = document.getElementsByClassName('ldcweb-cn-youtube');
for (let item of youtubeVids) {
let id = item.dataset.id;
let e = document.createElement('iframe');
e.src = "https://www.youtube.com/embed/"+ id;
e.width = "640";
e.height = "360";
e.frameBorder = "0";
e.allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture";
e.allowFullscreen = true;
item.innerHTML = "";
item.appendChild(e);
}
},
fallback: function () {
let youtubeVids = document.getElementsByClassName('ldcweb-cn-youtube');
for (let item of youtubeVids) {
let a = document.createElement('a');
a.innerText = 'Autoriser';
a.href = '#';
a.classList.add('ldcweb-cn-cookieslink');
a.onclick = function() {
LDCWebCN.openModal();
};
let e = document.createElement('p');
e.innerHTML = 'Youtube est désactivé. ';
e.appendChild(a);
item.appendChild(e);
}
}
},
'vimeo': {
'name': "VIDEOS - Vimeo",
'description': 'Les cookies déposés via les services de partage de vidéo ont pour finalité de permettre à l’utilisateur de visionner directement sur le site le contenu multimédia.',
'link': 'https://vimeo.com/cookie_policy',
'cookies': [],
'script': function () {
let vimeoVids = document.getElementsByClassName('ldcweb-cn-vimeo');
for (let item of vimeoVids) {
let id = item.dataset.id;
let e = document.createElement('iframe');
e.src = "https://player.vimeo.com/video/"+ id;
e.width = "640";
e.height = "360";
e.frameBorder = "0";
e.allow = "autoplay; fullscreen; picture-in-picture";
e.allowFullscreen = true;
item.innerHTML = "";
item.appendChild(e);
}
},
fallback: function () {
let vimeoVids = document.getElementsByClassName('ldcweb-cn-vimeo');
for (let item of vimeoVids) {
let a = document.createElement('a');
a.innerText = 'Autoriser';
a.href = '#';
a.classList.add('ldcweb-cn-cookieslink');
a.onclick = function() {
LDCWebCN.openModal();
};
let e = document.createElement('p');
e.innerHTML = 'Vimeo est désactivé. ';
e.appendChild(a);
item.appendChild(e);
}
gtag('config', 'UA-35342869-1');
}
}
});

View file

@ -3,7 +3,7 @@ footer{
margin: 0 auto 5rem auto;
font-family: 'CreamyScript';
border-top: .5rem solid $color3;
p{
.footerRdv{
margin: 2rem;
@include flex-content(row, center, center);
}
@ -20,18 +20,18 @@ footer{
}
}
.footerRgpd{
@include flex-content(row, center, center);
cursor: pointer;
@include flex-content(column, center, center);
font-size: 2rem;
width: 100%;
a{
background: transparent;
color: $color1;
color: $color3;
margin: 0 1rem;
padding: 0;
text-decoration: none;
}
a:hover{
color: $color3;
color: $color2;
}
}
}

View file

@ -3,7 +3,7 @@ form{
margin-bottom: 5px;
font-family: 'AachenMediumPlain';
@include flex-content(column, center, center);
input[type="text"], textarea{
input[type="text"], input[type="email"], textarea{
width: calc(100% - ($formPadding*2) - ($formWidthBorder*2));
margin-top: 2rem;
padding: 1rem $formPadding;
@ -15,7 +15,7 @@ form{
height: 10rem;
resize: none;
}
input[type="text"]::placeholder, textarea::placeholder, input[type="submit"]{
input[type="text"]::placeholder, input[type="email"]::placeholder, textarea::placeholder, input[type="submit"]{
font-family: 'AachenMediumPlain';
color: $color4;
opacity: 1;
@ -38,4 +38,9 @@ form{
input[name="nom"]{
margin-top: 0;
}
.formResponse{
text-align: center;
color: $color1;
margin: 1rem 0;
}
}

View file

@ -11,6 +11,7 @@ body{
background-position: bottom;
background-size: cover;
background-repeat: repeat-y;
min-height: 100vh;
}
h1{
position: absolute;

View file

@ -14,11 +14,15 @@ header{
min-width: 100%;
}
}
.headerLogo{
a{
position: absolute;
width: auto;
height: 40vw;
max-height: 18rem;
z-index: 1;
.headerLogo{
width: auto;
height: 100%;
}
}
}

View file

@ -0,0 +1,5 @@
@component('mail::message')
# Mme/M. {{ $data['name'] }} {{ $data['firstname'] }}.
{{ $data['message'] }}
@endcomponent

View file

@ -3,7 +3,16 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="author" content="LDC">
<meta name="publisher" content="LDC">
<meta name="reply-to" content="rhd[at]ldc.fr">
<meta name="category" content="internet">
<meta name="description" content="Site Le Gaulois pour les Professionnel">
<meta name="keywords" lang="fr" content="Le, Gaulois, Professionnel, le, gaulois, professionnel, Pro, pro, le gaulois pro, Le Gaulois Pro, Gaulois Pro, gaulois pro, LDC, ldc">
<meta name="robots" content="all">
<title>Le Gaulois Professionnel</title>
<link rel="icon" href="{{ asset('assets/logo_legauloispro.png') }}">
<!-- MAIN CSS -->
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<!-- COOKIES -->
@ -18,7 +27,7 @@
<div class="headerFond">
<img src="{{ asset('assets/fond_inox_avec_courbe.png') }}" alt="Fond en inox">
</div>
<img class="headerLogo" src="{{ asset('assets/logo_legauloispro.png') }}" alt="Logo Le Gaulois Professionnel">
<a href="{{ url('/' ) }}"><img class="headerLogo" src="{{ asset('assets/logo_legauloispro.png') }}" alt="Logo Le Gaulois Professionnel"></a>
</header>
<!-- ARTICLES -->
@ -64,20 +73,24 @@
</article>
<!-- FORMULAIRE -->
<form method="POST" action="index.php">
<input type="text" name="nom" placeholder="Nom*" required>
<input type="text" name="prenom" placeholder="Prénom*" required>
<input type="text" name="email" placeholder="Email*" required>
<input type="text" name="sujet" placeholder="Sujet*" required>
<form method="POST" action="/mail">
@csrf
<input type="text" name="name" placeholder="Nom*" required>
<input type="text" name="firstname" placeholder="Prénom*" required>
<input type="email" name="mail" placeholder="Email*" required>
<input type="text" name="object" placeholder="Sujet*" required>
<textarea name="message" placeholder="Votre message*" required></textarea>
<p>Les champs marqués d'un astérisque * sont obligatoires.</p>
@if(session('success'))
<p class="formResponse">{{session('success')}}</p>
@endif
<input type="submit" name="sendMail" value="ENVOYER">
</form>
</main>
<!-- FOOTER -->
<footer>
<p>Et suivez-nous sur notre page
<p class="footerRdv">Et suivez-nous sur notre page
<a class="footerIcon" href="https://www.linkedin.com/showcase/le-gaulois-professionnel-officiel" target="_blank">
<svg class="footerSvg">
<use href="#icon-linkedin"></use>
@ -94,11 +107,11 @@
<p aria-level="h1">Le respect de votre vie privée est notre priorité</p>
</div>
<div class="banner-txt">
<p> Ce site web stocke les cookies sur votre ordinateur. Le Gaulois Professionnel utilise ces informations afin d’améliorer et de personnaliser votre expérience de navigation, ainsi que pour l'analyse et les indicateurs concernant nos visiteurs à la fois sur ce site web et sur d'autres supports.
<br>Vous pouvez cliquer sur « Accepter » si vous consentez à l’utilisation de ces cookies.
<p>Ce site web stocke les cookies sur votre ordinateur. Le Gaulois Professionnel utilise ces informations afin d’améliorer et de personnaliser votre expérience de navigation, ainsi que pour l'analyse et les indicateurs concernant nos visiteurs à la fois sur ce site web et sur d'autres supports.
<br>Vous pouvez cliquer sur «Accepter» si vous consentez à l’utilisation de ces cookies.
<br>Si vous refusez l'utilisation des cookies, vos informations ne seront pas suivies lors de votre visite sur ce site. Un cookie sera utilisé dans votre navigateur afin de se souvenir de ne pas suivre vos préférences.
<br>Vous pouvez changer d’avis et modifier votre consentement à tout moment en revenant sur ce site.
<br>Pour en savoir plus sur les cookies que nous utilisons, consultez notre politique de confidentialité.  <a href="/politique-de-confidentialite/">politique de confidentialité</a>.
<br>Pour en savoir plus sur les cookies que nous utilisons, consultez notre <a href="/politique-de-confidentialite/">politique de confidentialité</a>.
</p>
</div>
</div>
@ -157,8 +170,8 @@
</div>
</div>
<div class="footerRgpd">
<a href="">Mentions Légales et CGU</a>
<a href="">Politique/Charte de confidentialité</a>
<a href="{{ url('/mentionslegales' ) }}">Mentions Légales et CGU</a>
<a href="{{ url('/charteconfidentialite' ) }}">Politique/Charte de confidentialité</a>
<a href="" class="ldcweb-cn-cookie-link">Gestion des cookies</a>
</div>
</footer>

View file

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="author" content="LDC">
<meta name="publisher" content="LDC">
<meta name="reply-to" content="rhd[at]ldc.fr">
<meta name="category" content="internet">
<meta name="description" content="Site Le Gaulois pour les Professionnel">
<meta name="keywords" lang="fr" content="Le, Gaulois, Professionnel, le, gaulois, professionnel, Pro, pro, le gaulois pro, Le Gaulois Pro, Gaulois Pro, gaulois pro, LDC, ldc">
<meta name="robots" content="all">
<title>Le Gaulois Professionnel</title>
<link rel="icon" href="{{ asset('assets/logo_legauloispro.png') }}">
<!-- MAIN CSS -->
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<!-- COOKIES -->
<link rel="stylesheet" href="{{ asset('css/cookies-ldc.css') }}">
<script src="{{ asset('js/ldcweb-cn.min.js') }}"></script>
</head>
<body>
<h1>le gaulois professionnel</h1>
<!-- HEADER -->
<header>
<div class="headerFond">
<img src="{{ asset('assets/fond_inox_avec_courbe.png') }}" alt="Fond en inox">
</div>
<a href="{{ url('/' ) }}"><img class="headerLogo" src="{{ asset('assets/logo_legauloispro.png') }}" alt="Logo Le Gaulois Professionnel"></a>
</header>
<!-- FOOTER -->
<footer>
<p class="footerRdv">Et suivez-nous sur notre page
<a class="footerIcon" href="https://www.linkedin.com/showcase/le-gaulois-professionnel-officiel" target="_blank">
<svg class="footerSvg">
<use href="#icon-linkedin"></use>
</svg>
</a>
</p>
<div id="ldcweb-cn">
<div id="ldcweb-banner" class="ldcweb-cn-banner">
<div class="banner-img">
<img src="<?php echo $tp ?? ''; ?>{{ asset('assets/logo_legauloispro.png') }}" alt="Logo" />
</div>
<div class="col">
<div class="banner-title">
<p aria-level="h1">Le respect de votre vie privée est notre priorité</p>
</div>
<div class="banner-txt">
<p>Ce site web stocke les cookies sur votre ordinateur. Le Gaulois Professionnel utilise ces informations afin d’améliorer et de personnaliser votre expérience de navigation, ainsi que pour l'analyse et les indicateurs concernant nos visiteurs à la fois sur ce site web et sur d'autres supports.
<br>Vous pouvez cliquer sur «Accepter» si vous consentez à l’utilisation de ces cookies.
<br>Si vous refusez l'utilisation des cookies, vos informations ne seront pas suivies lors de votre visite sur ce site. Un cookie sera utilisé dans votre navigateur afin de se souvenir de ne pas suivre vos préférences.
<br>Vous pouvez changer d’avis et modifier votre consentement à tout moment en revenant sur ce site.
<br>Pour en savoir plus sur les cookies que nous utilisons, consultez notre <a href="/politique-de-confidentialite/">politique de confidentialité</a>.
</p>
</div>
</div>
<div class="btns">
<div>
<a href="#" id="ldcweb-cn-accept-banner" class="btn ldcweb-cn-accept">OK, TOUT ACCEPTER</a>
</div>
<div>
<a href="#" id="ldcweb-cn-deny-banner" class="btn ldcweb-cn-deny">TOUT REFUSER</a>
</div>
<div>
<a href="#" class="btn ldcweb-cn-personalize">Personnaliser</a>
</div>
</div>
</div>
<div id="ldcweb-cn-modal">
<div class="modal-wrapper">
<div class="modal-btn-close"><a href="#" id="close-link">X</a></div>
<div class="modal-title">
<p class="title" aria-level="h2">Panneau de gestion des cookies</p>
<p class="description">Les fonctionnalités de ce site s’appuient sur des services proposés par des tiers.
<br>Si vous acceptez, ces tiers déposeront des cookies qui vous permettront de visualiser sur le site du contenu hébergé par ces tiers.
<br>Via ces cookies, ces tiers collecteront et utiliseront vos données de navigation pour des finalités qui leur sont propres, conformément à leur politique de confidentialité (lien ci-dessous). Cette page vous permet de donner ou de retirer votre consentement, soit globalement soit service par service.</p>
</div>
<div class="modal-all">
<p>Préférence pour tous les services</p>
<div class="all-buttons">
<div class="accept"><a href="#" id="ldcweb-cn-accept">Autoriser tous les cookies</a></div>
<div class="deny"><a href="#" id="ldcweb-cn-deny">Interdire tous les cookies</a></div>
</div>
</div>
<div class="modal-details">
<ul id="ldcweb-cn-list">
</ul>
<div id="template">
<div>
<div class="ldcweb-cn-infos">
<span class="ldcweb-cn-name">Google Analytics (universal)</span>
<span class="ldcweb-cn-description">Ce service peut déposer 8 cookies.</span>
<a class="ldcweb-cn-link" href="#">En savoir plus</a>
</div>
<div class="ldcweb-cn-buttons">
<div class="accept" id="accept-btn">
<input type="radio" id="analytics1" name="analytics" data-name="analytics" data-status="true">
<label for="analytics1">Autoriser</label>
</div>
<div class="deny" id="deny-btn">
<input type="radio" id="analytics2" name="analytics" data-name="analytics" data-status="false">
<label for="analytics2">Interdire</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footerRgpd">
<a href="{{ url('/mentionslegales' ) }}">Mentions Légales et CGU</a>
<a href="{{ url('/charteconfidentialite' ) }}">Politique/Charte de confidentialité</a>
<a href="" class="ldcweb-cn-cookie-link">Gestion des cookies</a>
</div>
</footer>
<!-- SVG -->
<svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<symbol id="icon-linkedin" viewBox="0 0 32 32">
<path d="M29 0h-26c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h26c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3zM12 26h-4v-14h4v14zM10 10c-1.106 0-2-0.894-2-2s0.894-2 2-2c1.106 0 2 0.894 2 2s-0.894 2-2 2zM26 26h-4v-8c0-1.106-0.894-2-2-2s-2 0.894-2 2v8h-4v-14h4v2.481c0.825-1.131 2.087-2.481 3.5-2.481 2.488 0 4.5 2.238 4.5 5v9z"></path>
</symbol>
</defs>
</svg>
<!-- SCRIPT JAVASCRIPT -->
<script src="{{ asset('js/cookies-ldc.js') }}"></script>
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>

View file

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="author" content="LDC">
<meta name="publisher" content="LDC">
<meta name="reply-to" content="rhd[at]ldc.fr">
<meta name="category" content="internet">
<meta name="description" content="Site Le Gaulois pour les Professionnel">
<meta name="keywords" lang="fr" content="Le, Gaulois, Professionnel, le, gaulois, professionnel, Pro, pro, le gaulois pro, Le Gaulois Pro, Gaulois Pro, gaulois pro, LDC, ldc">
<meta name="robots" content="all">
<title>Le Gaulois Professionnel</title>
<link rel="icon" href="{{ asset('assets/logo_legauloispro.png') }}">
<!-- MAIN CSS -->
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<!-- COOKIES -->
<link rel="stylesheet" href="{{ asset('css/cookies-ldc.css') }}">
<script src="{{ asset('js/ldcweb-cn.min.js') }}"></script>
</head>
<body>
<h1>le gaulois professionnel</h1>
<!-- HEADER -->
<header>
<div class="headerFond">
<img src="{{ asset('assets/fond_inox_avec_courbe.png') }}" alt="Fond en inox">
</div>
<a href="{{ url('/' ) }}"><img class="headerLogo" src="{{ asset('assets/logo_legauloispro.png') }}" alt="Logo Le Gaulois Professionnel"></a>
</header>
<!-- FOOTER -->
<footer>
<p class="footerRdv">Et suivez-nous sur notre page
<a class="footerIcon" href="https://www.linkedin.com/showcase/le-gaulois-professionnel-officiel" target="_blank">
<svg class="footerSvg">
<use href="#icon-linkedin"></use>
</svg>
</a>
</p>
<div id="ldcweb-cn">
<div id="ldcweb-banner" class="ldcweb-cn-banner">
<div class="banner-img">
<img src="<?php echo $tp ?? ''; ?>{{ asset('assets/logo_legauloispro.png') }}" alt="Logo" />
</div>
<div class="col">
<div class="banner-title">
<p aria-level="h1">Le respect de votre vie privée est notre priorité</p>
</div>
<div class="banner-txt">
<p>Ce site web stocke les cookies sur votre ordinateur. Le Gaulois Professionnel utilise ces informations afin d’améliorer et de personnaliser votre expérience de navigation, ainsi que pour l'analyse et les indicateurs concernant nos visiteurs à la fois sur ce site web et sur d'autres supports.
<br>Vous pouvez cliquer sur «Accepter» si vous consentez à l’utilisation de ces cookies.
<br>Si vous refusez l'utilisation des cookies, vos informations ne seront pas suivies lors de votre visite sur ce site. Un cookie sera utilisé dans votre navigateur afin de se souvenir de ne pas suivre vos préférences.
<br>Vous pouvez changer d’avis et modifier votre consentement à tout moment en revenant sur ce site.
<br>Pour en savoir plus sur les cookies que nous utilisons, consultez notre <a href="/politique-de-confidentialite/">politique de confidentialité</a>.
</p>
</div>
</div>
<div class="btns">
<div>
<a href="#" id="ldcweb-cn-accept-banner" class="btn ldcweb-cn-accept">OK, TOUT ACCEPTER</a>
</div>
<div>
<a href="#" id="ldcweb-cn-deny-banner" class="btn ldcweb-cn-deny">TOUT REFUSER</a>
</div>
<div>
<a href="#" class="btn ldcweb-cn-personalize">Personnaliser</a>
</div>
</div>
</div>
<div id="ldcweb-cn-modal">
<div class="modal-wrapper">
<div class="modal-btn-close"><a href="#" id="close-link">X</a></div>
<div class="modal-title">
<p class="title" aria-level="h2">Panneau de gestion des cookies</p>
<p class="description">Les fonctionnalités de ce site s’appuient sur des services proposés par des tiers.
<br>Si vous acceptez, ces tiers déposeront des cookies qui vous permettront de visualiser sur le site du contenu hébergé par ces tiers.
<br>Via ces cookies, ces tiers collecteront et utiliseront vos données de navigation pour des finalités qui leur sont propres, conformément à leur politique de confidentialité (lien ci-dessous). Cette page vous permet de donner ou de retirer votre consentement, soit globalement soit service par service.</p>
</div>
<div class="modal-all">
<p>Préférence pour tous les services</p>
<div class="all-buttons">
<div class="accept"><a href="#" id="ldcweb-cn-accept">Autoriser tous les cookies</a></div>
<div class="deny"><a href="#" id="ldcweb-cn-deny">Interdire tous les cookies</a></div>
</div>
</div>
<div class="modal-details">
<ul id="ldcweb-cn-list">
</ul>
<div id="template">
<div>
<div class="ldcweb-cn-infos">
<span class="ldcweb-cn-name">Google Analytics (universal)</span>
<span class="ldcweb-cn-description">Ce service peut déposer 8 cookies.</span>
<a class="ldcweb-cn-link" href="#">En savoir plus</a>
</div>
<div class="ldcweb-cn-buttons">
<div class="accept" id="accept-btn">
<input type="radio" id="analytics1" name="analytics" data-name="analytics" data-status="true">
<label for="analytics1">Autoriser</label>
</div>
<div class="deny" id="deny-btn">
<input type="radio" id="analytics2" name="analytics" data-name="analytics" data-status="false">
<label for="analytics2">Interdire</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footerRgpd">
<a href="{{ url('/mentionslegales' ) }}">Mentions Légales et CGU</a>
<a href="{{ url('/charteconfidentialite' ) }}">Politique/Charte de confidentialité</a>
<a href="" class="ldcweb-cn-cookie-link">Gestion des cookies</a>
</div>
</footer>
<!-- SVG -->
<svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<symbol id="icon-linkedin" viewBox="0 0 32 32">
<path d="M29 0h-26c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h26c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3zM12 26h-4v-14h4v14zM10 10c-1.106 0-2-0.894-2-2s0.894-2 2-2c1.106 0 2 0.894 2 2s-0.894 2-2 2zM26 26h-4v-8c0-1.106-0.894-2-2-2s-2 0.894-2 2v8h-4v-14h4v2.481c0.825-1.131 2.087-2.481 3.5-2.481 2.488 0 4.5 2.238 4.5 5v9z"></path>
</symbol>
</defs>
</svg>
<!-- SCRIPT JAVASCRIPT -->
<script src="{{ asset('js/cookies-ldc.js') }}"></script>
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>

View file

@ -3,4 +3,7 @@
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PostController;
Route::get('/', [PostController::class, 'index']);
Route::get('/', [PostController::class, 'index']);
Route::get('/charteconfidentialite', [PostController::class, 'pageCharteconfidentialite']);
Route::get('/mentionslegales', [PostController::class, 'pageMentionslegales']);
Route::post('/mail', [PostController::class, 'send']);

5
webpack.mix.js vendored
View file

@ -12,6 +12,5 @@ const mix = require('laravel-mix');
*/
mix.js('resources/js/app.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
//
]);
.js('resources/js/cookies-ldc.js', 'public/js')
.sass('resources/scss/app.scss', 'public/css')