Merge branch 'master' of ssh://git.astrolabe.coop:2106/AstrolabeCAE/SiteWebAstrolabe

This commit is contained in:
Yannick Le Duc 2024-03-25 09:36:44 +01:00
commit bc7572f902
194 changed files with 3782 additions and 12626 deletions
LICENSE.txtpackage-lock.jsonpackage.json
src
.htaccess
_data
_includes
customers
form
images

View File

@ -1,6 +1,17 @@
This project is under MIT License for all its code except following subdirectories and its content :
- src/members
- src/images/astrolabe
- src/images/customers
- src/images/partners
- src/images/profiles
- src/images/posts/AG2022
- src/images/posts/AG2023
- src/images/posts/copyright
MIT License
Copyright (c) 2019 andy-bell.design and other contributors
Copyright (c) 2019-2023 Astrolabe CAE
Copyright (c) 20172023 Zach Leatherman @zachleat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

4237
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
"description": "Site web de la coopérative Astrolabe CAE",
"main": "index.js",
"dependencies": {
"@11ty/eleventy": "^1.0.0",
"@11ty/eleventy": "^2.0.0",
"@11ty/eleventy-plugin-rss": "^1.0.7",
"@11ty/eleventy-plugin-syntaxhighlight": "^2.0.3",
"@tbranyen/jsdom": "^13.0.0",
@ -52,13 +52,13 @@
},
"repository": {
"type": "git",
"url": "git+https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe.git"
"url": "git+https://git.astrolabe.coop/AstrolabeCAE/SiteWebAstrolabe.git"
},
"keywords": [],
"author": "Yves Gatesoupe",
"license": "MIT",
"bugs": {
"url": "https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe/issues"
"url": "https://git.astrolabe.coop/AstrolabeCAE/SiteWebAstrolabe/issues"
},
"homepage": "https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe"
"homepage": "https://git.astrolabe.coop/AstrolabeCAE/SiteWebAstrolabe"
}

View File

@ -1,12 +1,16 @@
# Prevent viewing of htaccess file.
<Files .htaccess>
order allow,deny
deny from all
<IfModule mod_access_compat.c>
Order Allow,Deny
Deny from all
</IfModule>
</Files>
# Prevent directory listings
Options All -Indexes
ErrorDocument 404 /404.html
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^astrolabe\.coop [NC]
RewriteRule ^ https://www.astrolabe.coop%{REQUEST_URI} [L,NE,R=301]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} ^astrolabe\.coop [NC]
RewriteRule ^ https://www.astrolabe.coop%{REQUEST_URI} [L,NE,R=301]
</IfModule>

View File

@ -1,7 +1,7 @@
{
"showThemeCredit": true,
"name": "Astrolabe CAE",
"shortDesc": "Site web de la coopérative SCOP d'Activités et d'Entrepreneur·e·s spécialisée en informatique Astrolabe CAE, pour les indépendant·e·s qui ne veulent pas être seul.",
"shortDesc": "Site web de la Coopérative d'Entrepreneur·e·s spécialisée dans le numérique Astrolabe CAE, pour les indépendant·e·s qui ne veulent pas être seul.",
"url": "https://www.astrolabe.coop",
"authorEmail": "contact@astrolabe.coop",
"authorHandle": "@AstrolabeCae",
@ -24,5 +24,5 @@
"maxProfilePreview": 3,
"maxCustomerPerPage": 8,
"maxPartnerPerPage": 8,
"faviconPath": "/images/favicon.png"
"faviconPath": "/images/astrolabe/favicon.png"
}

View File

@ -3,6 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="google-site-verification" content="-haql21y-2aWWdYUVglG0kBA4yjCcyG6y8mAzTrZ-Eg" />
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="icon" href="{{ site.faviconPath }}" type="image/png" />
{% include "partials/global/meta-info.njk" %}
@ -40,5 +41,23 @@
try {document.addEventListener("DOMContentLoaded", $buo_f,false)}
catch(e){window.attachEvent("onload", $buo_f)}
</script>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDoNotTrack", true]);
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.astrolabe.coop/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="https://analytics.astrolabe.coop/matomo.php?idsite=1&amp;rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->
</body>
</html>

View File

