Compare commits
457 Commits
feature-ma
...
master
Author | SHA1 | Date | |
---|---|---|---|
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 | |||
d55bb2d8a5 | |||
571b528287 | |||
814dca0e6a | |||
754bdd94e6 | |||
b792fe65aa | |||
d12eba02df | |||
9776f94b83 | |||
e8748b9f23 | |||
|
04050da930 | ||
|
026a55fe9e | ||
fe7b7c83af | |||
7e0db4bb31 | |||
b9391491af | |||
ed2572a1ab | |||
e860d15430 | |||
4a33f94a98 | |||
|
040a59935c | ||
|
f6964aa56e | ||
a5b7f9c5a4 | |||
f2faae5d11 | |||
6cae0e96d1 | |||
e9915c3b89 | |||
863e626be6 | |||
|
8f8bc66e07 | ||
|
99475b275e | ||
7c8e485501 | |||
4898fcf68a | |||
20401e902e | |||
68def53fb4 | |||
a637ef49fb | |||
abe99a4e66 | |||
d2f01b6e4e | |||
f2c28ead0a | |||
f56f34322b | |||
c631d9aec1 | |||
d840ef70bf | |||
ea5f1eece5 | |||
808813db07 | |||
59415d1a20 | |||
110d9d9d5c | |||
2ea3cbb7b4 | |||
3fae7e1d11 | |||
c76cb8f804 | |||
|
a4fc862ac7 | ||
e693aa4f2e | |||
cd6ea738f4 | |||
2ac7420c07 | |||
c71f219025 | |||
b905a3d005 | |||
de5c31dc0b | |||
cada333367 | |||
bef562dfc9 | |||
ef3db5153d | |||
3935c76f29 | |||
4fc40648ef | |||
9c9e2de6dd | |||
c1b3ad2376 | |||
27a9ad80b5 | |||
cdc234ce57 | |||
828792386a | |||
6b1ad5d00e | |||
b156b5293a | |||
10ea7b3763 | |||
2cd363484e | |||
073130c305 | |||
a7ab0b4e9d | |||
40df240e95 | |||
73b077a009 | |||
e1d012361c | |||
|
5deea2a90a | ||
|
33339fc8e9 | ||
|
cf6879754a | ||
7033bd47c0 | |||
c5fe9aee39 | |||
198a5d7a0c | |||
05308c2e59 | |||
66cf2d1c78 | |||
5699e85fcb | |||
|
dca1b7ff4c | ||
bd9aff19e8 | |||
b7d6f71d4b | |||
3dda5237c8 | |||
|
b8315263ec | ||
d081ea9ebf | |||
aefd19c66f | |||
db8c8a5ba0 | |||
770fd5e874 | |||
|
63d467a759 | ||
|
e91376c45c | ||
fd013b6fa4 | |||
b37970c683 | |||
9ac3a24840 | |||
4eedd138c0 | |||
7e96ee9d51 | |||
7eb77bedff | |||
657b905226 | |||
baa57280e9 | |||
46ba6e6f35 | |||
51cd6e3650 | |||
066b335f2b | |||
5d98579753 | |||
607189dccd | |||
4405c55198 | |||
af7d564996 | |||
7df9c0c973 | |||
1d8a2450e4 | |||
82be57e336 | |||
a1b35fcdfb | |||
d88f7f9a59 | |||
33ffe44e86 | |||
07f0dd0f5a | |||
671882ca46 | |||
dc91d316d3 | |||
3f6b08040d | |||
8657644022 | |||
a4168073f2 | |||
c48ec496d5 | |||
3a2db7eb76 | |||
14ad273b23 | |||
6daa87333e | |||
95b2a8698a | |||
00689a30d3 | |||
e590d61a14 | |||
|
6a44d5ca16 | ||
|
549553bf15 | ||
|
1487a9f53f | ||
|
16b0b61ca2 | ||
|
d717ccf142 | ||
|
9b3ca9dad3 | ||
b7d6bb69c5 | |||
3da793f2e4 | |||
2f9e15f765 | |||
42ca36200e | |||
d98a016d8f | |||
03c0699d82 | |||
|
02b6c98057 | ||
da74212bd3 | |||
2eddfb139a | |||
ec0e5a6fe0 | |||
aeeed40423 | |||
ddd66c8406 | |||
6cd39fd2c5 | |||
|
c2b69bb41a | ||
c437734701 | |||
74382feacc | |||
2c5e559809 | |||
ab09c43f3c | |||
62d289628d | |||
185b26e093 | |||
f2de6316ce | |||
e5b3a76135 | |||
2ed9d94f0f | |||
746ea78272 | |||
aebe7b471a | |||
|
23bdc63a78 | ||
3e1c7e1687 | |||
0b7dfc5d15 | |||
33c93371c4 | |||
ed2d0a128d | |||
2afa45d690 | |||
bae4b02c91 | |||
29b209f48a | |||
feb0161dec | |||
bc57f3e937 | |||
feb1d14bcc | |||
ac7a338afc | |||
8d8364ea11 | |||
5e4b0aa620 | |||
570055a7e9 | |||
d683289fb7 | |||
b5fe17752b | |||
f6442b7b75 | |||
a446dba628 | |||
e6f22e4cd9 | |||
51634c4ff7 | |||
|
db2fe4dd35 | ||
17456d17f8 | |||
385957e34d | |||
5ad733d5b1 | |||
|
63188e23a7 | ||
|
fb1cbb1c4e | ||
693188666c | |||
|
a3d3be3244 | ||
33aef1e4fa | |||
f055f2b082 | |||
|
ce1ab75a88 | ||
|
e13bc484d1 | ||
74613332d5 | |||
4aeea22c2f | |||
|
df8c6d3a2b | ||
fded395673 | |||
3f360bc95d | |||
a2ca48f220 | |||
|
f61a6057ee | ||
d61062f316 | |||
|
37afec8fb2 | ||
|
c7f4cbd571 | ||
|
e415d091e5 | ||
|
5dfd237298 | ||
d2e2db98c1 | |||
c75d04b65d | |||
74522d8081 | |||
211b1cca60 | |||
53bb423b73 | |||
6e35a6c5c7 | |||
c06a9d4315 |
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
|
||||
};
|
||||
};
|
||||
}
|
||||
|
3
.gitignore
vendored
@ -1,3 +1,5 @@
|
||||
#.gitignore
|
||||
*~
|
||||
*.log
|
||||
npm-debug.*
|
||||
*.scssc
|
||||
@ -11,6 +13,7 @@ node_modules
|
||||
dist/*
|
||||
deploy-prod.js
|
||||
deploy-preprod.js
|
||||
package-lock.json
|
||||
|
||||
# Specifics
|
||||
|
||||
|
13
LICENSE.txt
@ -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) 2017–2023 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
|
||||
|
@ -9,7 +9,7 @@ Requirements :
|
||||
|
||||
### Install
|
||||
|
||||
1. Clone or fork this repo: `git clone https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe`
|
||||
1. Clone or fork this repo: `git clone ssh://gitea@git.astrolabe.coop:2106/AstrolabeCAE/SiteWebAstrolabe.git`
|
||||
2. `cd` into the project directory and run `npm install`
|
||||
3. Once all the dependencies are installed run `npm start`
|
||||
4. Open your browser at `http://localhost:8080` and away you go!
|
||||
@ -127,3 +127,7 @@ Fill in the meta information :
|
||||
1. `name:` the brand name of the partner
|
||||
2. `thumbnail:` the partner brand logo, make sure to place it in the `images/partner/`folder
|
||||
3. `url:` the partner website
|
||||
|
||||
### FAQ section
|
||||
|
||||
Edit `_data/faq.json` file to add a new Q/A couple object. Plain html e.g. `<br>` or `<a href="">link</a>` is supported
|
||||
|
@ -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
|
||||
};
|
||||
|
11806
package-lock.json
generated
36
package.json
@ -3,16 +3,17 @@
|
||||
"version": "0.1.0",
|
||||
"description": "Site web de la coopérative Astrolabe CAE",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@11ty/eleventy": "^0.10.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",
|
||||
"concurrently": "^4.1.2",
|
||||
"copyfiles": "^2.4.1",
|
||||
"bootstrap": "^5.1.3",
|
||||
"concurrently": "^7.0.0",
|
||||
"html-minifier": "^4.0.0",
|
||||
"image-size": "^0.8.3",
|
||||
"json-to-scss": "^1.5.0",
|
||||
"json-to-scss": "^1.3.1",
|
||||
"leaflet": "^1.7.1",
|
||||
"sass": "^1.26.3",
|
||||
"semver": "^6.3.0",
|
||||
@ -22,25 +23,28 @@
|
||||
"devDependencies": {
|
||||
"@erquhart/rollup-plugin-node-builtins": "^2.1.5",
|
||||
"bl": "^3.0.0",
|
||||
"chokidar-cli": "^2.1.0",
|
||||
"chokidar-cli": "^3.0.0",
|
||||
"copyfiles": "^2.4.1",
|
||||
"cross-env": "^5.2.1",
|
||||
"ftp-deploy": "^2.3.7",
|
||||
"make-dir-cli": "^2.0.0",
|
||||
"make-dir-cli": "^3.0.0",
|
||||
"prettier": "^1.19.1",
|
||||
"rollup": "^1.32.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"rollup": "^4.24.0",
|
||||
"rollup-plugin-commonjs": "^10.1.0",
|
||||
"rollup-plugin-json": "^4.0.0",
|
||||
"rollup-plugin-node-resolve": "^5.2.0",
|
||||
"stylelint": "^13.6.1",
|
||||
"stylelint-config-sass-guidelines": "^7.0.0"
|
||||
"stylelint": "^14.2.0",
|
||||
"stylelint-config-sass-guidelines": "^9.0.1"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf dist",
|
||||
"sass:tokens": "npx json-to-scss src/_data/tokens.json src/scss/_tokens.scss",
|
||||
"sass:lint": "npx stylelint src/scss/**/*.scss",
|
||||
"sass:process": "npm run sass:tokens && npm run sass:lint && sass src/scss/global.scss src/_includes/assets/css/global.css --style=compressed",
|
||||
"vendor:css": "copyfiles node_modules/leaflet/dist/leaflet.css -f dist/vendor/css",
|
||||
"vendor:js": "copyfiles node_modules/leaflet/dist/leaflet.js -f dist/vendor/js",
|
||||
"vendor": "npm run vendor:css && npm run vendor:js",
|
||||
"vendor:css": "copyfiles node_modules/leaflet/dist/leaflet.css node_modules/bootstrap/dist/css/bootstrap.min.css -f dist/vendor/css",
|
||||
"vendor:js": "copyfiles node_modules/leaflet/dist/leaflet.js node_modules/bootstrap/dist/js/bootstrap.min.js -f dist/vendor/js",
|
||||
"vendor": "npm run clean && npm run vendor:css && npm run vendor:js",
|
||||
"start": "concurrently \"npm run vendor\" \"npm run sass:process -- --watch\" \"npm run serve\"",
|
||||
"serve": "cross-env ELEVENTY_ENV=development npx eleventy --serve",
|
||||
"prod": "cross-env ELEVENTY_ENV=prod npm run vendor && npm run sass:process && npx eleventy",
|
||||
@ -49,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>
|
||||
|
27
src/_data/faq.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"items": [
|
||||
{
|
||||
"q": "Qu'est ce que l'ESS ?",
|
||||
"a": "Le concept d'économie sociale et solidaire (ESS) désigne un ensemble d'entreprises organisées sous forme de coopératives, mutuelles, associations, ou fondations, dont le fonctionnement interne et les activités sont fondés sur un principe de solidarité et d'utilité sociale. (Cf : https://www.economie.gouv.fr/cedef/economie-sociale-et-solidaire )"
|
||||
},
|
||||
{
|
||||
"q": "Qu'est ce qu'une SCOP ?",
|
||||
"a": "Une Société COopérative et Participative (SCOP) parfois également appelée société coopérative de production ou « société coopérative ouvrière de production » ou « société coopérative de travailleurs », est en droit français, une société commerciale qui se distingue des sociétés classiques par une détention majoritaire du capital et du pouvoir de décision par les salariés. (Cf : https://wikipedia.org/wiki/Société_coopérative_et_participative )"
|
||||
},
|
||||
{
|
||||
"q": "Qu'est ce qu'une CAE ?",
|
||||
"a": "Une Coopérative d'Activités et d'Entrepreneur·e·s (CAE - on parle aussi de coopérative d’activité, coopérative d'entrepreneurs ou coopérative d'activité et d'emploi), telle que définie par la Loi sur l'économie sociale et solidaire de juillet 20141 est, en France, une structure d'entreprise coopérative permettant la création et le développement d'activités économiques par des entrepreneurs indépendants. (Cf : https://fr.wikipedia.org/wiki/Coopérative_d'activité_et_d'emploi )"
|
||||
},
|
||||
{
|
||||
"q": "Doit-on être expert de la coopération pour rentrer dans la coopérative ?",
|
||||
"a": "Non ce n'est pas nécessaire, le plus important est de s'intéresser au sujet, et de vouloir participer à un projet collectif."
|
||||
},
|
||||
{
|
||||
"q": "Doit-on être rennais pour rejoindre Astrolabe ?",
|
||||
"a": "Pas forcement, de nombreux membres sont des differents coins de la France, mais à ce jour la majorité des membres sont en bretagne."
|
||||
},
|
||||
{
|
||||
"q": "Comment la structure se finance-t-elle ?",
|
||||
"a": "Le financement est assuré par la Contribution Coopérative, qui est un pourcentage de la facturation des membres."
|
||||
}]
|
||||
}
|
@ -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;
|
||||
},
|
||||
|
@ -26,8 +26,8 @@
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"text": "Nous contacter",
|
||||
"url": "#contact-form",
|
||||
"text": "FAQ / Nous contacter",
|
||||
"url": "/faq+contact/",
|
||||
"external": false
|
||||
}
|
||||
]
|
||||
|
@ -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,15 @@
|
||||
"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"
|
||||
},
|
||||
"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 +26,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 = [];
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"size-scale": {
|
||||
"base": "1rem",
|
||||
"300": "0.8rem",
|
||||
"300": ".8rem",
|
||||
"500": "1.25rem",
|
||||
"600": "1.56rem",
|
||||
"700": "1.95rem",
|
||||
|
@ -3,11 +3,13 @@
|
||||
<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" %}
|
||||
<script>document.documentElement.classList.remove('no-js');</script>
|
||||
<link rel = "stylesheet" href="/vendor/css/leaflet.css"/>
|
||||
<link rel = "stylesheet" href="/vendor/css/bootstrap.min.css"/>
|
||||
<style>{% include "assets/css/global.css" %}</style>
|
||||
{% block head %}
|
||||
{% endblock %}
|
||||
@ -20,6 +22,8 @@
|
||||
{% block foot %}
|
||||
{% endblock %}
|
||||
<script type="text/javascript" src="/js/components/menu-toggle.js" async defer></script>
|
||||
<script type="text/javascript" src="/js/components/search.js" async defer></script>
|
||||
<script type="text/javascript" src="/vendor/js/bootstrap.min.js" async defer></script>
|
||||
<script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', () => {
|
||||
@ -37,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>
|
||||
|
@ -1,18 +1,11 @@
|
||||
{% extends 'layouts/base.njk' %}
|
||||
|
||||
{# Intro content #}
|
||||
{% set introHeading = title %}
|
||||
|
||||
{% block content %}
|
||||
<main id="main-content" tabindex="-1">
|
||||
<article class="[ post ] [ h-entry ]">
|
||||
{% include "partials/components/intro.njk" %}
|
||||
<div class="[ post__body ] [ inner-wrapper ] [ leading-loose pad-top-900 pad-bottom-900 text-500 ] [ sf-flow ] [ e-content ]">
|
||||
{{ content | safe }}
|
||||
{% include "partials/components/contact-form.njk" %}
|
||||
</div>
|
||||
</article>
|
||||
{% 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" %}
|
||||
|
@ -15,32 +15,35 @@
|
||||
<div class="member__info">
|
||||
<img src="{{ profile }}" alt="photo de {{ name }}">
|
||||
{% if personalSite %}
|
||||
<p>
|
||||
<p class="member-url">
|
||||
<strong>site web :</strong>
|
||||
<a href="{{ personalSite }}">{{ personalSite }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if socialMastodon %}
|
||||
<a href="{{ socialMastodon }}" 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="#282156"/></svg></a>
|
||||
{% endif %}
|
||||
{% if socialTwitter %}
|
||||
<a href="{{ socialTwitter }}" 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="#282156"/></svg></a>
|
||||
{% endif %}
|
||||
{% if socialLinkedin %}
|
||||
<a href="{{ socialLinkedin }}" 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="#282156"/></svg></a>
|
||||
{% endif %}
|
||||
<div class="[ nav ] [ box-flex align-center ]">
|
||||
|
||||
</div>
|
||||
<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 %}
|
||||
{% if socialTwitter %}
|
||||
<li><a href="{{ socialTwitter }}" 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"/></svg></a></li>
|
||||
{% endif %}
|
||||
{% if socialLinkedin %}
|
||||
<li><a href="{{ socialLinkedin }}" 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"/></svg></a></li>
|
||||
{% endif %}
|
||||
{% if socialGithub %}
|
||||
<li><a href="{{ socialGithub }}" title="linkedin"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12Z"/></svg></a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="member__bio">
|
||||
{{ content | safe }}
|
||||
{% if tags %}
|
||||
<h2 class="font-base weight-mid mt-2">Mots-clés</h2>
|
||||
<ul class="tag-list mt-1">
|
||||
<h2 class="font-base weight-mid mt-5">Mots-clés</h2>
|
||||
<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>
|
||||
@ -48,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>
|
||||
|
@ -7,10 +7,13 @@
|
||||
<div class="[ wrapper ]">
|
||||
<h1 class="[ member-list__heading ]">{{ teamListHeading }}</h1>
|
||||
{{ content | safe }}
|
||||
<h2 class="[ gap-top-700 ]">{{ tagSearchHeading }}</h2>
|
||||
<ul class="tag-list mt-1">
|
||||
<div class="search-bar">
|
||||
<label for="site-search">Rechercher par mots-clés :</label>
|
||||
<input type="search" id="searchInput" name="q" aria-label="Filtrer par mots-clés" oninput="doSearch()" placeholder="dev, linux, ...">
|
||||
</div>
|
||||
<ul class="tag-list mt-3" id="tagList">
|
||||
{% for skill in collections.skillsList %}
|
||||
<li class="tag-item"><a href="/equipe/{{ skill }}">{{ skill }}</a></li>
|
||||
<li class="tag-item visually-hidden"><a href="/equipe/{{ skill }}/">{{ skill }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
@ -18,5 +21,5 @@
|
||||
{% include "partials/components/map.njk" %}
|
||||
{% include "partials/components/contact-form.njk" %}
|
||||
</main>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
@ -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>
|
||||
|
24
src/_includes/partials/components/faq.njk
Normal file
@ -0,0 +1,24 @@
|
||||
<section class="[ faq ]">
|
||||
{% if faq.items %}
|
||||
<div class="[ inner-wrapper ]">
|
||||
<h1 class="faq__heading">{{ faqHeading }}</h1>
|
||||
{{ content | safe }}
|
||||
<div class="accordion accordion-flush" id="accordionFlushExample">
|
||||
{% for item in faq.items %}
|
||||
<div class="accordion-item">
|
||||
<h3 class="accordion-header" id="flush-heading{{ loop.index }}">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse{{ loop.index }}" aria-expanded="false" aria-controls="flush-collapse{{ loop.index }}">
|
||||
{{ item.q }}
|
||||
</button>
|
||||
</h3>
|
||||
<div id="flush-collapse{{ loop.index }}" class="accordion-collapse collapse" aria-labelledby="flush-heading{{ loop.index }}" data-bs-parent="#accordionFlushExample">
|
||||
<div class="accordion-body">
|
||||
{{ item.a | urlize | safe }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
@ -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>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div class="[ wrapper ]">
|
||||
<h2 class="mt-2">Où sommes-nous ?</h2>
|
||||
<h2 class="mt-5 mb-2">Où sommes-nous ?</h2>
|
||||
</div>
|
||||
<div id = "map" style = "width: 100%; height: 500px"></div>
|
||||
<div id = "map" style = "width: 100%; height: 500px; margin-bottom: 8rem;"></div>
|
||||
<script type="text/javascript" src="/vendor/js/leaflet.js"></script>
|
||||
<script>
|
||||
// Creating map options
|
||||
@ -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')
|
||||
@ -43,7 +43,7 @@
|
||||
map.fitBounds(featureGroup.getBounds());
|
||||
|
||||
// Creating a Layer object
|
||||
var layer = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
|
||||
var layer = new L.TileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
|
||||
|
||||
// Adding layer to the map
|
||||
map.addLayer(layer);
|
||||
|
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://framaforms.org/reunion-dinformation-collective-astrolabe-cae-1591805443" 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>
|
||||
@ -23,15 +23,15 @@
|
||||
<div class="content">
|
||||
<h2>Communs numérique</h2>
|
||||
<p>
|
||||
Chez Astrolabe nous aimons et faisons la promotion du <b>logiciel libre</b>. Nos sommes membres d’<a href="http://www.alliance-libre.org/" target="_blank" rel="noreferrer noopener">Alliance Libre</a>
|
||||
et nous mettons nos documents et projets internes à disposition sur notre gitlab.
|
||||
Chez Astrolabe nous aimons et faisons la promotion du <a href="https://fr.wikipedia.org/wiki/Logiciel_libre" target="_blank" rel="noreferrer noopener">logiciel libre</a>. Nos sommes membres d’<a href="http://www.alliance-libre.org/" target="_blank" rel="noreferrer noopener">Alliance Libre</a>
|
||||
et nous mettons nos documents et projets internes à disposition sur <a href="https://git.astrolabe.coop/explore/repos" target="_blank" rel="noreferrer noopener">notre instance Gitea</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="side-info">
|
||||
<figure>
|
||||
<img src="/images/gitlab.svg" alt="logo Gitlab" loading="lazy" width="110" height="101">
|
||||
<img src="/images/gitea.svg" alt="logo Gitea" loading="lazy" width="100" height="100">
|
||||
</figure>
|
||||
<a role="button" href="https://framagit.org/astrolabe" class="btn btn-primary btn-icon" target="_blank" rel="noreferrer noopener">Gitlab</a>
|
||||
<a role="button" href="https://git.astrolabe.coop/explore/repos" class="btn btn-primary btn-icon" target="_blank" rel="noreferrer noopener">Gitea</a>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
@ -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,20 @@
|
||||
</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>
|
||||
<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>
|
||||
</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>
|
||||
|
5
src/customers/epv.md
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
name: 'Énergies citoyennes en Pays de Vilaine'
|
||||
thumbnail: '/images/customers/logo-epv.png'
|
||||
url: 'https://www.enr-citoyennes.fr/'
|
||||
---
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: 'Le Web en plus'
|
||||
thumbnail: '/images/customers/logo-lewebenplus.png'
|
||||
url: 'https://www.lewebenplus.net/'
|
||||
---
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: 'Naega'
|
||||
thumbnail: '/images/customers/logo-naega.png'
|
||||
url: 'https://www.crealead.com/naega'
|
||||
---
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
name: 'Technicolor'
|
||||
thumbnail: '/images/customers/logo-technicolor.png'
|
||||
url: 'https://www.technicolor.com/'
|
||||
---
|
5
src/customers/vantiva.md
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
name: 'Vantiva'
|
||||
thumbnail: '/images/customers/logo-vantiva.png'
|
||||
url: 'https://www.vantiva.com/'
|
||||
---
|
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,84 +1,116 @@
|
||||
<?php
|
||||
$errors = '';
|
||||
$myEmail = 'contact-form@astrolabe.coop'; // email address to send form content
|
||||
|
||||
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)) {
|
||||
$headers = array(
|
||||
"From: " .$myEmail,
|
||||
"Reply-To: " .$emailAddress,
|
||||
"MIME-Version: 1.0",
|
||||
"Content-Type: text/html;charset=UTF-8",
|
||||
"Content-Transfer-Encoding:8bit"
|
||||
);
|
||||
|
||||
$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";
|
||||
}
|
||||
|
||||
$messageWrap = wordwrap($message, 70, "\r\n", false);
|
||||
|
||||
$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$messageWrap";
|
||||
|
||||
$emailBodyHTML = str_replace("\r\n", "<br>", $emailBody);
|
||||
|
||||
// send the email
|
||||
mail($to, $emailSubject, $emailBodyHTML, implode("\r\n", $headers));
|
||||
|
||||
// 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.
|
BIN
src/images/customers/logo-epv.png
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 4.4 KiB |
BIN
src/images/customers/logo-vantiva.png
Normal file
After Width: | Height: | Size: 19 KiB |
12
src/images/gitea.svg
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg version="1.1" id="main_outline" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 640 640" style="enable-background:new 0 0 640 640;" xml:space="preserve">
|
||||
<g>
|
||||
<path id="teabag" style="fill:#FFFFFF" d="M395.9,484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5,21.2-17.9,33.8-11.8 c17.2,8.3,27.1,13,27.1,13l-0.1-109.2l16.7-0.1l0.1,117.1c0,0,57.4,24.2,83.1,40.1c3.7,2.3,10.2,6.8,12.9,14.4 c2.1,6.1,2,13.1-1,19.3l-61,126.9C423.6,484.9,408.4,490.3,395.9,484.2z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path style="fill:#609926" d="M622.7,149.8c-4.1-4.1-9.6-4-9.6-4s-117.2,6.6-177.9,8c-13.3,0.3-26.5,0.6-39.6,0.7c0,39.1,0,78.2,0,117.2 c-5.5-2.6-11.1-5.3-16.6-7.9c0-36.4-0.1-109.2-0.1-109.2c-29,0.4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5 c-9.8-0.6-22.5-2.1-39,1.5c-8.7,1.8-33.5,7.4-53.8,26.9C-4.9,212.4,6.6,276.2,8,285.8c1.7,11.7,6.9,44.2,31.7,72.5 c45.8,56.1,144.4,54.8,144.4,54.8s12.1,28.9,30.6,55.5c25,33.1,50.7,58.9,75.7,62c63,0,188.9-0.1,188.9-0.1s12,0.1,28.3-10.3 c14-8.5,26.5-23.4,26.5-23.4s12.9-13.8,30.9-45.3c5.5-9.7,10.1-19.1,14.1-28c0,0,55.2-117.1,55.2-231.1 C633.2,157.9,624.7,151.8,622.7,149.8z M125.6,353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6,321.8,60,295.4 c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5,38.5-30c13.8-3.7,31-3.1,31-3.1s7.1,59.4,15.7,94.2c7.2,29.2,24.8,77.7,24.8,77.7 S142.5,359.9,125.6,353.9z M425.9,461.5c0,0-6.1,14.5-19.6,15.4c-5.8,0.4-10.3-1.2-10.3-1.2s-0.3-0.1-5.3-2.1l-112.9-55 c0,0-10.9-5.7-12.8-15.6c-2.2-8.1,2.7-18.1,2.7-18.1L322,273c0,0,4.8-9.7,12.2-13c0.6-0.3,2.3-1,4.5-1.5c8.1-2.1,18,2.8,18,2.8 l110.7,53.7c0,0,12.6,5.7,15.3,16.2c1.9,7.4-0.5,14-1.8,17.2C474.6,363.8,425.9,461.5,425.9,461.5z"/>
|
||||
<path style="fill:#609926" d="M326.8,380.1c-8.2,0.1-15.4,5.8-17.3,13.8c-1.9,8,2,16.3,9.1,20c7.7,4,17.5,1.8,22.7-5.4 c5.1-7.1,4.3-16.9-1.8-23.1l24-49.1c1.5,0.1,3.7,0.2,6.2-0.5c4.1-0.9,7.1-3.6,7.1-3.6c4.2,1.8,8.6,3.8,13.2,6.1 c4.8,2.4,9.3,4.9,13.4,7.3c0.9,0.5,1.8,1.1,2.8,1.9c1.6,1.3,3.4,3.1,4.7,5.5c1.9,5.5-1.9,14.9-1.9,14.9 c-2.3,7.6-18.4,40.6-18.4,40.6c-8.1-0.2-15.3,5-17.7,12.5c-2.6,8.1,1.1,17.3,8.9,21.3c7.8,4,17.4,1.7,22.5-5.3 c5-6.8,4.6-16.3-1.1-22.6c1.9-3.7,3.7-7.4,5.6-11.3c5-10.4,13.5-30.4,13.5-30.4c0.9-1.7,5.7-10.3,2.7-21.3 c-2.5-11.4-12.6-16.7-12.6-16.7c-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3c4.7-9.7,9.4-19.3,14.1-29 c-4.1-2-8.1-4-12.2-6.1c-4.8,9.8-9.7,19.7-14.5,29.5c-6.7-0.1-12.9,3.5-16.1,9.4c-3.4,6.3-2.7,14.1,1.9,19.8 C343.2,346.5,335,363.3,326.8,380.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
@ -1 +0,0 @@
|
||||
<svg width="110" height="101" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M109.052 56.536l-5.704-17.493a2.415 2.415 0 00-.138-.47L91.766 3.412a4.54 4.54 0 00-1.669-2.251 4.555 4.555 0 00-2.674-.846 4.478 4.478 0 00-2.661.856 4.464 4.464 0 00-1.632 2.266L72.222 36.942H37.795L26.871 3.438a4.465 4.465 0 00-1.624-2.26 4.478 4.478 0 00-2.65-.862h-.025a4.555 4.555 0 00-4.331 3.125L6.788 38.643c0 .032-.026.057-.035.09L.946 56.538a6.485 6.485 0 002.364 7.272l50.17 36.386a2.57 2.57 0 003.032-.016l50.179-36.37a6.493 6.493 0 002.361-7.275zM34.061 42.085l13.984 42.96-33.57-42.96H34.06zm27.911 42.97l13.41-41.187.578-1.783h19.602L65.19 80.92l-3.218 4.133zM87.467 6.735l9.827 30.206h-19.67l9.844-30.206zm-16.91 35.33l-9.743 29.927L55 89.816l-15.534-47.75h31.09zM22.55 6.736l9.846 30.206H12.739l9.81-30.206zM6.33 59.668a1.38 1.38 0 01-.501-1.547l4.311-13.225 31.624 40.466L6.329 59.668zm97.345 0L68.238 85.352l.118-.154 31.505-40.302 4.312 13.219a1.383 1.383 0 01-.498 1.55" fill="#111"/></svg>
|
Before Width: | Height: | Size: 998 B |
BIN
src/images/pages/poisson-2023.jpg
Normal file
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: 20 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 17 KiB |
BIN
src/images/partners/logo-fede-cae.png
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 6.0 KiB |
BIN
src/images/partners/logo-xo-solutions.png
Normal file
After Width: | Height: | Size: 4.4 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/AG2022/TotemAgAstrolabe.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
src/images/posts/AG2022/ag-anniversaire.jpeg
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
src/images/posts/AG2022/ag-atelier-ciseaux.jpg
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
src/images/posts/AG2022/ag-atelier-clouage.jpg
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/images/posts/AG2022/ag-atelier-decoupe.jpg
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
src/images/posts/AG2022/ag-atelier-decoupe2.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
src/images/posts/AG2022/ag-cestlafete.jpeg
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
src/images/posts/AG2022/ag1cafe.jpeg
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
src/images/posts/AG2022/ag2tempsformel.jpeg
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
src/images/posts/AG2022/ag3candidature.jpeg
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
src/images/posts/AG2022/ag4tempscollectif.jpeg
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
src/images/posts/AG2022/ag5jeuxpermanent.jpeg
Normal file
After Width: | Height: | Size: 159 KiB |
BIN
src/images/posts/AG2022/ag6repasmidi.jpeg
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
src/images/posts/AG2022/banniere-site-cue.png
Normal file
After Width: | Height: | Size: 262 KiB |
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 |