Merge branch 'master' into alex-bathily

This commit is contained in:
Florent Le Saout 2023-01-10 18:25:33 +01:00
commit c5fe9aee39
10 changed files with 314 additions and 178 deletions

338
package-lock.json generated
View File

@ -48,30 +48,30 @@
"integrity": "sha512-5R+DsT9LJ9tXiSQ4y+KLFppCkQyXhzAm1AIuBWE/sbU0hSXY5pkhoqQYEcPJQFg/nglL+wD55iv2j+7O96UAvg=="
},
"node_modules/@11ty/eleventy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-1.0.1.tgz",
"integrity": "sha512-2fJDHVBkRr1SB7CqBexwoLdiOGUE0f22O+Ie1TT/FI65XQZWshgHVZzvmZfmtKvQW4qtaC/FuJG3wMxkXfel7w==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-1.0.2.tgz",
"integrity": "sha512-03ER4zukR6BgwppI5DHRE11lc+8B0fWsBrqacVWo3o49QkdEFXnEWjhyI9qd9LrPlgQHK2/MYyxuOvNwecyCLQ==",
"dependencies": {
"@11ty/dependency-tree": "^2.0.1",
"@11ty/eleventy-utils": "^1.0.1",
"@iarna/toml": "^2.2.5",
"@sindresorhus/slugify": "^1.1.2",
"browser-sync": "^2.27.9",
"browser-sync": "^2.27.10",
"chokidar": "^3.5.3",
"cross-spawn": "^7.0.3",
"debug": "^4.3.4",
"dependency-graph": "^0.11.0",
"ejs": "^3.1.6",
"ejs": "^3.1.8",
"fast-glob": "^3.2.11",
"graceful-fs": "^4.2.10",
"gray-matter": "^4.0.3",
"hamljs": "^0.6.2",
"handlebars": "^4.7.7",
"is-glob": "^4.0.3",
"kleur": "^4.1.4 ",
"liquidjs": "^9.36.1",
"kleur": "^4.1.5",
"liquidjs": "^9.40.0",
"lodash": "^4.17.21",
"luxon": "^2.3.2",
"luxon": "^2.5.0",
"markdown-it": "^12.3.2",
"minimist": "^1.2.6",
"moo": "^0.5.1",
@ -79,7 +79,7 @@
"mustache": "^4.2.0",
"normalize-path": "^3.0.0",
"nunjucks": "^3.2.3",
"path-to-regexp": "^6.2.0",
"path-to-regexp": "^6.2.1",
"please-upgrade-node": "^3.2.0",
"pretty": "^2.0.0",
"pug": "^3.0.2",
@ -157,9 +157,9 @@
}
},
"node_modules/@11ty/eleventy/node_modules/luxon": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-2.3.2.tgz",
"integrity": "sha512-MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw==",
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.0.tgz",
"integrity": "sha512-IDkEPB80Rb6gCAU+FEib0t4FeJ4uVOuX1CQ9GsvU3O+JAGIgu0J7sf1OarXKaKDygTZIoJyU6YdZzTFRu+YR0A==",
"engines": {
"node": ">=12"
}
@ -790,9 +790,9 @@
}
},
"node_modules/async": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
},
"node_modules/async-each-series": {
"version": "0.1.1",
@ -957,12 +957,12 @@
"integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
},
"node_modules/browser-sync": {
"version": "2.27.10",
"resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz",
"integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==",
"version": "2.27.11",
"resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.11.tgz",
"integrity": "sha512-U5f9u97OYJH66T0MGWWzG9rOQTW6ZmDMj97vsmtqwNS03JAwdLVES8eel2lD3rvAqQCNAFqaJ74NMacBI57vJg==",
"dependencies": {
"browser-sync-client": "^2.27.10",
"browser-sync-ui": "^2.27.10",
"browser-sync-client": "^2.27.11",
"browser-sync-ui": "^2.27.11",
"bs-recipes": "1.3.4",
"bs-snippet-injector": "^2.0.1",
"chokidar": "^3.5.1",
@ -980,7 +980,7 @@
"micromatch": "^4.0.2",
"opn": "5.3.0",
"portscanner": "2.2.0",
"qs": "6.2.3",
"qs": "^6.11.0",
"raw-body": "^2.3.2",
"resp-modifier": "6.0.2",
"rx": "4.1.0",
@ -1000,9 +1000,9 @@
}
},
"node_modules/browser-sync-client": {
"version": "2.27.10",
"resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz",
"integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==",
"version": "2.27.11",
"resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.11.tgz",
"integrity": "sha512-okMNfD2NasL/XD1/BclP3onXjhahisk3e/kTQ5HPDT/lLqdBqNDd6QFcjI5I1ak7na2hxKQSLjryql+7fp5gKQ==",
"dependencies": {
"etag": "1.8.1",
"fresh": "0.5.2",
@ -1015,9 +1015,9 @@
}
},
"node_modules/browser-sync-ui": {
"version": "2.27.10",
"resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz",
"integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==",
"version": "2.27.11",
"resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.11.tgz",
"integrity": "sha512-1T/Y8Pp1R68aUL7zVSFq0nxtr258xWd/nTasCAHX2M6EsGaswVOFtXsw3bKqsr35z+J+LfVfOdz1HFLYKxdgrA==",
"dependencies": {
"async-each-series": "0.1.1",
"connect-history-api-fallback": "^1",
@ -2242,9 +2242,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/ejs": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
"integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
"dependencies": {
"jake": "^10.8.5"
},
@ -2304,9 +2304,9 @@
}
},
"node_modules/engine.io-client": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz",
"integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==",
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
"integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
@ -2610,11 +2610,30 @@
}
},
"node_modules/filelist": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
"integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
"dependencies": {
"minimatch": "^3.0.4"
"minimatch": "^5.0.1"
}
},
"node_modules/filelist/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/filelist/node_modules/minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz",
"integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/fill-range": {
@ -3320,7 +3339,7 @@
"node_modules/immutable": {
"version": "3.8.2",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
"integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
"integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==",
"engines": {
"node": ">=0.10.0"
}
@ -3799,9 +3818,9 @@
}
},
"node_modules/kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
"engines": {
"node": ">=6"
}
@ -4054,9 +4073,9 @@
}
},
"node_modules/liquidjs": {
"version": "9.37.0",
"resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.37.0.tgz",
"integrity": "sha512-qDj9iiNdB+QNZTR4iKjiQzoHQma7V8Itx5oZG/ZCP7xjebh1LI+s5IG2ZYUbs1ALO6hBzmW36Ptd8RR4eohuDA==",
"version": "9.43.0",
"resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.43.0.tgz",
"integrity": "sha512-qZZuL5Emja2UgCqiLewiw9bvwZQwm19TTGFxDkonVzB4YSTOZ8tuTVo/7Uu/AeW1cL2Qb/at3DSoV8wwyFXQCw==",
"bin": {
"liquid": "bin/liquid.js",
"liquidjs": "bin/liquid.js"
@ -4966,6 +4985,14 @@
"node": ">=0.10.0"
}
},
"node_modules/object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/object-keys": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz",
@ -5210,9 +5237,9 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"node_modules/path-to-regexp": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz",
"integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg=="
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
"integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
},
"node_modules/path-type": {
"version": "4.0.0",
@ -5699,11 +5726,17 @@
}
},
"node_modules/qs": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
"integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/queue": {
@ -5983,9 +6016,9 @@
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"node_modules/request/node_modules/qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
"engines": {
"node": ">=0.6"
}
@ -6412,7 +6445,7 @@
"node_modules/server-destroy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
"integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0="
"integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ=="
},
"node_modules/set-blocking": {
"version": "2.0.0",
@ -6458,6 +6491,19 @@
"node": ">=0.10.0"
}
},
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dependencies": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
@ -6523,14 +6569,14 @@
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
},
"node_modules/socket.io-client": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.0.tgz",
"integrity": "sha512-HW61c1G7OrYGxaI79WRn17+b03iBCdvhBj4iqyXHBoL5M8w2MSO/vChsjA93knG4GYEai1/vbXWJna9dzxXtSg==",
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.4.tgz",
"integrity": "sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
"engine.io-client": "~6.2.1",
"socket.io-parser": "~4.2.0"
"engine.io-client": "~6.2.3",
"socket.io-parser": "~4.2.1"
},
"engines": {
"node": ">=10.0.0"
@ -6718,7 +6764,7 @@
"node_modules/stream-throttle": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz",
"integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
"integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==",
"dependencies": {
"commander": "^2.2.0",
"limiter": "^1.0.5"
@ -7147,7 +7193,7 @@
"node_modules/symbol-observable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
"integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==",
"engines": {
"node": ">=0.10.0"
}
@ -7456,9 +7502,9 @@
}
},
"node_modules/typescript": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
"integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==",
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -7963,30 +8009,30 @@
"integrity": "sha512-5R+DsT9LJ9tXiSQ4y+KLFppCkQyXhzAm1AIuBWE/sbU0hSXY5pkhoqQYEcPJQFg/nglL+wD55iv2j+7O96UAvg=="
},
"@11ty/eleventy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-1.0.1.tgz",
"integrity": "sha512-2fJDHVBkRr1SB7CqBexwoLdiOGUE0f22O+Ie1TT/FI65XQZWshgHVZzvmZfmtKvQW4qtaC/FuJG3wMxkXfel7w==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-1.0.2.tgz",
"integrity": "sha512-03ER4zukR6BgwppI5DHRE11lc+8B0fWsBrqacVWo3o49QkdEFXnEWjhyI9qd9LrPlgQHK2/MYyxuOvNwecyCLQ==",
"requires": {
"@11ty/dependency-tree": "^2.0.1",
"@11ty/eleventy-utils": "^1.0.1",
"@iarna/toml": "^2.2.5",
"@sindresorhus/slugify": "^1.1.2",
"browser-sync": "^2.27.9",
"browser-sync": "^2.27.10",
"chokidar": "^3.5.3",
"cross-spawn": "^7.0.3",
"debug": "^4.3.4",
"dependency-graph": "^0.11.0",
"ejs": "^3.1.6",
"ejs": "^3.1.8",
"fast-glob": "^3.2.11",
"graceful-fs": "^4.2.10",
"gray-matter": "^4.0.3",
"hamljs": "^0.6.2",
"handlebars": "^4.7.7",
"is-glob": "^4.0.3",
"kleur": "^4.1.4 ",
"liquidjs": "^9.36.1",
"kleur": "^4.1.5",
"liquidjs": "^9.40.0",
"lodash": "^4.17.21",
"luxon": "^2.3.2",
"luxon": "^2.5.0",
"markdown-it": "^12.3.2",
"minimist": "^1.2.6",
"moo": "^0.5.1",
@ -7994,7 +8040,7 @@
"mustache": "^4.2.0",
"normalize-path": "^3.0.0",
"nunjucks": "^3.2.3",
"path-to-regexp": "^6.2.0",
"path-to-regexp": "^6.2.1",
"please-upgrade-node": "^3.2.0",
"pretty": "^2.0.0",
"pug": "^3.0.2",
@ -8022,9 +8068,9 @@
}
},
"luxon": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-2.3.2.tgz",
"integrity": "sha512-MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw=="
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.0.tgz",
"integrity": "sha512-IDkEPB80Rb6gCAU+FEib0t4FeJ4uVOuX1CQ9GsvU3O+JAGIgu0J7sf1OarXKaKDygTZIoJyU6YdZzTFRu+YR0A=="
},
"path-key": {
"version": "3.1.1",
@ -8550,9 +8596,9 @@
"dev": true
},
"async": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
},
"async-each-series": {
"version": "0.1.1",
@ -8692,12 +8738,12 @@
"integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
},
"browser-sync": {
"version": "2.27.10",
"resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.10.tgz",
"integrity": "sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw==",
"version": "2.27.11",
"resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.11.tgz",
"integrity": "sha512-U5f9u97OYJH66T0MGWWzG9rOQTW6ZmDMj97vsmtqwNS03JAwdLVES8eel2lD3rvAqQCNAFqaJ74NMacBI57vJg==",
"requires": {
"browser-sync-client": "^2.27.10",
"browser-sync-ui": "^2.27.10",
"browser-sync-client": "^2.27.11",
"browser-sync-ui": "^2.27.11",
"bs-recipes": "1.3.4",
"bs-snippet-injector": "^2.0.1",
"chokidar": "^3.5.1",
@ -8715,7 +8761,7 @@
"micromatch": "^4.0.2",
"opn": "5.3.0",
"portscanner": "2.2.0",
"qs": "6.2.3",
"qs": "^6.11.0",
"raw-body": "^2.3.2",
"resp-modifier": "6.0.2",
"rx": "4.1.0",
@ -8775,9 +8821,9 @@
}
},
"browser-sync-client": {
"version": "2.27.10",
"resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.10.tgz",
"integrity": "sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ==",
"version": "2.27.11",
"resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.11.tgz",
"integrity": "sha512-okMNfD2NasL/XD1/BclP3onXjhahisk3e/kTQ5HPDT/lLqdBqNDd6QFcjI5I1ak7na2hxKQSLjryql+7fp5gKQ==",
"requires": {
"etag": "1.8.1",
"fresh": "0.5.2",
@ -8787,9 +8833,9 @@
}
},
"browser-sync-ui": {
"version": "2.27.10",
"resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz",
"integrity": "sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw==",
"version": "2.27.11",
"resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.11.tgz",
"integrity": "sha512-1T/Y8Pp1R68aUL7zVSFq0nxtr258xWd/nTasCAHX2M6EsGaswVOFtXsw3bKqsr35z+J+LfVfOdz1HFLYKxdgrA==",
"requires": {
"async-each-series": "0.1.1",
"connect-history-api-fallback": "^1",
@ -9745,9 +9791,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"ejs": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
"integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
"requires": {
"jake": "^10.8.5"
}
@ -9803,9 +9849,9 @@
}
},
"engine.io-client": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz",
"integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==",
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
"integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
@ -10017,11 +10063,29 @@
}
},
"filelist": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
"integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
"requires": {
"minimatch": "^3.0.4"
"minimatch": "^5.0.1"
},
"dependencies": {
"brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"requires": {
"balanced-match": "^1.0.0"
}
},
"minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz",
"integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==",
"requires": {
"brace-expansion": "^2.0.1"
}
}
}
},
"fill-range": {
@ -10575,7 +10639,7 @@
"immutable": {
"version": "3.8.2",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
"integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM="
"integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg=="
},
"import-fresh": {
"version": "3.3.0",
@ -10953,9 +11017,9 @@
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
},
"kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA=="
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="
},
"known-css-properties": {
"version": "0.24.0",
@ -11186,9 +11250,9 @@
}
},
"liquidjs": {
"version": "9.37.0",
"resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.37.0.tgz",
"integrity": "sha512-qDj9iiNdB+QNZTR4iKjiQzoHQma7V8Itx5oZG/ZCP7xjebh1LI+s5IG2ZYUbs1ALO6hBzmW36Ptd8RR4eohuDA=="
"version": "9.43.0",
"resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.43.0.tgz",
"integrity": "sha512-qZZuL5Emja2UgCqiLewiw9bvwZQwm19TTGFxDkonVzB4YSTOZ8tuTVo/7Uu/AeW1cL2Qb/at3DSoV8wwyFXQCw=="
},
"list-to-array": {
"version": "1.1.0",
@ -11879,6 +11943,11 @@
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
},
"object-keys": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz",
@ -12074,9 +12143,9 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"path-to-regexp": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz",
"integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg=="
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
"integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
},
"path-type": {
"version": "4.0.0",
@ -12484,9 +12553,12 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"qs": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
"integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4="
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"requires": {
"side-channel": "^1.0.4"
}
},
"queue": {
"version": "6.0.1",
@ -12698,9 +12770,9 @@
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
},
"tough-cookie": {
"version": "2.4.3",
@ -13073,7 +13145,7 @@
"server-destroy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
"integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0="
"integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ=="
},
"set-blocking": {
"version": "2.0.0",
@ -13110,6 +13182,16 @@
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
"side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"requires": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
}
},
"sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
@ -13160,14 +13242,14 @@
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
},
"socket.io-client": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.0.tgz",
"integrity": "sha512-HW61c1G7OrYGxaI79WRn17+b03iBCdvhBj4iqyXHBoL5M8w2MSO/vChsjA93knG4GYEai1/vbXWJna9dzxXtSg==",
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.4.tgz",
"integrity": "sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
"engine.io-client": "~6.2.1",
"socket.io-parser": "~4.2.0"
"engine.io-client": "~6.2.3",
"socket.io-parser": "~4.2.1"
}
},
"socket.io-parser": {
@ -13322,7 +13404,7 @@
"stream-throttle": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz",
"integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
"integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==",
"requires": {
"commander": "^2.2.0",
"limiter": "^1.0.5"
@ -13644,7 +13726,7 @@
"symbol-observable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
"integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw=="
},
"symbol-tree": {
"version": "3.2.4",
@ -13885,9 +13967,9 @@
}
},
"typescript": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
"integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg=="
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg=="
},
"ua-parser-js": {
"version": "1.0.2",

View File

@ -1,6 +1,12 @@
<?php
require("/usr/share/php/libphp-phpmailer/autoload.php");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);
$errors = '';
$myEmail = 'contact-form@astrolabe.coop'; // email address to send form content
$myEmail = getenv('ASTRO_SMTP_FROM');
if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) {
$errors .= "\n Error: all fields are required";
@ -8,7 +14,7 @@
if(!empty($_POST['name']) && !empty($_POST['email'])) {
$errors .= "\n Error: spam";
}
}
$name = $_POST['namezzz'];
$emailAddress = $_POST['emailzzz'];
@ -21,14 +27,6 @@
}
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";
@ -49,15 +47,35 @@
$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";
"\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);
// send the email
mail($to, $emailSubject, $emailBodyHTML, implode("\r\n", $headers));
$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)) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -1,22 +0,0 @@
---
name: 'Allan Grouas'
position: 'Designer graphique'
positionInternal: 'Membre'
date: '2020-12-21'
profile: '/images/profiles/ag-profile.jpg'
personalSite: 'https://www.behance.net/allan_grouas'
socialLinkedin: 'https://www.linkedin.com/in/allan-grouas/'
url: '/members/allan-grouas'
tags: [ design, web, webdesign]
location: [48.84297, 2.418638]
---
Je suis designer graphique 360, jaccompagne mes clients pour leurs apporter les meilleurs solutions de communication adaptés.
Jinterviens en tant que designer web sous la marque létabli, spécialisé dans la création de site web et laccompagnement, que nous avons créé avec Fabien, Léna et Laura en automne 2020.
Créer des choses utiles et belles, tel est mon crédo. Partir dune idée, un croquis ou même une sensation pour aboutir à une création graphique concrète.
Je propose mes services comme graphiste allant de projet web au print en passant par lidentité visuelle.
À côté du travail, je fais de la sérigraphie et de la peinture.