@ -2,9 +2,10 @@
{% block content %}
<main id="main-content" tabindex="-1">
{% include "partials/components/meeting.njk" %}
{% include "partials/components/faq.njk" %}
{% include "partials/components/contact-form.njk" %}
</main>
{% endblock %}
{{ content | safe }}
{{ content | safe }}

View File

@ -9,6 +9,7 @@
{% block content %}
<main id="main-content" class="home" tabindex="-1">
{% include "partials/components/intro.njk" %}
{% include "partials/components/meeting.njk" %}
{% include "partials/components/posts-list-home.njk" %}
{% include "partials/components/presentation.njk" %}
{% include "partials/components/customers.njk" %}

View File

@ -21,6 +21,7 @@
</p>
{% endif %}
<ul class="social-links">
<li><a href="{{ [url , "/contact/"] | join | url }}" title="Écrire à {{ name }}" class="member-contact-at"><span>@</span></a></li>
{% if socialMastodon %}
<li><a href="{{ socialMastodon }}" title="mastodon"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.956 18.293c3.007-.36 5.625-2.212 5.954-3.905.519-2.667.476-6.508.476-6.508 0-5.207-3.411-6.733-3.411-6.733C18.255.357 15.302.025 12.233 0h-.075c-3.068.025-6.02.357-7.74 1.147 0 0-3.41 1.526-3.41 6.733 0 .315-.003.647-.004.993-.005.96-.01 2.024.018 3.136.123 5.091.933 10.11 5.64 11.355 2.171.575 4.035.695 5.535.613 2.722-.151 4.25-.972 4.25-.972l-.09-1.974s-1.945.613-4.13.538c-2.163-.074-4.448-.233-4.798-2.89a5.448 5.448 0 01-.048-.745s2.124.519 4.816.642c1.647.076 3.19-.096 4.759-.283zm2.406-3.705V8.283c0-1.288-.328-2.312-.987-3.07-.68-.757-1.57-1.145-2.674-1.145-1.278 0-2.246.491-2.885 1.474l-.623 1.043-.622-1.043c-.64-.983-1.608-1.474-2.886-1.474-1.104 0-1.994.388-2.674 1.146-.659.757-.987 1.781-.987 3.07v6.303h2.498V8.47c0-1.29.543-1.945 1.628-1.945 1.2 0 1.802.777 1.802 2.312v3.35h2.483v-3.35c0-1.535.601-2.312 1.801-2.312 1.086 0 1.629.655 1.629 1.945v6.119h2.497z"/></svg></a></li>
{% endif %}
@ -42,7 +43,7 @@
<ul class="tag-list mt-3">
{% for item in tags %}
<li class="tag-item">
<a href="/equipe/{{ item }}">{{ item }}</a>
<a href="/equipe/{{ item }}/">{{ item }}</a>
</li>
{% endfor %}
</ul>
@ -50,8 +51,14 @@
</div>
</div>
</article>
<a class="return-link" href="/equipe">Voir tous les membres</a>
<a class="return-link" href="/equipe/">Voir tous les membres</a>
</section>
{% if emailSlug %}
{% set contactMember = emailSlug %}
{% elif url %}
{% set contactMember = url | replace("/members/","") | replace("-",".") %}
{% endif %}
{% set contactTitle = ["Écrire à ",name] | join %}
{% include "partials/components/contact-form.njk" %}
</main>
{% endblock %}

View File

@ -12,7 +12,7 @@
<img class="post-pic" src="{{ illustration }}" alt="illustration de l'article">
{% endif %}
{{ content | safe }}
<a class="return-link" href="/posts">Voir toute l'actualité</a>
<a class="return-link" href="/posts/">Voir toute l'actualité</a>
</div>
</article>
{% include "partials/components/contact-form.njk" %}

View File

@ -8,13 +8,13 @@
<h1 class="[ member-list__heading ]">{{ pageHeading }}</h1>
<ul class="post-filter">
<li>
<a href="/posts">Tout</a>
<a href="/posts/">Tout</a>
</li>
<li>
<a href="/posts-news">Actualités</a>
<a href="/posts-news/">Actualités</a>
</li>
<li class="active">
<a href="/posts-events">Évènements</a>
<a href="/posts-events/">Évènements</a>
</li>
</ul>
</div>

View File

