Compare commits
269 Commits
Author | SHA1 | Date | |
---|---|---|---|
0525d37773 | |||
1d37e9c8e0 | |||
|
629a181e18 | ||
58a5fa0939 | |||
8f2ce9cf7c | |||
96ae89b4cf | |||
dd54099516 | |||
|
531d8552c1 | ||
69ea800eb7 | |||
8bc6c17801 | |||
f4d8deb10d | |||
8642423e99 | |||
c846c77df7 | |||
aed16402a6 | |||
|
dbe4f6370c | ||
779dee41ee | |||
e1cd627275 | |||
787ddde793 | |||
82330eec04 | |||
7a1c9857d7 | |||
4bdc27d2b9 | |||
|
54ab6b7e73 | ||
|
a0983633e2 | ||
|
f69296f1ad | ||
|
30b122f57c | ||
6fe50850fd | |||
|
486779e606 | ||
|
2c8788d118 | ||
56ff6a12c5 | |||
|
8b735e3ad8 | ||
|
1157585904 | ||
|
6d97a59e51 | ||
fdadbf2db7 | |||
a60759c5ab | |||
4816aaa1a9 | |||
d6eb9b9434 | |||
ad8a87d983 | |||
483ee87041 | |||
2b1e3ac347 | |||
967ef0e66a | |||
f90971e3d5 | |||
|
7c62676d43 | ||
|
5314730d47 | ||
48b7a9dc20 | |||
30571355b6 | |||
|
b4b06702b5 | ||
|
8410592cce | ||
c3a05862ce | |||
1196144e7e | |||
bcac4da5cd | |||
46895370e0 | |||
82d28e19b7 | |||
1a222f90f8 | |||
3ff5d23445 | |||
e3596fa617 | |||
2c7f618874 | |||
8577bdf3d7 | |||
5aaa46ffac | |||
b4d6607816 | |||
568d56c4d5 | |||
490e6333d2 | |||
8d6c840667 | |||
7fe2a6f6df | |||
9674fd7cff | |||
d69b320b88 | |||
4bb9f82c67 | |||
26d4507c63 | |||
2134fef2ff | |||
da53745fc9 | |||
|
94a86974f9 | ||
d67234b356 | |||
c47a2b3360 | |||
f393228457 | |||
6b81efc651 | |||
5e22dbbb6d | |||
a85d2936c4 | |||
66f524ff43 | |||
588b599c4f | |||
|
63967a7503 | ||
27bd60f68f | |||
585f9bc239 | |||
3a1f3c8dbf | |||
be7da35378 | |||
93ad11e992 | |||
a4cdf36fea | |||
f34b0ceac2 | |||
9028d132cf | |||
0a621f849f | |||
|
a5928daec8 | ||
e4e00b9836 | |||
3f4fb22d91 | |||
eb2980d814 | |||
7dbdc3a806 | |||
393c963676 | |||
fbfeb9f9b2 | |||
|
352faad8ad | ||
540b187710 | |||
bd0f251967 | |||
d0e855eaf6 | |||
f50857add2 | |||
28c0b957cc | |||
c985e79ad1 | |||
32770082ef | |||
730c70fac7 | |||
fb4bc56c9c | |||
3b516471a7 | |||
e420012cd9 | |||
10fbe4cc1b | |||
46b80318a6 | |||
|
6af43c3236 | ||
e24979f2d1 | |||
|
f1944ddfc7 | ||
|
0a2dcc18ee | ||
|
bde004fb83 | ||
|
e009ecc36c | ||
|
674df2bb5f | ||
|
9728cbd8b3 | ||
|
a6956a9b1c | ||
|
8503bd57a5 | ||
|
bc7572f902 | ||
66c074eced | |||
|
91186e6644 | ||
71dd25ca44 | |||
|
f94f98b8da | ||
21a1efbf7c | |||
|
6f4eb9a844 | ||
9fd1712328 | |||
|
9690867817 | ||
|
4380a086db | ||
|
b3b5ee6377 | ||
|
0806f09b4c | ||
|
0ad9951d77 | ||
|
63ccebb452 | ||
|
08fcc19e53 | ||
|
2afe8ce4ba | ||
|
0b6c22c7a3 | ||
|
1dd30c2f75 | ||
b58b2357c0 | |||
|
80f8f7f5a1 | ||
|
d72316cf86 | ||
|
cbe1ce6626 | ||
7194cb5710 | |||
4713f39579 | |||
|
afa68f0c75 | ||
1e02057350 | |||
4884d95433 | |||
f5b2c38328 | |||
8a30e683c6 | |||
0421c40e98 | |||
7b9fd60563 | |||
|
00f92a3989 | ||
e253083786 | |||
41bdea4579 | |||
b6d4168e8c | |||
3cf91fbf9b | |||
d30c2355d3 | |||
21ba819002 | |||
b2be20bcc5 | |||
3ebb229815 | |||
03a68e7ce9 | |||
ee0e7abcad | |||
6a08d7966f | |||
08065c55cb | |||
b22af4e668 | |||
|
d3e2256b4d | ||
667a5d434b | |||
9c76aff74a | |||
f4c6e839c5 | |||
186c84ff75 | |||
edcab15c66 | |||
418df5c894 | |||
7f33fa0e76 | |||
e4a7a05c93 | |||
e1710fda11 | |||
a79ad60416 | |||
d17d6f8dba | |||
71c5f56492 | |||
07792e7afc | |||
970512135a | |||
bbe6044104 | |||
fa8d519460 | |||
4c1a0d4cfa | |||
13b1de0e8e | |||
22899fd481 | |||
eb85e6e293 | |||
0550b754d1 | |||
5323989a1c | |||
29802d1d53 | |||
d932b3ecf7 | |||
693b44d258 | |||
5aa2380551 | |||
b7acbcfc89 | |||
13d33b4bfc | |||
|
c1061d74fd | ||
7704776da9 | |||
e1b78ffce6 | |||
|
20276251b6 | ||
|
4e91d682d8 | ||
c9504db4ba | |||
fb8251f19c | |||
80fe533358 | |||
c65ab8171e | |||
41fb3ea621 | |||
15224608f0 | |||
0d24a66814 | |||
|
efa45dbcf3 | ||
|
17e2438518 | ||
671c41248e | |||
d0fd37c2c5 | |||
|
d47ef5729a | ||
aeda2d33d3 | |||
56c3061d8d | |||
42a5a592dd | |||
372c589973 | |||
54d97cb115 | |||
98e06649c7 | |||
c3b460d01a | |||
8f9aef959e | |||
fa48e3b9b9 | |||
|
806793a43d | ||
c9a037b2c3 | |||
37fedf432f | |||
19843d1493 | |||
87e61f996f | |||
b0a0a5e8d7 | |||
f6f33f8cab | |||
f57812ccbe | |||
02bfcfaca7 | |||
30be659010 | |||
c3fe9c7f40 | |||
03134474f0 | |||
94c5c985d1 | |||
718d219f6d | |||
3c7f3172e1 | |||
2c2b1f5683 | |||
8dc66c50b9 | |||
543274ac83 | |||
30396d08f0 | |||
091f468e27 | |||
6cf55684b1 | |||
|
32e316f290 | ||
|
e9028b6ac6 | ||
|
aa76b044ab | ||
0b3a611549 | |||
463a8c8df0 | |||
08c36fbc65 | |||
d41b57bd5d | |||
23c8d3f48a | |||
a6788c0078 | |||
f63dcbf156 | |||
c38a6d7318 | |||
6c49bcb4bb | |||
1a1b6b5190 | |||
fb72164402 | |||
2a8efce2d2 | |||
|
b5aa1dd449 | ||
|
e52581b0be | ||
b78f2c2db9 | |||
0d11f0e045 | |||
09b1385c44 | |||
|
bf4905b48b | ||
835a3251f0 | |||
|
1bfef55384 | ||
2b637e118e | |||
|
a7c42fa9c7 | ||
|
438ae0cdd2 | ||
0bc856a417 | |||
548efdb00f | |||
|
a4fc862ac7 |
99
.eleventy.js
@ -1,27 +1,31 @@
|
||||
const rssPlugin = require('@11ty/eleventy-plugin-rss');
|
||||
const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight');
|
||||
const fs = require('fs');
|
||||
const util = require('util')
|
||||
import rssPlugin from '@11ty/eleventy-plugin-rss';
|
||||
import syntaxHighlight from '@11ty/eleventy-plugin-syntaxhighlight';
|
||||
import fs from 'fs';
|
||||
import util from 'util';
|
||||
|
||||
// Import filters
|
||||
const dateFilter = require('./src/filters/date-filter.js');
|
||||
const markdownFilter = require('./src/filters/markdown-filter.js');
|
||||
const w3DateFilter = require('./src/filters/w3-date-filter.js');
|
||||
import dateFilter from './src/filters/date-filter.js';
|
||||
import markdownFilter from './src/filters/markdown-filter.js';
|
||||
import w3DateFilter from './src/filters/w3-date-filter.js';
|
||||
|
||||
// Import transforms
|
||||
const htmlMinTransform = require('./src/transforms/html-min-transform.js');
|
||||
const parseTransform = require('./src/transforms/parse-transform.js');
|
||||
import htmlMinTransform from './src/transforms/html-min-transform.js';
|
||||
import parseTransform from './src/transforms/parse-transform.js';
|
||||
|
||||
// Import data files
|
||||
import {createRequire} from 'node:module';
|
||||
const require = createRequire(import.meta.url);
|
||||
// need this because of issue when using ESM : https://github.com/11ty/eleventy-dependency-tree-esm/issues/2
|
||||
// This will get soon resolved
|
||||
const site = require('./src/_data/site.json');
|
||||
|
||||
module.exports = function(config) {
|
||||
export default function(config) {
|
||||
// Filters
|
||||
config.addFilter('dateFilter', dateFilter);
|
||||
config.addFilter('markdownFilter', markdownFilter);
|
||||
config.addFilter('w3DateFilter', w3DateFilter);
|
||||
config.addFilter('dump', obj => {
|
||||
return util.inspect(obj)
|
||||
return util.inspect(obj);
|
||||
});
|
||||
|
||||
// Layout aliases
|
||||
@ -48,11 +52,9 @@ module.exports = function(config) {
|
||||
const livePosts = post => post.date <= now && !post.data.draft;
|
||||
const newsPosts = post => post.data.type === 'news';
|
||||
const eventPosts = post => post.data.type === 'event';
|
||||
|
||||
|
||||
config.addCollection('posts', collection => {
|
||||
return [
|
||||
...collection.getFilteredByGlob('./src/posts/*.md')
|
||||
].reverse();
|
||||
return [...collection.getFilteredByGlob('./src/posts/*.md')].reverse();
|
||||
});
|
||||
config.addCollection('news', collection => {
|
||||
return [
|
||||
@ -70,56 +72,59 @@ module.exports = function(config) {
|
||||
.slice(0, site.maxNewsPerPage);
|
||||
});
|
||||
config.addCollection('members', collection => {
|
||||
return [...collection.getFilteredByGlob("./src/members/*.md")];
|
||||
return [...collection.getFilteredByGlob('./src/members/*.md')];
|
||||
});
|
||||
config.addCollection('profiles', collection => {
|
||||
return [...collection.getFilteredByGlob("./src/members/*.md")]
|
||||
.reverse()
|
||||
.slice(0, site.maxProfilePreview)
|
||||
;
|
||||
return [...collection.getFilteredByGlob('./src/members/*.md')]
|
||||
.reverse()
|
||||
.slice(0, site.maxProfilePreview);
|
||||
});
|
||||
config.addCollection("tagsList", function(collectionApi) {
|
||||
config.addCollection('tagsList', function(collectionApi) {
|
||||
const tagsList = new Set();
|
||||
collectionApi.getAll().map( item => {
|
||||
if (item.data.tags) { // handle pages that don't have tags
|
||||
item.data.tags.map( tag => tagsList.add(tag))
|
||||
}
|
||||
collectionApi.getAll().map(item => {
|
||||
if (item.data.tags) {
|
||||
// handle pages that don't have tags
|
||||
item.data.tags.map(tag => tagsList.add(tag));
|
||||
}
|
||||
});
|
||||
return tagsList;
|
||||
});
|
||||
config.addCollection("skillsList", function(collectionApi) {
|
||||
config.addCollection('skillsList', function(collectionApi) {
|
||||
const skillsList = new Set();
|
||||
collectionApi.getFilteredByGlob("./src/members/*.md").map( item => {
|
||||
if (item.data.tags) { // handle pages that don't have skills
|
||||
item.data.tags.map( skill => { // exclude non related tags
|
||||
if (['post', 'news', 'event'].indexOf(skill) == -1) {
|
||||
skillsList.add(skill)
|
||||
}
|
||||
})
|
||||
}
|
||||
collectionApi.getFilteredByGlob('./src/members/*.md').map(item => {
|
||||
if (item.data.tags) {
|
||||
// handle pages that don't have skills
|
||||
item.data.tags.map(skill => {
|
||||
// exclude non related tags
|
||||
if (['post', 'news', 'event'].indexOf(skill) == -1) {
|
||||
skillsList.add(skill);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
return skillsList;
|
||||
});
|
||||
config.addCollection("membersLocations", function(collectionApi) {
|
||||
return collectionApi.getFilteredByGlob("./src/members/*.md")
|
||||
config.addCollection('membersLocations', function(collectionApi) {
|
||||
return collectionApi
|
||||
.getFilteredByGlob('./src/members/*.md')
|
||||
.filter(item => typeof item.data.location !== 'undefined')
|
||||
.map( member => {
|
||||
.map(member => {
|
||||
return {
|
||||
name: member.data.name,
|
||||
url: member.data.url,
|
||||
location: member.data.location,
|
||||
location: member.data.location
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
config.addCollection('customers', collection => {
|
||||
return [...collection.getFilteredByGlob("./src/customers/*.md")]
|
||||
.reverse()
|
||||
.slice(0, site.maxCustomerPerPage);
|
||||
return [...collection.getFilteredByGlob('./src/customers/*.md')]
|
||||
.reverse()
|
||||
.slice(0, site.maxCustomerPerPage);
|
||||
});
|
||||
config.addCollection('partners', collection => {
|
||||
return [...collection.getFilteredByGlob("./src/partners/*.md")]
|
||||
.reverse()
|
||||
.slice(0, site.maxPartnerPerPage);
|
||||
return [...collection.getFilteredByGlob('./src/partners/*.md')]
|
||||
.reverse()
|
||||
.slice(0, site.maxPartnerPerPage);
|
||||
});
|
||||
|
||||
// Plugins
|
||||
@ -146,6 +151,6 @@ module.exports = function(config) {
|
||||
input: 'src',
|
||||
output: 'dist'
|
||||
},
|
||||
passthroughFileCopy: true,
|
||||
passthroughFileCopy: true
|
||||
};
|
||||
};
|
||||
}
|
||||
|
10
LICENSE.txt
@ -1,4 +1,12 @@
|
||||
This project is under MIT License for all its code except the src/members and src/images/profiles subdirectories and its content.
|
||||
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
|
||||
|
||||
|
@ -13,7 +13,7 @@ var config = {
|
||||
// e.g. exclude sourcemaps, and ALL files in node_modules (including dot files)
|
||||
exclude: ["dist/**/*.map", "node_modules/**", "node_modules/**/.*", ".git/**"],
|
||||
// delete ALL existing files at destination before uploading, if true
|
||||
deleteRemote: false,
|
||||
deleteRemote: true,
|
||||
// Passive mode is forced (EPSV command is not sent)
|
||||
forcePasv: true
|
||||
};
|
||||
|
11136
package-lock.json
generated
13
package.json
@ -3,9 +3,10 @@
|
||||
"version": "0.1.0",
|
||||
"description": "Site web de la coopérative Astrolabe CAE",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@11ty/eleventy": "^2.0.0",
|
||||
"@11ty/eleventy-plugin-rss": "^1.0.7",
|
||||
"@11ty/eleventy": "^3.0.0",
|
||||
"@11ty/eleventy-plugin-rss": "^2.0.2",
|
||||
"@11ty/eleventy-plugin-syntaxhighlight": "^2.0.3",
|
||||
"@tbranyen/jsdom": "^13.0.0",
|
||||
"bootstrap": "^5.1.3",
|
||||
@ -29,7 +30,7 @@
|
||||
"make-dir-cli": "^3.0.0",
|
||||
"prettier": "^1.19.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"rollup": "^1.32.1",
|
||||
"rollup": "^4.24.0",
|
||||
"rollup-plugin-commonjs": "^10.1.0",
|
||||
"rollup-plugin-json": "^4.0.0",
|
||||
"rollup-plugin-node-resolve": "^5.2.0",
|
||||
@ -52,13 +53,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"
|
||||
}
|
||||
|
@ -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>
|
||||
|
@ -1,4 +1,4 @@
|
||||
module.exports = {
|
||||
export default {
|
||||
random() {
|
||||
const segment = () => {
|
||||
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
||||
|
@ -1,4 +1,4 @@
|
||||
module.exports = {
|
||||
export default {
|
||||
getNextHeadingLevel(currentLevel) {
|
||||
return parseInt(currentLevel, 10) + 1;
|
||||
},
|
||||
|
@ -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",
|
||||
@ -10,13 +10,16 @@
|
||||
"authorCity": "35000 Rennes",
|
||||
"authorSocial": {
|
||||
"mastodon": "https://framapiaf.org/@AstrolabeCAE",
|
||||
"twitter": "https://twitter.com/AstrolabeCae",
|
||||
"linkedin": "https://www.linkedin.com/company/astrolabe-cae/",
|
||||
"meetup": "https://www.meetup.com/fr-FR/Astrolabe-CAE/",
|
||||
"mobilizon": "https://mobilizon.fr/@discussion_astrolabe_cae"
|
||||
"facebook": "https://www.facebook.com/profile.php?id=61558600207926",
|
||||
"instagram": "https://www.instagram.com/cae_astrolabe/",
|
||||
"peertube" : "https://tube.troopers.agency/a/astrolabe_peertube/video-channels",
|
||||
"youtube" : "https://www.youtube.com/channel/UCdxBGpXwL_A5rOcGbN_Xiag",
|
||||
"twitch" : "https://www.twitch.tv/astrolabe_cae",
|
||||
"rss" : "https://www.astrolabe.coop/feed.xml"
|
||||
},
|
||||
"designerName": "Yves Gatesoupe",
|
||||
"designerHandle": "/members/yves-gatesoupe/",
|
||||
"designerName": "Yves Gatesoupe et Astrolabe",
|
||||
"designerHandle": "/equipe/",
|
||||
"illustrators": "Igé Maulana, Leopold Merleau, Visual Glow, Galaxicon, Made, Eucalyp, yurr",
|
||||
"enableThirdPartyComments": false,
|
||||
"maxPostsPerPage": 5,
|
||||
@ -24,5 +27,5 @@
|
||||
"maxProfilePreview": 3,
|
||||
"maxCustomerPerPage": 8,
|
||||
"maxPartnerPerPage": 8,
|
||||
"faviconPath": "/images/favicon.png"
|
||||
"faviconPath": "/images/astrolabe/favicon.png"
|
||||
}
|
||||
|
@ -1,6 +1,11 @@
|
||||
import {createRequire} from 'node:module';
|
||||
const require = createRequire(import.meta.url);
|
||||
// need this because of issue when using ESM : https://github.com/11ty/eleventy-dependency-tree-esm/issues/2
|
||||
// This will get soon resolved
|
||||
|
||||
const tokens = require('./tokens.json');
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
colors() {
|
||||
let response = [];
|
||||
|
||||
|
@ -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&rec=1" style="border:0;" alt="" /></p></noscript>
|
||||
<!-- End Matomo Code -->
|
||||
</body>
|
||||
</html>
|
||||
|
@ -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 }}
|
||||
|
@ -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" %}
|
||||
|
@ -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 %}
|
||||
|
@ -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" %}
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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 d’entrepreneur 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 d’entrepreneur 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 l’actualité 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 l’actualité 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>
|
||||
|
@ -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>
|
||||
|
@ -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')
|
||||
|
6
src/_includes/partials/components/meeting.njk
Normal file
@ -0,0 +1,6 @@
|
||||
<section id="Meeting" class="[ meeting ]">
|
||||
<a class="[ meeting__link btn btn-secondary ]" href="https://nuage.astrolabe.coop/apps/forms/embed/jiKKjDLEJZ7DEck3tacdRMX3" target="_blank">
|
||||
Réunions d'information
|
||||
<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>
|
@ -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>
|
||||
|
@ -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 d’un 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 %}
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
@ -40,20 +40,22 @@
|
||||
<p>
|
||||
Nos coopérateurs possèdent des compétences propres allant de développement linux embarqué au web design et créent ainsi la <b>pluralité</b> de nos prestations.
|
||||
<br><br>
|
||||
Nous sommes également <b>distributeurs</b> de la solution logicielle <a href="https://www.crealead.com/naega#bootstrap-fieldgroup-nav-item--prsentation" target="_blank" rel="noreferrer noopener">Naega</a>.
|
||||
Nous sommes également <b>fournisseur de service SAAS</b> de la solution logicielle libre de gestion de CAE <a href="https://www.baloop-erp.fr/" target="_blank" rel="noreferrer noopener">Baloop</a>.
|
||||
<br><br>
|
||||
Nous sommes détenteur de l'<a href="https://www.astrolabe.coop/posts/agrement-cir-2024/" target="_blank" rel="noreferrer noopener">Agrément CIR</a> utile pour nos membres qui travaillent dans le domaine de la R&D.
|
||||
</p>
|
||||
</div>
|
||||
<div class="side-info">
|
||||
<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>
|
||||
|
@ -7,12 +7,13 @@
|
||||
{% set pageTitle = metaTitle %}
|
||||
{% endif %}
|
||||
|
||||
{% if metaDesc %}
|
||||
{% set pageDesc = metaDesc %}
|
||||
{% if description %}
|
||||
{% set pageDesc = description %}
|
||||
{% endif %}
|
||||
|
||||
<title>{{ pageTitle }}</title>
|
||||
<link rel="canonical" href="{{ currentUrl }}" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Astrolabe CAE's RSS Feed" href="/feed.xml" />
|
||||
|
||||
<meta property="og:site_name" content="{{ siteTitle }}" />
|
||||
<meta property="og:title" content="{{ pageTitle }}" />
|
||||
@ -23,10 +24,10 @@
|
||||
<meta name="twitter:creator" content="@{{ site.authorHandle | replace('@', '') }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if metaDesc %}
|
||||
<meta name="description" content="{{ metaDesc }}" />
|
||||
<meta name="twitter:description" content="{{ metaDesc }}" />
|
||||
<meta property="og:description" content="{{ metaDesc }}" />
|
||||
{% if description %}
|
||||
<meta name="description" content="{{ description }}" />
|
||||
<meta name="twitter:description" content="{{ description }}" />
|
||||
<meta property="og:description" content="{{ description }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if socialImage %}
|
||||
|
@ -10,18 +10,23 @@
|
||||
</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>
|
||||
<p>{{site.authorName}}</p>
|
||||
<p>{{site.authorAddress}}<br>{{site.authorCity}}</p>
|
||||
<a href="{{site.authorSocial.mastodon}}" class="social" 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" fill="#fff"/></svg></a>
|
||||
<a href="{{site.authorSocial.twitter}}" class="social" title="twitter"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 4.309a9.83 9.83 0 01-2.828.775 4.932 4.932 0 002.165-2.724 9.864 9.864 0 01-3.127 1.195A4.916 4.916 0 0016.616 2c-3.179 0-5.515 2.966-4.797 6.045A13.978 13.978 0 011.671 2.901a4.93 4.93 0 001.523 6.574 4.903 4.903 0 01-2.229-.616c-.054 2.281 1.581 4.415 3.949 4.89a4.935 4.935 0 01-2.224.084 4.928 4.928 0 004.6 3.419A9.9 9.9 0 010 19.292a13.94 13.94 0 007.548 2.212c9.142 0 14.307-7.721 13.995-14.646A10.025 10.025 0 0024 4.309z" fill="#fff"/></svg></a>
|
||||
<a href="{{site.authorSocial.linkedin}}" class="social" title="linkedin"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.98 2.5A2.49 2.49 0 012.5 5 2.49 2.49 0 01.02 2.5C.02 1.12 1.13 0 2.5 0a2.49 2.49 0 012.48 2.5zM5 7H0v16h5V7zm7.982 0H8.014v16h4.969v-8.399c0-4.67 6.029-5.052 6.029 0V23H24V12.869c0-7.88-8.922-7.593-11.018-3.714V7z" fill="#fff"/></svg></a>
|
||||
<a href="{{site.authorSocial.meetup}}" class="social" title="meetup"><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M16.001 17.372c.002 1.856 1.194 3.497 2.884 4.055.847.28 1.721.412 2.608.451.633.028 1.265-.016 1.85-.308.46-.23.676-.609.656-1.114-.021-.509-.249-.89-.736-1.092a2.458 2.458 0 00-.52-.159c-.537-.096-1.076-.176-1.61-.282-.882-.176-1.251-.642-1.263-1.534-.01-.788.203-1.532.446-2.268.444-1.346 1.042-2.63 1.616-3.924.553-1.25 1.133-2.489 1.524-3.805.216-.723.319-1.448.123-2.196-.298-1.134-.978-1.895-2.151-2.113-1.073-.2-2.141-.223-3.112.417-.323.212-.633.162-.913-.086-.214-.188-.418-.387-.627-.58-.991-.914-2.3-.959-3.363-.124-.429.337-.79.755-1.255 1.047-.417.262-.837.336-1.298.09-.439-.234-.893-.44-1.347-.646-.459-.207-.904-.464-1.422-.507-1.635-.14-3.347.833-4.068 2.31a20.107 20.107 0 00-.83 2.017c-1.144 3.16-2.077 6.389-3.041 9.606-.433 1.44.077 2.857 1.297 3.634.951.606 1.992.756 3.071.432.873-.263 1.352-.966 1.686-1.756 1.111-2.62 2.112-5.285 3.171-7.927.291-.726.574-1.456.883-2.175.312-.726 1.209-.974 1.741-.492.325.294.411.685.379 1.103-.035.447-.208.86-.371 1.27-.689 1.743-1.391 3.48-2.083 5.221-.14.352-.292.701-.353 1.079-.106.649.151 1.224.681 1.453.542.233 1.104.272 1.665.069.653-.237 1.044-.748 1.344-1.339 1.034-2.029 2.059-4.063 3.091-6.092.477-.938.963-1.871 1.45-2.803.181-.345.393-.672.731-.887a.882.882 0 01.947-.032c.306.171.326.484.313.792a1.42 1.42 0 01-.117.482c-.134.321-.259.646-.407.961-.859 1.806-1.731 3.606-2.582 5.416-.359.765-.732 1.532-.688 2.336z" fill="#fff"/></svg></a>
|
||||
<a href="{{site.authorSocial.mobilizon}}" class="social" title="mobilizon"><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M19.42 15.192c0-2.985-.795-5.279-2.384-6.883A6.831 6.831 0 0012 6.395a6.831 6.831 0 00-5.036 1.914C5.375 9.898 4.58 12.192 4.58 15.192c0 2.999.791 5.295 2.373 6.888a6.83 6.83 0 005.036 1.914 6.831 6.831 0 005.036-1.914c1.597-1.593 2.395-3.889 2.395-6.888zm-7.414 5.64c-2.116 0-3.173-1.88-3.173-5.64 0-3.761 1.057-5.641 3.173-5.641 2.115 0 3.172 1.88 3.172 5.641 0 3.76-1.057 5.64-3.172 5.64zm-1.953-17a4.123 4.123 0 01-.336-1.679 4.135 4.135 0 01.336-1.678 4.51 4.51 0 012.165-.47 3.939 3.939 0 012.065.47c.228.53.343 1.101.336 1.678a4.14 4.14 0 01-.336 1.679 4.174 4.174 0 01-2.165.47 3.633 3.633 0 01-2.065-.47z" fill="#fff"/></svg></a>
|
||||
<div class="socials">
|
||||
<a href="{{site.authorSocial.mastodon}}" class="social" 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" fill="#fff"/></svg></a>
|
||||
<a href="{{site.authorSocial.facebook}}" class="social" title="Facebook"><svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="24px" height="24px"><path d="M24,4C12.972,4,4,12.972,4,24c0,10.006,7.394,18.295,17,19.75V29h-4c-0.552,0-1-0.447-1-1v-3c0-0.553,0.448-1,1-1h4v-3.632 C21,15.617,23.427,13,27.834,13c1.786,0,3.195,0.124,3.254,0.129C31.604,13.175,32,13.607,32,14.125V17.5c0,0.553-0.448,1-1,1h-2 c-1.103,0-2,0.897-2,2V24h4c0.287,0,0.56,0.123,0.75,0.338c0.19,0.216,0.278,0.502,0.243,0.786l-0.375,3 C31.555,28.624,31.129,29,30.625,29H27v14.75c9.606-1.455,17-9.744,17-19.75C44,12.972,35.028,4,24,4z"/></svg></a>
|
||||
<a href="{{site.authorSocial.linkedin}}" class="social" title="Linkedin"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.98 2.5A2.49 2.49 0 012.5 5 2.49 2.49 0 01.02 2.5C.02 1.12 1.13 0 2.5 0a2.49 2.49 0 012.48 2.5zM5 7H0v16h5V7zm7.982 0H8.014v16h4.969v-8.399c0-4.67 6.029-5.052 6.029 0V23H24V12.869c0-7.88-8.922-7.593-11.018-3.714V7z" fill="#fff"/></svg></a>
|
||||
<a href="{{site.authorSocial.instagram}}" class="social" title="Instagram"><svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="24px" height="24px"><path d="M 16 3 C 8.83 3 3 8.83 3 16 L 3 34 C 3 41.17 8.83 47 16 47 L 34 47 C 41.17 47 47 41.17 47 34 L 47 16 C 47 8.83 41.17 3 34 3 L 16 3 z M 37 11 C 38.1 11 39 11.9 39 13 C 39 14.1 38.1 15 37 15 C 35.9 15 35 14.1 35 13 C 35 11.9 35.9 11 37 11 z M 25 14 C 31.07 14 36 18.93 36 25 C 36 31.07 31.07 36 25 36 C 18.93 36 14 31.07 14 25 C 14 18.93 18.93 14 25 14 z M 25 16 C 20.04 16 16 20.04 16 25 C 16 29.96 20.04 34 25 34 C 29.96 34 34 29.96 34 25 C 34 20.04 29.96 16 25 16 z"/></svg></a>
|
||||
<a href="{{site.authorSocial.peertube}}" class="social" title="Peertube"><svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="24px" height="24px"><path d="M8.83,4.5l16.89,9.75L42.6,24,25.72,33.75,8.83,43.5V24l8.36,4.83,8.42,4.87V14.27l-8.42,4.87L8.83,24V4.5Z"/></g></svg></a>
|
||||
<a href="{{site.authorSocial.youtube}}" class="social" title="Youtube"><svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="24px" height="24px"><path d="M44.9,14.5c-0.4-2.2-2.3-3.8-4.5-4.3C37.1,9.5,31,9,24.4,9c-6.6,0-12.8,0.5-16.1,1.2c-2.2,0.5-4.1,2-4.5,4.3C3.4,17,3,20.5,3,25s0.4,8,0.9,10.5c0.4,2.2,2.3,3.8,4.5,4.3c3.5,0.7,9.5,1.2,16.1,1.2s12.6-0.5,16.1-1.2c2.2-0.5,4.1-2,4.5-4.3c0.4-2.5,0.9-6.1,1-10.5C45.9,20.5,45.4,17,44.9,14.5z M19,32V18l12.2,7L19,32z"/></g></svg></a>
|
||||
<a href="{{site.authorSocial.twitch}}" class="social" title="Twitch"><svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="24px" height="24px"><path d="M31.16,12.16v8.19h2.47V12.16Zm-7.75,0v8.19H26V12.16ZM14.11,4.5,7.23,11.34l0,25.12h8.3l0,7,7.06-7H28.2L40.77,24V4.5Zm1.42,2.89H38v15.2L32.55,28H26.94l-5.12,5.13V28H15.53Z"/></g></svg></a>
|
||||
<a href="{{site.authorSocial.rss}}" class="social" title="RSS"><svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="24px" height="24px"><path class="a" d="M5.5,13.5729A28.9269,28.9269,0,0,1,34.4271,42.5v0H42.5a37,37,0,0,0-37-37Z"></path><path class="a" d="M29.7179,42.5h-7.4A16.818,16.818,0,0,0,5.5,25.6819v-7.4A24.2183,24.2183,0,0,1,29.7181,42.5Z"></path><circle class="a" cx="10.2459" cy="37.7549" r="4.7453"></circle>/svg></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
@ -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>
|
||||
|
35
src/feed.njk
Normal file
@ -0,0 +1,35 @@
|
||||
---json
|
||||
{
|
||||
"permalink": "feed.xml",
|
||||
"eleventyExcludeFromCollections": true,
|
||||
"metadata": {
|
||||
"title": "Actualité d'Astrolabe",
|
||||
"description": "Retrouvez nos dernières actualités",
|
||||
"language": "fr",
|
||||
"base": "https://www.astrolabe.coop/",
|
||||
"author": "Astrolabe CAE"
|
||||
}
|
||||
}
|
||||
---
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="{{ metadata.base | addPathPrefixToFullUrl }}" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>{{ metadata.title }}</title>
|
||||
<link>{{ metadata.base | addPathPrefixToFullUrl }}</link>
|
||||
<atom:link href="{{ permalink | htmlBaseUrl(metadata.base) }}" rel="self" type="application/rss+xml" />
|
||||
<description>{{ metadata.description }}</description>
|
||||
<language>{{ metadata.language or page.lang }}</language>
|
||||
{%- for post in collections.posts %}
|
||||
{%- set absolutePostUrl = post.url | htmlBaseUrl(metadata.base) %}
|
||||
<item>
|
||||
<title>{{ post.data.title }}</title>
|
||||
<link>{{ absolutePostUrl }}</link>
|
||||
<description>{{ post.data.description }}</description>
|
||||
<pubDate>{{ post.date | dateToRfc822 }}</pubDate>
|
||||
<category>{{ post.data.type }}</category>
|
||||
<dc:creator>{{ post.data.author or metadata.author }}</dc:creator>
|
||||
<guid>{{ absolutePostUrl }}</guid>
|
||||
</item>
|
||||
{%- endfor %}
|
||||
</channel>
|
||||
</rss>
|
@ -5,13 +5,28 @@ const appendSuffix = n => {
|
||||
return n + (s[(v - 20) % 10] || s[v] || s[0]);
|
||||
};
|
||||
|
||||
module.exports = function dateFilter(value) {
|
||||
export default function dateFilter(value) {
|
||||
const dateObject = new Date(value);
|
||||
|
||||
// const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
||||
const months = ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juill.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'];
|
||||
const months = [
|
||||
'janv.',
|
||||
'févr.',
|
||||
'mars',
|
||||
'avr.',
|
||||
'mai',
|
||||
'juin',
|
||||
'juill.',
|
||||
'août',
|
||||
'sept.',
|
||||
'oct.',
|
||||
'nov.',
|
||||
'déc.'
|
||||
];
|
||||
const dayWithSuffix = appendSuffix(dateObject.getDate());
|
||||
|
||||
// return `${dayWithSuffix} ${months[dateObject.getMonth()]} ${dateObject.getFullYear()}`;
|
||||
return `${dateObject.getDate()} ${months[dateObject.getMonth()]} ${dateObject.getFullYear()}`;
|
||||
};
|
||||
return `${dateObject.getDate()} ${
|
||||
months[dateObject.getMonth()]
|
||||
} ${dateObject.getFullYear()}`;
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
const markdownIt = require('markdown-it')({
|
||||
import markdownIt from 'markdown-it';
|
||||
|
||||
const m = markdownIt({
|
||||
html: true,
|
||||
breaks: true,
|
||||
linkify: true
|
||||
});
|
||||
|
||||
module.exports = function markdown(value) {
|
||||
return markdownIt.render(value);
|
||||
};
|
||||
export default function markdown(value) {
|
||||
return m.render(value);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
module.exports = function w3cDate(value) {
|
||||
export default function w3cDate(value) {
|
||||
const dateObject = new Date(value);
|
||||
|
||||
return dateObject.toISOString();
|
||||
};
|
||||
}
|
||||
|
@ -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 d’entrepreneur 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 d’entrepreneur 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>
|
||||
|
4
src/images/astrolabe/COPYRIGHT.txt
Normal 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.
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 946 B After Width: | Height: | Size: 946 B |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
4
src/images/customers/COPYRIGHT.txt
Normal 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.
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
BIN
src/images/pages/poisson-2024-guijaune.jpg
Normal file
After Width: | Height: | Size: 39 KiB |
4
src/images/partners/COPYRIGHT.txt
Normal 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.
|
BIN
src/images/partners/logo-bigre.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/images/partners/logo-coop-tech.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1021 KiB |
Before Width: | Height: | Size: 20 KiB |
BIN
src/images/partners/logo_oxalis.jpeg
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
src/images/partners/logo_transition_ess.jpeg
Normal file
After Width: | Height: | Size: 7.2 KiB |
4
src/images/posts/AG2022/COPYRIGHT.txt
Normal 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.
|
BIN
src/images/posts/AG2023/BrainstormingAG2023-1.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
src/images/posts/AG2023/BrainstormingAG2023-2.jpg
Normal file
After Width: | Height: | Size: 28 KiB |
4
src/images/posts/AG2023/COPYRIGHT.txt
Normal 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.
|
BIN
src/images/posts/AG2023/CuisineAG2023.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/images/posts/AG2023/LaBasseCour.jpg
Normal file
After Width: | Height: | Size: 307 KiB |
BIN
src/images/posts/AG2023/RepasAG2023-1.jpg
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
src/images/posts/AG2023/RepasAG2023-2.jpg
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
src/images/posts/AG2023/RepasAG2023-3.jpg
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
src/images/posts/AG2023/RepasAG2023-4.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/images/posts/AG2023/ShootingAG2023.jpg
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
src/images/posts/AG2023/VotesAG2023.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/images/posts/AG2023/crew-join.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/images/posts/AG2024/10_RepasSoir.jpg
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
src/images/posts/AG2024/11_ConcertSBRBS.jpg
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/images/posts/AG2024/1_AG2024_PReAG.jpg
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
src/images/posts/AG2024/2_AG2024_Halles_en_commun.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/images/posts/AG2024/3_AG2024_CafeAccueil.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
src/images/posts/AG2024/4_AG2024_Vote.JPG
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
src/images/posts/AG2024/5_AG2024_Goodies.JPG
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
src/images/posts/AG2024/6_AG2024_RepasMidi.jpg
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
src/images/posts/AG2024/7_AG2024_AtelierEquipiere.jpg
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
src/images/posts/AG2024/9_AtelierFresqueSexisme.jpg
Normal file
After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 734 KiB After Width: | Height: | Size: 605 KiB |
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 233 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
BIN
src/images/posts/CAB500-alice-recoque.jpeg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
src/images/posts/CNIL-logo-alice-recoque.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src/images/posts/COBOL-grace-hopper.png
Normal file
After Width: | Height: | Size: 894 B |
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 52 KiB |
BIN
src/images/posts/EDO23-Pres-Astrolabe-ITGP1.png
Normal file
After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 72 KiB |
BIN
src/images/posts/Flyer-CAE-OuestP1.jpeg
Normal file
After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 234 KiB |
BIN
src/images/posts/Illustration_SCOP_CAE_cquoi.jpg
Normal file
After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 52 KiB |
BIN
src/images/posts/MARK1-grace-hopper.JPG
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
src/images/posts/Mois-ESS2023-Apec.jpg
Normal file
After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 159 KiB |
BIN
src/images/posts/SEEPH2023-Rennes.png
Normal file
After Width: | Height: | Size: 249 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 87 KiB |