View File

@ -0,0 +1,22 @@
---
name: 'Quentin Dufour'
position: 'Développeur Rust, Site Reliability Engineer'
positionInternal: 'Membre'
date: '2023-01-04'
profile: '/images/profiles/qd-profile.jpg'
personalSite: 'https://quentin.dufour.io'
url: '/members/quentin-dufour'
tags: [ Rust, SRE, Kubernetes, Golang, Linux, Docker, Réseau, Object Storage, S3, Cloud ]
location: [45.7570,4.8319]
---
Mon parcours, composé d'un diplôme d'ingénieur informatique à l'INSA Rennes et d'une thèse en système distribuée réalisée à l'INRIA, me donne une double approche ingénierie et recherche en informatique. Ces dernières années, j'ai mobilisé ces qualifications pour me spécialiser sur deux aspects spécifiques de l'informatique : le développement système et réseau en Rust et une démarche de Site Reliability Engineering.
Concernant le développement, je suis contributeur et co-créateur d'un ensemble de logiciels principalement écrits en Rust : Garage, Aerogramme, Bottin, etc. dont plusieurs ont obtenu des financements européens Horizon 2020 pour soutenir leur développement. Je suis particulièrement intéressé par le développement de logiciels distribués pour résoudre des problèmes de passage à l'échelle et de disponibilité. Plus largement, j'ai aussi des contributions mineures à des projets importants comme LXC, Jenkins ou Plume. En somme, que vous ayez besoin d'un support sur mesure pour des logiciels libres existants, d'aide pour développer votre logiciel en Rust, de conseils sur des systèmes distribués (S3, Cassandra, etc.), je me ferai un plaisir de vous accompagner dans vos projets.
L'autre aspect de mon activité, la démarche de Site Reliability Engineering vise la partie opérationnelle de l'informatique. Une fois le code écrit, il faut encore le faire fonctionner sur des machines physiques faillibles, reliées à un réseau public, Internet, pour qu'il soit utile. Afin d'assurer un maximum de fiabilité, il est important de concevoir le système en amont, d'être capable de mettre en place, voire développer, des outils d'automatisation, et être capable d'observer et débugguer ces systèmes efficacement. À ces fins, je connais et maîtrise Linux, Kubernetes, les outils d'observability, Docker, etc. J'ai pu mettre en place des systèmes fonctionnels pour plusieurs milliers de personnes, que ce soit dans le cadre d'évènements (InsaLan, Stunfest), de jeu mobile (Rapsodie) ou d'hébergement web (Deuxfleurs.fr), que ce soit dans des environnements on-premise, cloud privé ou cloud public.
En somme, si vous avez des problématiques de conception cloud, de développement backend, de disponibilité, fiabilité, de scalability logiciel, de maintenance de logiciel libre, je peux vous accompagner. Et si votre problème ne rentre pas tout à fait dans les cases, mais qu'il est susceptible d'exciter ma curiosité, n'hésitez pas à m'en parler non plus, je suis curieux et pourrai peut-être vous aider !