@ -8,13 +8,13 @@
<h1 class="[ member-list__heading ]">{{ pageHeading }}</h1>
<ul class="post-filter">
<li>
<a href="/posts">Tout</a>
<a href="/posts/">Tout</a>
</li>
<li class="active">
<a href="/posts-news">Actualités</a>
<a href="/posts-news/">Actualités</a>
</li>
<li>
<a href="/posts-events">Évènements</a>
<a href="/posts-events/">Évènements</a>
</li>
</ul>
</div>

View File

@ -8,13 +8,13 @@
<h1 class="[ member-list__heading ]">{{ pageHeading }}</h1>
<ul class="post-filter">
<li class="active">
<a href="/posts">Tout</a>
<a href="/posts/">Tout</a>
</li>
<li>
<a href="/posts-news">Actualités</a>
<a href="/posts-news/">Actualités</a>
</li>
<li>
<a href="/posts-events">Évènements</a>
<a href="/posts-events/">Évènements</a>
</li>
</ul>
</div>

View File

@ -13,7 +13,7 @@
</div>
<ul class="tag-list mt-3" id="tagList">
{% for skill in collections.skillsList %}
<li class="tag-item visually-hidden"><a href="/equipe/{{ skill }}">{{ skill }}</a></li>
<li class="tag-item visually-hidden"><a href="/equipe/{{ skill }}/">{{ skill }}</a></li>
{% endfor %}
</ul>
</div>

View File

@ -1,9 +1,15 @@
{% from "macros/form.njk" import label, field, select, option, textarea, checkboxes, button %}
{% from "macros/form.njk" import label, field, select, option, textarea, checkboxes, button, hidden_field %}
<section class="[ form-container ]">
<svg aria-hidden="true" viewBox="0 0 1440 131" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M0 0h1440v131H0z"/><path d="M0 4.643l40-2.326c40-2.5 120-6.888 200 11.67 80 18.735 160 60.854 240 74.894 80 14.04 160 0 240-16.365 80-16.54 160-34.968 240-28.08 80 7.152 160 39.619 240 39.75 80-.131 160-32.598 200-49.139l40-16.365V131H0V4.643z" fill="#D6F253"/></svg>
{% if not removeWave %}
<svg aria-hidden="true" viewBox="0 0 1440 131" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M0 0h1440v131H0z"/><path d="M0 4.643l40-2.326c40-2.5 120-6.888 200 11.67 80 18.735 160 60.854 240 74.894 80 14.04 160 0 240-16.365 80-16.54 160-34.968 240-28.08 80 7.152 160 39.619 240 39.75 80-.131 160-32.598 200-49.139l40-16.365V131H0V4.643z" fill="#D6F253"/></svg>
{% endif %}
<div class="[ inner-wrapper ]">
<h2 id="contact-form" class="[ contact-heading ]">Nous contacter</h2>
{% if not contactMember %}
<h2 id="contact-form" class="[ contact-heading ]">Nous contacter</h2>
{% elif contactTitle %}
<h2 id="contact-form" class="[ contact-heading ]">{{ contactTitle }}</h2>
{% endif %}
<form name="contact" method="POST" action="/form/contact-form-handler.php">
<ol class="[ field-list ]">
<li class="[ field-list__field-group ]">
@ -16,20 +22,31 @@
</li>
<li class="[ field-list__field-group ] [ full-width ]">
{{ label("Je vous contacte pour :", "select") }}
{{ select( "select", [
{label: "Obtenir un rendez-vous (décrivez votre projet en quelques lignes)", value: "option 1"},
{label: "Obtenir des précisions sur le statut dentrepreneur salarié", value: "option 2"},
{label: "Proposer une mission à un coopérateur", value: "option 3"},
{label: "Proposer un partenariat", value: "option 4"}
], { required: true, options_before: [""], options_after: ["Autre demande"] } ) }}
{% if contactMember %}
{{ select( "select", [
{label: "Obtenir un rendez-vous (décrivez votre projet en quelques lignes)", value: "option 1"},
{label: "Proposer une mission à un coopérateur", value: "option 3"}
], { required: true, options_before: [""], options_after: ["Autre demande"] } ) }}
{% else %}
{{ select( "select", [
{label: "Obtenir un rendez-vous (décrivez votre projet en quelques lignes)", value: "option 1"},
{label: "Obtenir des précisions sur le statut dentrepreneur salarié", value: "option 2"},
{label: "Proposer une mission à un coopérateur", value: "option 3"},
{label: "Proposer un partenariat", value: "option 4"}
], { required: true, options_before: [""], options_after: ["Autre demande"] } ) }}
{% endif %}
</li>
<li class="[ field-list__field-group ] [ full-width ]">
{{ label("Votre message", "message") }}
{{ textarea( "message", { required: true, autocapitalize: "sentences", spellcheck: "true" } ) }}
</li>
<li class="[ field-list__field-group ] [ full-width ]">
{{ checkboxes("", "subscribe", [ "Je souhaite être tenu au courant de lactualité Astrolabe"], { description: "" } ) }}
</li>
{% if contactMember %}
{{ hidden_field('subscribe', '') }}
{% else %}
<li class="[ field-list__field-group ] [ full-width ]">
{{ checkboxes("", "subscribe", [ "Je souhaite être tenu au courant de lactualité Astrolabe"], { description: "" } ) }}
</li>
{% endif %}
<!-- H o n e y p o t -->
<li aria-hidden="true">
<label class="ohnohoney" for="name"></label>
@ -40,6 +57,9 @@
<input tabindex="-1" class="ohnohoney" autocomplete="off" type="email" id="email" name="email" placeholder="Your e-mail here">
</li>
</ol>
{% if contactMember %}
{{ hidden_field('contactTo', contactMember) }}
{% endif %}
{{ button("Envoyer") }}
</form>
</div>

View File

@ -3,10 +3,11 @@
<h1 class="[ intro__heading ]">{{ brandHeading }}</h1>
<svg viewBox="0 0 127 237" width="100%" height="100%" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M116.77 20.74c-.472-1.843-2.433-5.326-6.48-5.326h-4.283C105.395 6.814 98.249 0 89.533 0c-9.116 0-16.534 7.448-16.534 16.605v20.597L10.073 61.124a2.422 2.422 0 00-1.403 3.124c6.302 16.578 22.13 26.795 38.897 26.795 2.778 0 5.582-.315 8.375-.895 2.026.425 4.09.704 6.169.824v21.449a2.422 2.422 0 104.842 0V90.962a41.398 41.398 0 006.046-.8v22.259a2.422 2.422 0 104.843 0v-23.59c16.39-5.573 28.22-21.102 28.22-39.352V20.256h4.228c1.262 0 1.737 1.513 1.793 1.708a2.425 2.425 0 002.94 1.723 2.424 2.424 0 001.747-2.948zM32.478 82.973c-8.206-3.684-14.61-10.117-18.31-18.225l62.113-23.615c.013-.004.023-.013.034-.017.09-.036.173-.083.257-.128.058-.032.119-.058.174-.093.066-.044.124-.096.186-.146.06-.05.127-.095.184-.151.05-.05.092-.109.138-.162.054-.063.112-.124.159-.192.043-.065.077-.136.116-.203.037-.067.079-.131.11-.202.03-.07.05-.146.074-.22.024-.076.053-.15.07-.229.015-.065.019-.132.028-.199.013-.093.028-.187.03-.282l.003-.039V16.605c0-6.485 5.245-11.762 11.69-11.762 6.416 0 11.637 5.226 11.687 11.667v30.547H86.663a2.421 2.421 0 00-2.422 2.422c0 .023.007.043.007.068-.033 15.12-9.538 28.88-23.678 34.255-9.166 3.483-19.144 3.192-28.092-.828zm34.639 3.12c12.614-6.78 21.023-19.79 21.88-34.194h12.133c-1.194 18.255-15.785 32.903-34.013 34.195z" fill="#1E1E1E"/><path d="M89.53 20.256h4.464a2.421 2.421 0 100-4.842h-4.463a2.421 2.421 0 100 4.842zM123.897 194.561h-4.496V114.15a2.241 2.241 0 00-2.248-2.233H6.994c-1.24 0-2.248 1-2.248 2.233v80.411H2.498a2.242 2.242 0 00-2.248 2.234v37.971A2.242 2.242 0 002.498 237h121.399a2.243 2.243 0 002.249-2.234v-37.971a2.243 2.243 0 00-2.249-2.234zM9.243 116.384h105.662v78.177H9.243v-78.177zm112.406 116.149H4.746v-33.505H121.65v33.505z" fill="#1E1E1E"/><path d="M103.663 125.318h-83.18a2.242 2.242 0 00-2.249 2.234v55.841a2.241 2.241 0 002.248 2.233h83.181c1.241 0 2.248-1 2.248-2.233v-55.841a2.242 2.242 0 00-2.248-2.234zm-2.248 55.841H22.73v-51.373h78.685v51.373zM114.904 206.846h-13.488a2.242 2.242 0 00-2.248 2.234v13.401a2.242 2.242 0 002.248 2.234h13.488a2.243 2.243 0 002.249-2.234V209.08a2.243 2.243 0 00-2.249-2.234zm-2.248 13.402h-8.992v-8.935h8.992v8.935zM92.423 206.846h-13.49a2.242 2.242 0 00-2.247 2.234v13.401a2.242 2.242 0 002.248 2.234h13.489a2.242 2.242 0 002.248-2.234V209.08a2.242 2.242 0 00-2.248-2.234zm-2.248 13.402h-8.993v-8.935h8.993v8.935z" fill="#1E1E1E"/><path d="M78.934 134.253H27.227v4.467h51.707v-4.467zM63.197 143.187h-35.97v4.468h35.97v-4.468zM45.212 152.122H27.227v4.467h17.985v-4.467zM58.7 152.122h-8.993v4.467h8.992v-4.467z" fill="#111"/></svg>
<div class="btn-grp">
<a role="button" href="/comprendre-la-cae" class="btn btn-secondary">Une CAE c'est quoi ?</a>
<a role="button" href="/nous-rejoindre" class="btn btn-primary">Nous rejoindre
<a role="button" href="/comprendre-la-cae/" class="btn btn-secondary">Une CAE c'est quoi ?</a>
<a role="button" href="/nous-rejoindre/" class="btn btn-primary">Nous rejoindre
<svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#111"/></svg>
</a>
<a role="button" href="/posts/flyer-2023/" class="btn btn-secondary">Notre flyer 📄</a>
</div>
</div>
</header>