View File

@ -1,11 +0,0 @@
---
title: Titre de mon super article
date: '2022-12-25'
type: 'news'
illustration: '/images/posts/image-de-mon-article.png'
---
## Mon super article
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

View File

@ -24,13 +24,13 @@ Venez nous rencontrer lors de cette réunion d'information de fin d'année et ai
- Lieu : En visio libre et décentralisée (lien envoyé par email quelques jours avant la réunion)
<br><br>
<!---->
<!--
**_Pensez à vous inscrire via le formulaire suivant (si cela ne s'affiche pas correctement [suivez ce lien](https://framaforms.org/reunion-dinformation-scop-astrolabe-cae-du-mardi-13-decembre-a-18h30-1591805443))_**
<br><br>
<iframe src="https://framaforms.org/reunion-dinformation-scop-astrolabe-cae-du-mardi-13-decembre-a-18h30-1591805443" width="100%" height="2450" border="0"></iframe>
<!---->
-->
____
En attendant, vous pouvez bien sur vous documenter sur le sujet :

View File

@ -0,0 +1,47 @@
---
title: Réunion d'information Astrolabe Janvier 2023 en visio
date: '2023-01-08'
eventDate: '2023-01-24'
eventTime: '18:30'
author: 'Florent Le Saout'
type: 'event'
illustration: '/images/posts/reunion-24-06-2020.jpeg'
---
<br><br>
Vous êtes en quête de sens dans votre métier ? Vous travaillez dans le numérique ?
Vous voulez vous lancer en indépendant·e mais sans les tracasseries administratives ? Vous souhaitez travailler en Freelance mais pas seul·e ?
Vous vous demandez ce qu'est une #SCOP #CAE ? Le statut d'entrepreneur salarié #CESA est-il fait pour vous ?
<br><br>
Venez nous rencontrer lors de cette réunion d'information de nouvelle année et ainsi nous essaierons de répondre à ces questions (et bien d'autres) :
- Date : Mardi 24 Janvier 2023 à 18h30
- Lieu : En visio libre et décentralisée (lien envoyé par email quelques jours avant la réunion)
<br><br>
**_Pensez à vous inscrire via le formulaire suivant (si cela ne s'affiche pas correctement [suivez ce lien](https://framaforms.org/reunion-dinformation-scop-astrolabe-cae-du-mardi-24-janvier-a-18h30-1591805443))_**
<br><br>
<iframe src="https://framaforms.org/reunion-dinformation-scop-astrolabe-cae-du-mardi-24-janvier-a-18h30-1591805443" width="100%" height="2450" border="0"></iframe>
<!---->
____
En attendant, vous pouvez bien sur vous documenter sur le sujet :
- [Site de la fédération des CAE](https://www.les-cae.coop/)
- [Qu'est ce qu'une CAE sur le site de COPEA](https://www.copea.fr/index.php/rejoindre-une-cae/qu-est-ce-qu-une-cae)
- [Contrat CAPE sur le site service-public.fr](https://www.service-public.fr/particuliers/vosdroits/F11299)
- [Information ESS sur economie.gouv.fr](https://www.economie.gouv.fr/cedef/economie-sociale-et-solidaire)
- [Site de promotion de l'ESS dans la région Rennaise](http://www.resosolidaire.fr/)
____
**Carte des membres de la fédération des CAE en France metropolitaine :**
[<img src="/images/posts/Carte_CAE_France_Metro.jpg">](https://www.les-cae.coop/trouver-une-cae-0)