View File

@ -21,7 +21,7 @@
});
var iconMarkerAlt = L.icon({
iconUrl: '/images/marker-logo-alt.svg',
iconUrl: '/images/astrolabe/marker-logo-alt.svg',
iconSize: [40, 40],
iconAnchor: [20, 40],
popupAnchor: [0, -40]
@ -30,7 +30,7 @@
var members = {{ collections.membersLocations | dump | safe }};
var markerGroup = members.map( member => {
return new L.marker(member.location, {icon: iconMarker}).bindPopup('<a href="'+member.url+'">'+member.name+'</a>');
return new L.marker(member.location, {icon: iconMarker}).bindPopup('<a href="'+member.url+'/">'+member.name+'</a>');
});
var markerSiege = L.marker([48.10494125597395, -1.6795760019626425], {icon: iconMarkerAlt}).bindPopup('Siège Astrolabe CAE')

View File

@ -0,0 +1,6 @@
<section id="Meeting" class="[ meeting ]">
<a class="[ meeting__link btn btn-secondary ]" href="https://framaforms.org/reunion-dinformation-collective-astrolabe-cae-1591805443" target="_blank">
Réunions d'information&nbsp;
<svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#FFF"></path></svg>
</a>
</section>

View File

@ -4,7 +4,7 @@
<ol class="[ member-list__items ]" reversed>
{% for item in teamListItems %}
<li class="member-list__item">
<a href="{{ item.data.url }}" class="">
<a href="{{ item.data.url }}/" class="">
<img src=" {{ item.data.profile }}" alt="photo de {{ item.data.name }}">
<span class="member-name btn btn-primary">{{ item.data.name }}</span>
</a>

View File

@ -4,7 +4,7 @@
<ol class="[ member-list__items ]" reversed>
{% for item in teamListItems %}
<li class="member-list__item">
<a href="{{ item.data.url }}" class="">
<a href="{{ item.data.url }}/" class="">
<img src=" {{ item.data.profile }}" alt="photo de {{ item.data.name }}">
<span class="member-name btn btn-primary">{{ item.data.name }}</span>
</a>
@ -16,7 +16,7 @@
{% endfor %}
<li class="member-list__item info">
<p>Vous êtes porteur dun projet entrepreneurial en numérique et nouvelles technologies ?</p>
<a role="button" href="/nous-rejoindre" class="btn btn-secondary">Rejoignez-nous</a>
<a role="button" href="/nous-rejoindre/" class="btn btn-secondary">Rejoignez-nous</a>
</li>
</ol>
{% endif %}

View File

@ -4,7 +4,7 @@
<div class="news-list__inner">
<h2 class="[ news-list__heading ]">{{ newsListHeading }}</h2>
{% include "partials/components/posts-list.njk" %}
<a href="/posts" class="return-link">Voir tout</a>
<a href="/posts/" class="return-link">Voir tout</a>
</div>
</div>
</section>

View File

@ -14,7 +14,7 @@
{# <figure> #}
<img src="/images/crew-join.svg" alt="équipage astrolabe" loading="lazy" style="width: 22rem;">
{# </figure> #}
<a role="button" href="/nous-rejoindre" class="btn btn-primary">Nous rejoindre
<a role="button" href="/nous-rejoindre/" class="btn btn-primary">Nous rejoindre
<svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#111"></path></svg>
</a>
</div>
@ -47,13 +47,13 @@
<ul class="profile-preview">
{% for profile in profilePics %}
<li>
<a href="{{ profile.data.url }}" title="{{ profile.data.name }}">
<a href="{{ profile.data.url }}/" title="{{ profile.data.name }}">
<img src="{{ profile.data.profile }}" alt="photo de {{ profile.data.name }}">
</a>
</li>
{% endfor %}
</ul>
<a role="button" href="/equipe" class="btn btn-primary">Voir l'équipe</a>
<a role="button" href="/equipe/" class="btn btn-primary">Voir l'équipe</a>
</div>
</article>
</div>

View File

@ -10,8 +10,8 @@
</p>
</div>
<div class="">
<h3>Mentions légales</h3>
<p>Protection des données</p>
<h3><a class="footer-link" href="{{site.url}}/mentions-legales/" title="Mentions légales">Mentions légales</a></h3>
<p><a class="footer-link" href="{{site.url}}/rgpd/" title="Protection des données">Protection des données</a></p>
</div>
<div class="">
<h3>Contact</h3>

View File

@ -4,7 +4,7 @@
<div class="[ site-head__inner ]">
<a href="/" class="[ site-head__site-name ]">
<span class="visually-hidden">{{ site.name }} - Home</span>
{% include "../../../images/astrolabe_logo.svg" %}
{% include "../../../images/astrolabe/astrolabe_logo.svg" %}
</a>
<button class="menu-toggle" onclick="menuToggle(this)" title="ouvrir / fermer le menu">
<svg id="icon-show" aria-hidden="true" width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 10h12M6 16h19m-15 6h15" stroke="#111" stroke-width="2" stroke-linecap="round"/></svg>

View File

@ -1,5 +0,0 @@
---
name: 'Technicolor'
thumbnail: '/images/customers/logo-technicolor.png'
url: 'https://www.technicolor.com/'
---

5
src/customers/vantiva.md Normal file
View File

@ -0,0 +1,5 @@
---
name: 'Vantiva'
thumbnail: '/images/customers/logo-vantiva.png'
url: 'https://www.vantiva.com/'
---

View File

@ -1,102 +1,116 @@
<?php
require("/usr/share/php/libphp-phpmailer/autoload.php");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);
$errors = '';
$myEmail = getenv('ASTRO_SMTP_FROM');
if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) {
$errors .= "\n Error: all fields are required";
}
if(!empty($_POST['name']) && !empty($_POST['email'])) {
$errors .= "\n Error: spam";
}
$name = $_POST['namezzz'];
$emailAddress = $_POST['emailzzz'];
$select = $_POST['select'];
$message = $_POST['message'];
$subscribe = $_POST['subscribe'];
if (!filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) {
$errors .= "\n Error: Invalid email address $emailAddress";
}
if( empty($errors)) {
$to = $myEmail;
$emailSubject = "[Formulaire Astrolabe] Nouveau message";
switch ($select) {
case "option 1":
$purpose = "Demande de rendez-vous";
break;
case "option 2":
$purpose = "Demande de précisions sur le statut dentrepreneur salarié";
break;
case "option 3":
$purpose = "Proposition de misson";
break;
case "option 4":
$purpose = "Proposition de partenariat";
break;
default:
$purpose = "Autre demande";
}
$emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :".
"\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$message";
$emailBodyHTML = str_replace("\r\n", "<br>", $emailBody);
$mail->isSMTP();
$mail->Host = getenv('ASTRO_SMTP_HOSTNAME');
$mail->SMTPAuth = true;
$mail->Username = getenv('ASTRO_SMTP_USERNAME');
$mail->Password = getenv('ASTRO_SMTP_PASSWORD');
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
//Options
$mail->CharSet = 'UTF-8';
$mail->WordWrap = 70;
//Recipients
$mail->setFrom($myEmail);
$mail->addAddress($myEmail);
$mail->addReplyTo($emailAddress, $name);
// Content
$mail->isHTML(true);
$mail->Subject = $emailSubject;
$mail->Body = $emailBodyHTML;
$mail->AltBody = $emailBody;
$mail->send();
// if subscribe add to mailing list
if(!empty($subscribe)) {
// process
// enovoi mail add to mailing list
}
// redirect to the 'thank you' page
header("Location: /thank-you/index.html");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Contact form handler</title>
</head>
<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>
</body>
</html>
<?php
require("/usr/share/php/libphp-phpmailer/autoload.php");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);
$errors = '';
$myEmail = getenv('ASTRO_SMTP_FROM');
$myEmailSplitted = explode('@', $myEmail);
$domainFromMyEmail = (
empty($myEmailSplitted[1])
|| count($myEmailSplitted) != 2
) ? ''
: $myEmailSplitted[1];
$wantedContact = filter_input(INPUT_POST, 'contactTo', FILTER_SANITIZE_SPECIAL_CHARS);
$wantedContact = (
empty($wantedContact)
|| strpos($wantedContact, '@') !== false
|| strpos($wantedContact, '&') !== false
|| empty($domainFromMyEmail)
) ? $myEmail : "$wantedContact@$domainFromMyEmail" ;
if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) {
$errors .= "\n Error: all fields are required";
}
if(!empty($_POST['name']) && !empty($_POST['email'])) {
$errors .= "\n Error: spam";
}
$name = $_POST['namezzz'];
$emailAddress = $_POST['emailzzz'];
$select = $_POST['select'];
$message = $_POST['message'];
$subscribe = $_POST['subscribe'];
if (!filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) {
$errors .= "\n Error: Invalid email address $emailAddress";
}
if(empty($errors)) {
$emailSubject = "[Formulaire Astrolabe] Nouveau message";
switch ($select) {
case "option 1":
$purpose = "Demande de rendez-vous";
break;
case "option 2":
$purpose = "Demande de précisions sur le statut dentrepreneur salarié";
break;
case "option 3":
$purpose = "Proposition de misson";
break;
case "option 4":
$purpose = "Proposition de partenariat";
break;
default:
$purpose = "Autre demande";
}
$emailSubject .= " : $purpose";
$emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :".
"\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$message";
$emailBodyHTML = str_replace("\r\n", "<br>", $emailBody);
$mail->isSMTP();
$mail->Host = getenv('ASTRO_SMTP_HOSTNAME');
$mail->SMTPAuth = true;
$mail->Username = getenv('ASTRO_SMTP_USERNAME');
$mail->Password = getenv('ASTRO_SMTP_PASSWORD');
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
//Options
$mail->CharSet = 'UTF-8';
$mail->WordWrap = 70;
//Recipients
$mail->setFrom($myEmail);
$mail->addAddress($wantedContact);
$mail->addReplyTo($emailAddress, $name);
// Content
$mail->isHTML(true);
$mail->Subject = $emailSubject;
$mail->Body = $emailBodyHTML;
$mail->AltBody = $emailBody;
$mail->send();
// if subscribe add to mailing list
if(!empty($subscribe)) {
// process
// enovoi mail add to mailing list
}
// redirect to the 'thank you' page
header("Location: /thank-you/index.html");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Contact form handler</title>
</head>
<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>
</body>
</html>

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

View File

Before

(image error) Size: 7.4 KiB

After

(image error) Size: 7.4 KiB

View File

Before

(image error) Size: 7.8 KiB

After

(image error) Size: 7.8 KiB

View File

Before

(image error) Size: 946 B

After

(image error) Size: 946 B

View File

Before

(image error) Size: 3.9 KiB

After

(image error) Size: 3.9 KiB

View File

Before

(image error) Size: 1.6 KiB

After

(image error) Size: 1.6 KiB

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

Before

(image error) Size: 4.4 KiB

Binary file not shown.

After

(image error) Size: 19 KiB

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

After

(image error) Size: 2.7 KiB

Binary file not shown.

After

(image error) Size: 2.2 KiB

File diff suppressed because it is too large Load Diff

Before

(image error) Size: 1021 KiB

Binary file not shown.

Before

(image error) Size: 20 KiB

Binary file not shown.

Before

(image error) Size: 17 KiB

Binary file not shown.

After

(image error) Size: 4.4 KiB

BIN
src/images/poisson-haut.jpg Normal file

Binary file not shown.

After

(image error) Size: 101 KiB

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

After

(image error) Size: 18 KiB

Binary file not shown.

After

(image error) Size: 28 KiB

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

After

(image error) Size: 34 KiB

Binary file not shown.

After

(image error) Size: 307 KiB

Binary file not shown.

After

(image error) Size: 40 KiB

Binary file not shown.

After

(image error) Size: 8.3 KiB

Binary file not shown.

After

(image error) Size: 50 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 45 KiB

Binary file not shown.

After

(image error) Size: 34 KiB

Binary file not shown.

After

(image error) Size: 44 KiB

Binary file not shown.

After

(image error) Size: 734 KiB

Binary file not shown.

After

(image error) Size: 56 KiB

Binary file not shown.

After

(image error) Size: 26 KiB

Binary file not shown.

After

(image error) Size: 28 KiB

Binary file not shown.

After

(image error) Size: 4.2 KiB

Binary file not shown.

After

(image error) Size: 159 KiB

Binary file not shown.

After

(image error) Size: 102 KiB

Binary file not shown.

After

(image error) Size: 110 KiB

Binary file not shown.

After

(image error) Size: 41 KiB

Binary file not shown.

After

(image error) Size: 94 KiB

Binary file not shown.

After

(image error) Size: 317 KiB

Binary file not shown.

After

(image error) Size: 124 KiB

Binary file not shown.

After

(image error) Size: 23 KiB

Binary file not shown.

After

(image error) Size: 42 KiB

Binary file not shown.

After

(image error) Size: 89 KiB

Binary file not shown.

After

(image error) Size: 71 KiB

Binary file not shown.

After

(image error) Size: 184 KiB

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

After

(image error) Size: 249 KiB

Binary file not shown.

After

(image error) Size: 47 KiB

Binary file not shown.

After

(image error) Size: 22 KiB

Binary file not shown.

After

(image error) Size: 2.3 KiB

Binary file not shown.

After

(image error) Size: 401 B

Binary file not shown.

After

(image error) Size: 12 KiB

Binary file not shown.

After

(image error) Size: 11 KiB

Binary file not shown.

After

(image error) Size: 1.5 KiB

Binary file not shown.

After

(image error) Size: 61 KiB

Binary file not shown.

After

(image error) Size: 97 KiB

Binary file not shown.

After

(image error) Size: 34 KiB

Binary file not shown.

After

(image error) Size: 53 KiB

Binary file not shown.

After

(image error) Size: 40 KiB

Binary file not shown.

After

(image error) Size: 143 KiB

Binary file not shown.

After

(image error) Size: 122 KiB

Binary file not shown.

After

(image error) Size: 166 KiB

Binary file not shown.

After

(image error) Size: 64 KiB

Binary file not shown.

After

(image error) Size: 5.4 KiB

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

View File

@ -0,0 +1,4 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

Before

(image error) Size: 65 KiB

Binary file not shown.

After

(image error) Size: 32 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

Before

(image error) Size: 42 KiB

Binary file not shown.

Before

(image error) Size: 46 KiB

Some files were not shown because too many files have changed in this diff Show More