Feat: 1st commit

This commit is contained in:
globuzma 2024-10-15 23:46:48 +02:00
commit 7a5c726f3c
18 changed files with 2606 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
node_modules/

3
README.md Normal file
View file

@ -0,0 +1,3 @@
Voici la source de mon site portfolio [www.shenanigans.cc](https://www.shenanigans.cc).
La seule dépendance est tailwind CSS. Se référer à la [documentation](https://tailwindcss.com/docs/installation) pour l'installation.

1500
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

5
package.json Normal file
View file

@ -0,0 +1,5 @@
{
"devDependencies": {
"tailwindcss": "^3.4.14"
}
}

9
tailwind.config.js Normal file
View file

@ -0,0 +1,9 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./website/**/*.{html,js}"],
theme: {
extend: {},
},
plugins: [],
}

View file

@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

View file

@ -0,0 +1,729 @@
*, ::before, ::after {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ;
--tw-gradient-to-position: ;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
--tw-contain-size: ;
--tw-contain-layout: ;
--tw-contain-paint: ;
--tw-contain-style: ;
}
::backdrop {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ;
--tw-gradient-to-position: ;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
--tw-contain-size: ;
--tw-contain-layout: ;
--tw-contain-paint: ;
--tw-contain-style: ;
}
/*
! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
box-sizing: border-box;
/* 1 */
border-width: 0;
/* 2 */
border-style: solid;
/* 2 */
border-color: #e5e7eb;
/* 2 */
}
::before,
::after {
--tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
line-height: 1.5;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */
-moz-tab-size: 4;
/* 3 */
-o-tab-size: 4;
tab-size: 4;
/* 3 */
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
/* 4 */
font-feature-settings: normal;
/* 5 */
font-variation-settings: normal;
/* 6 */
-webkit-tap-highlight-color: transparent;
/* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
margin: 0;
/* 1 */
line-height: inherit;
/* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
height: 0;
/* 1 */
color: inherit;
/* 2 */
border-top-width: 1px;
/* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
color: inherit;
text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* 1 */
font-feature-settings: normal;
/* 2 */
font-variation-settings: normal;
/* 3 */
font-size: 1em;
/* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
text-indent: 0;
/* 1 */
border-color: inherit;
/* 2 */
border-collapse: collapse;
/* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
/* 1 */
font-feature-settings: inherit;
/* 1 */
font-variation-settings: inherit;
/* 1 */
font-size: 100%;
/* 1 */
font-weight: inherit;
/* 1 */
line-height: inherit;
/* 1 */
letter-spacing: inherit;
/* 1 */
color: inherit;
/* 1 */
margin: 0;
/* 2 */
padding: 0;
/* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
-webkit-appearance: button;
/* 1 */
background-color: transparent;
/* 2 */
background-image: none;
/* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
-webkit-appearance: textfield;
/* 1 */
outline-offset: -2px;
/* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
margin: 0;
}
fieldset {
margin: 0;
padding: 0;
}
legend {
padding: 0;
}
ol,
ul,
menu {
list-style: none;
margin: 0;
padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
input::placeholder,
textarea::placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
display: block;
/* 1 */
vertical-align: middle;
/* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
max-width: 100%;
height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
display: none;
}
.relative {
position: relative;
}
.m-8 {
margin: 2rem;
}
.mt-8 {
margin-top: 2rem;
}
.mt-4 {
margin-top: 1rem;
}
.mb-8 {
margin-bottom: 2rem;
}
.flex {
display: flex;
}
.min-h-full {
min-height: 100%;
}
.min-h-screen {
min-height: 100vh;
}
.w-full {
width: 100%;
}
.w-64 {
width: 16rem;
}
.w-24 {
width: 6rem;
}
.w-16 {
width: 4rem;
}
.min-w-full {
min-width: 100%;
}
.max-w-lg {
max-width: 32rem;
}
.max-w-3xl {
max-width: 48rem;
}
.list-disc {
list-style-type: disc;
}
.flex-row {
flex-direction: row;
}
.flex-col {
flex-direction: column;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-center {
align-items: center;
}
.justify-center {
justify-content: center;
}
.justify-between {
justify-content: space-between;
}
.gap-4 {
gap: 1rem;
}
.gap-8 {
gap: 2rem;
}
.gap-16 {
gap: 4rem;
}
.gap-2 {
gap: 0.5rem;
}
.gap-6 {
gap: 1.5rem;
}
.pb-4 {
padding-bottom: 1rem;
}
.pl-2 {
padding-left: 0.5rem;
}
.pl-8 {
padding-left: 2rem;
}
.pl-4 {
padding-left: 1rem;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-3xl {
font-size: 1.875rem;
line-height: 2.25rem;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.font-bold {
font-weight: 700;
}
.text-slate-800 {
--tw-text-opacity: 1;
color: rgb(30 41 59 / var(--tw-text-opacity));
}
.text-slate-400 {
--tw-text-opacity: 1;
color: rgb(148 163 184 / var(--tw-text-opacity));
}
.underline {
text-decoration-line: underline;
}
.invert {
--tw-invert: invert(100%);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.sepia {
--tw-sepia: sepia(100%);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generator: Adobe Illustrator 27.7.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Flower" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FA2921;}
.st1{fill:#ED79B5;}
.st2{fill:#FFB400;}
.st3{fill:#1E83F7;}
.st4{fill:#18C249;}
</style>
<g id="Flower_00000077325900055813483940000000694823054982625702_">
<path class="st0" d="M238.8,155.5c33.5,29.7,60.5,61.5,77.9,91.5c29.9-53.4,49.8-116.9,50.1-157.3c0-0.3,0-0.5,0-0.8 c0-59.8-59.7-83.1-111.1-83.1S144.6,29,144.6,88.8c0,0.8,0,1.9,0,3.2C173.3,104.8,207.2,127.6,238.8,155.5z"/>
<path class="st1" d="M55.9,318.6c21-23.3,53.1-48.6,89.4-69.9c38.6-22.7,77.2-38.6,111.1-45.8c-41.6-44.9-95.8-83.5-134.1-96.2 c-0.3-0.1-0.5-0.2-0.7-0.2C64.6,87.8,24,137.4,8.1,186.3S-4.1,299.1,52.8,317.6C53.6,317.8,54.6,318.2,55.9,318.6z"/>
<path class="st2" d="M503.9,185.4C488,136.6,447.4,87,390.5,105.5c-0.8,0.3-1.8,0.6-3.1,1c-3.3,31.2-14.4,70.5-31.2,109.1 c-17.9,41.1-39.8,76.6-62.9,102.4c60,11.9,126.5,11.3,165.1-1c0.3-0.1,0.5-0.2,0.7-0.2C516.1,298.2,519.7,234.3,503.9,185.4z"/>
<path class="st3" d="M205,366.3c-9.7-43.7-12.8-85.3-9.3-119.8c-55.5,25.7-109,65.3-133,97.8c-0.2,0.2-0.3,0.4-0.5,0.6 c-35.2,48.4-0.6,102.3,41,132.5c41.6,30.2,103.5,46.4,138.7-1.9c0.5-0.7,1.1-1.5,1.9-2.6C228.2,445.8,214.1,407.4,205,366.3z"/>
<path class="st4" d="M448.8,341.9c-30.7,6.5-71.5,8.1-113.4,4c-44.6-4.3-85.1-14.2-116.8-28.2c7.2,60.8,28.4,123.8,51.9,156.7 c0.2,0.2,0.3,0.4,0.5,0.6c35.2,48.4,97.1,32.2,138.7,1.9c41.6-30.2,76.2-84.1,41-132.5C450.2,343.8,449.6,343,448.8,341.9z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.7.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#333333;}
</style>
<path class="st0" d="M390.5,512h-269C54.4,512,0,457.6,0,390.5v-269C0,54.4,54.4,0,121.5,0h269C457.6,0,512,54.4,512,121.5v269
C512,457.6,457.6,512,390.5,512z"/>
<g>
<path class="st1" d="M313.8,441.1v11.3c0,16-12.9,28.9-28.9,28.9c-5,0-9.8-1.3-14.2-3.7L97.4,380c-9.1-5.1-14.7-14.8-14.7-25.2
V157.2c0-10.4,5.6-20.1,14.7-25.2l173.3-97.6c13.9-7.8,31.5-2.9,39.3,11c2.4,4.3,3.7,9.2,3.7,14.2v11.3l20.6-6.2
c15.3-4.6,31.4,4.1,36,19.4c0.8,2.7,1.2,5.5,1.2,8.3v11.7l25.3-3.2c15.8-2,30.3,9.3,32.2,25.1c0.1,1.2,0.2,2.4,0.2,3.6v252.6
c0,16-12.9,28.9-28.9,28.9c-1.2,0-2.4-0.1-3.6-0.2l-25.3-3.2v11.7c0,16-12.9,28.9-28.9,28.9c-2.8,0-5.6-0.4-8.3-1.2L313.8,441.1z
M313.8,410.9l28.9,8.7V92.4l-28.9,8.7V410.9z M371.5,133.3v245.4l28.9,3.6V129.7L371.5,133.3z M111.6,157.2v197.5l173.3,97.6V59.6
L111.6,157.2z M140.5,176.5l28.9-14.5v188l-28.9-14.5V176.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.7.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1"
id="svg3923" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:export-xdpi="96" inkscape:export-ydpi="96"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512"
style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#17541F;}
</style>
<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview3925" inkscape:current-layer="g3921" inkscape:cx="635.07139" inkscape:cy="606.383" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="2096" inkscape:window-maximized="1" inkscape:window-width="3840" inkscape:window-x="0" inkscape:window-y="27" inkscape:zoom="1.1360927" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<g id="g3921" transform="matrix(10.638298,0,0,10.638298,106.38298,-206.38301)">
<g id="SvgjsG1019">
</g>
<g id="SvgjsG1020" transform="matrix(0.10341565,0,0,0.10341565,-11.43874,18.048418)" inkscape:export-filename="/tmp/test.png" inkscape:export-xdpi="116.02285" inkscape:export-ydpi="116.02285">
<g id="g3915">
<path id="path3913" inkscape:connector-curvature="0" class="st0" d="M136.8,459.6c-2.3-10.8-6.9-32.5-7.4-32.5
c-96.5-57.7-85.1-157.6-53.1-214.7c6.9,71.9,134.2,121.6,60,209.6c-0.6,1.1,3.4,14.8,6.9,27.4c14.8-25.1,37.1-55.4,36-58.2
c-91.4-222.7,194.1-239.8,253.5-378c26.8,133.6-13.7,340.3-243.3,392.9c-1.1,0.6-41.7,71.9-43.4,72.5c0-1.1-17.1-0.6-14.8-6.3
C132.3,468.7,134.5,464.2,136.8,459.6z M193.4,360.8c-36-85.1,69.7-178.7,122.2-202.1C208.2,254.6,189.9,326,193.4,360.8z
M134,405.9c29.1-33.7-5.1-91.4-25.7-110.2C143.1,355.7,140.8,390.5,134,405.9z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.7.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<g>
<path d="M163.3,0l-53.8,75.8v42.9L62.6,141l-0.4-0.2v17.6v262l182.7,86.3L256,512l11.2-5.3l182.7-86.3V140.8l-0.3,0.2l-46.9-22.3
V75.8l-1.6-2.3L348.8,0l-53.8,75.8v0.1l-39.2-55.2l-38.9,54.8l-1.4-2L163.3,0z M172.8,44l20.8,29.3h-60.7l20.6-29L172.8,44z
M358.3,44l20.8,29.3h-60.7l20.6-29L358.3,44z M265.3,64.8l20.8,29.3h-60.7l20.6-29L265.3,64.8z M127.2,88.2H156v96.9l-28.8-13.6
V88.2z M170.8,88.2h28.6l0,117.4l-28.6-13.5L170.8,88.2z M312.7,88.2h28.8l0,103.8l-28.8,13.6L312.7,88.2L312.7,88.2z M356.2,88.2
h28.6v83.3L356.2,185V88.2z M219.6,108.9h28.8v119.9l-28.8-13.6V108.9z M263.2,108.9h28.6l0,106.5l-28.6,13.5L263.2,108.9
L263.2,108.9z M402.6,140.7l25.3,10.4l-25.3,12V140.7z M109.4,140.8v22.3l-25.3-12L109.4,140.8z M84.5,176l160.3,75.7V482
L84.5,406.3L84.5,176z M427.5,176v230.3L267.2,482V251.8L427.5,176z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

101
website/cgu.html Normal file
View file

@ -0,0 +1,101 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./assets/css/style.css" rel="stylesheet">
</head>
<body class="flex flex-col items-center">
<div class="flex flex-col min-h-screen items-center justify-between">
<div class="flex flex-col items-center max-w-3xl gap-16 m-8">
<div class="flex flex-col items-center gap-8">
<a href="index.html"><img src="assets/img/shenanigans_logo_black.svg" class="max-w-screen" /></a>
<ul class="flex flex-row gap-4 text-slate-800 text-xl items-center text-center">
<li><a href="projets.html">Projets</a></li>
<span></span>
<li><a href="entraide.html">Entraide numérique</a></li>
<span></span>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
<div class="flex flex-col gap-4">
<h2 class="text-bold text-3xl">Conditions du service</h2>
<ul class="pl-8 flex flex-col gap-2 list-disc">
<li>Lutilisation des services se fait à vos propres risques. Les services sont fournis tels quel.</li>
<li>Vous êtes responsable de tout contenu affiché et de lactivité qui se produit sous votre compte.</li>
<li>Vous ne pouvez pas utiliser les services à des fins illégales ou non autorisées<br/>
Vous ne devez pas transgresser les lois de votre pays.</li>
<li>Vous ne pouvez pas vendre, échanger, revendre, ou exploiter dans un but commercial non autorisé un compte du service utilisé.<br/>
</ul>
<p>La violation de lun de ces accords entraînera la résiliation de votre compte.<br/>
Vous comprenez et acceptez que <strong>Lucien ASTIÉ</strong> ne puisse être tenu responsable pour les contenus publiés sur ses services.</p>
<ul class="pl-8 flex flex-col gap-2 list-disc">
<li>Vous comprenez que la mise en ligne des services ainsi que de votre contenu implique une transmission (en clair ou chiffrée, suivant les services) sur divers réseaux.</li>
<li><strong>Lucien ASTIÉ</strong> ne garantit pas que<br/>
<ul class="pl-4 flex flex-col">
<li>les services répondront à vos besoins spécifiques</li>
<li>les services seront ininterrompus ou exempte de bugs</li>
<li>que les erreurs dans les services seront corrigées</li>
</ul>
</li>
<li>Vous comprenez et acceptez que <strong>Lucien ASTIÉ</strong> ne puisse être tenu responsable de tous dommages directs, indirects, ou fortuits, comprenant les dommages pour perte de profits, de clientèle, daccès, de données ou dautres pertes intangibles (même si <strong>Lucien ASTIÉ</strong> est informé de la possibilité de tels dommages) et qui résulteraient de:<br/>
<ul class="pl-4 flex flex-col">
<li>lutilisation ou de limpossibilité dutiliser le service</li>
<li>laccès non autorisé ou altéré de la transmission des données</li>
<li>les déclarations ou les agissements dun tiers sur le service</li>
<li>la résiliation de votre compte</li>
<li>toute autre question relative au service</li>
</ul>
<li>Léchec de <strong>Lucien ASTIÉ</strong> à exercer ou à appliquer tout droit ou disposition des Conditions Générales dUtilisation ne constitue pas une renonciation à ce droit ou à cette disposition. Les Conditions dutilisation constituent lintégralité de laccord entre vous et <strong>Lucien ASTIÉ</strong> et régissent votre utilisation des services, remplaçant tous les accords antérieurs entre vous et <strong>Lucien ASTIÉ</strong> (y compris les versions précédentes des Conditions Générales dUtilisation)</li>
</ul>
<h2 class="text-bold text-3xl">Modifications du service</h2>
<ul class="pl-8 flex flex-col gap-2 list-disc">
<li><strong>Lucien ASTIÉ</strong> se réserve le droit, à tout moment de modifier ou dinterrompre, temporairement ou définitivement, le service avec ou sans préavis.</li>
<li><strong>Lucien ASTIÉ</strong> ne sera pas responsable envers vous ou tout tiers pour toute modification, suspension ou interruption du service.</li>
</ul>
<h2 class="text-bold text-3xl">Droit dauteur sur le contenu</h2>
<ul class="pl-8 flex flex-col gap-2 list-disc">
<li>Vous ne pouvez pas envoyer, télécharger, publier sur un blog, distribuer, diffuser tout contenu illégal, diffamatoire, harcelant, abusif, frauduleux, contrefait, obscène ou autrement répréhensible.</li>
<li>Nous ne revendiquons aucun droit sur vos données: textes, images, son, vidéo, ou tout autre élément, que vous téléchargez ou transmettez depuis votre compte.</li>
<li>Nous nutiliserons pas votre contenu pour un autre usage que de vous fournir le service.</li>
<li>Vous ne devez pas télécharger ou rendre disponible tout contenu qui porte atteinte aux droits de quelquun dautre.</li>
<li>Nous nous réservons le droit de supprimer tout contenu nous paraissant non pertinent pour lusage du service, selon notre seul jugement.</li>
<li>Nous pouvons, si nécessaire, supprimer ou empêcher la diffusion de tout contenu sur le service qui ne respecterait pas les présentes conditions.</li>
</ul>
<h2 class="text-bold text-3xl">Édition et partage de données</h2>
<ul class="pl-8 flex flex-col gap-2 list-disc">
<li>Les fichiers que vous créez avec les services peuvent être si vous le souhaitez lus, copiés, utilisés et redistribués par des gens que vous connaissez ou non.</li>
<li>En rendant publiques vos données, vous reconnaissez et acceptez que toute personne utilisant ce site web puisse les consulter sans restrictions.</li>
<li>Mais le service peut également vous proposer la possibilité dautoriser laccès et le travail collaboratif sur ses documents de manière restreinte à un·e ou plusieurs autres utilisateur·ices.</li>
<li><strong>Lucien ASTIÉ</strong> ne peut être tenue responsable de tout problème résultant du partage ou de la publication de données entre utilisateur·ices.</li>
</ul>
<h2 class="text-bold text-3xl">Résiliation</h2>
<p><strong>Lucien ASTIÉ</strong>, à sa seule discrétion, a le droit de suspendre ou de résilier votre compte et de refuser toute utilisation actuelle ou future du service. Cette résiliation du service entraînera la désactivation de laccès à votre compte, et la restitution de tout le contenu.</p>
<p><strong>Lucien ASTIÉ</strong> se réserve le droit de refuser le service à nimporte qui pour nimporte quelle raison à tout moment.</p>
<h2 class="text-bold text-3xl">Données personnelles</h2>
<p>Conformément à larticle 34 de la loi «Informatique et Libertés», <strong>Lucien ASTIÉ</strong> garantit à lutilisateur·ice un droit dopposition, daccès et de rectification sur les données nominatives le·la concernant. Lutilisateur·ice a la possibilité dexercer ce droit en contactant <a href="mailto:lucien@shenanigans.cc"><strong>Lucien ASTIÉ</strong></a>.</p>
<ul class="pl-8 flex flex-col gap-2 list-disc">
<li>Pour utiliser les services vous devez posséder un compte. <strong>Lucien ASTIÉ</strong> demande certaines informations personnelles: une adresse e-mail valide et un mot de passe qui est utilisé pour protéger votre compte contre tout accès non autorisé. Les champs «Nom» et «Prénom» peuvent être requis pour le bon fonctionnement du logiciel, mais il nest pas nécessaire quils révèlent votre véritable identité.</li>
<li>Tout comme dautres services en ligne, <strong>Lucien ASTIÉ</strong> enregistre automatiquement certaines informations concernant votre utilisation du service telles que lactivité du compte (exemple: espace de stockage occupé, nombre dentrées, mesures prises), les données affichées ou cliquées (exemple: liens, éléments de linterface utilisateur), et dautres informations pour vous identifier (exemple: type de navigateur, adresse IP, date et heure de laccès, URL de référence).</li>
<li>Nous utilisons ces informations en interne pour vous améliorer linterface utilisateur·ice des services et maintenir une expérience utilisateur·ice cohérente et fiable.</li>
<li>Ces données ne sont ni vendues, ni transmises à des tiers.</li>
</ul>
<span class="w-full text-right mt-8"><a href="https://framasoft.org/fr/cgu/">CGU <s>lourdement</s> inspirées de celles de Framasoft.org</a></span>
</div>
</div>
<span class="pb-4 text-slate-400">Fait avec amour par Lucien</span>
</div>
<script defer data-domain="shenanigans.cc" src="https://stats.shenanigans.cc/js/script.js"></script>
</body>
</html>

35
website/contact.html Normal file
View file

@ -0,0 +1,35 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./assets/css/style.css" rel="stylesheet">
</head>
<body class="flex flex-col items-center">
<div class="flex flex-col min-h-screen items-center justify-between">
<div class="flex flex-col items-center max-w-3xl gap-16 m-8">
<div class="flex flex-col items-center gap-8">
<a href="index.html"><img src="assets/img/shenanigans_logo_black.svg" class="max-w-screen" /></a>
<ul class="flex flex-row gap-4 text-slate-800 text-xl items-center text-center">
<li><a href="projets.html">Projets</a></li>
<span></span>
<li><a href="entraide.html">Entraide numérique</a></li>
<span></span>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
<div>
<p>Vous pouvez me contacter de plein de façons différentes, je suis le plus réactif sur Telegram :<br/>
<ul class="flex flex-col mt-4 pl-8 ">
<li><strong>Telegram :</strong> <a href="https://t.me/globuzma" target="_blank">@globuzma</a></li>
<li><strong>Mail :</strong> <a href="mailto:lucien@shenanigans.cc" target="_blank">lucien@shenanigans.cc</a></li>
<li><strong>Mastodon :</strong> <a href="https://piaille.fr/@globuzma" target="_blank">@globuzma@piaille.fr</a></li>
<ul>
</p>
</div>
</div>
<span class="pb-4 text-slate-400">Fait avec amour par Lucien</span>
</div>
<script defer data-domain="shenanigans.cc" src="https://stats.shenanigans.cc/js/script.js"></script>
</body>
</html>

52
website/entraide.html Normal file
View file

@ -0,0 +1,52 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./assets/css/style.css" rel="stylesheet">
</head>
<body class="flex flex-col items-center">
<div class="flex flex-col min-h-screen items-center justify-between">
<div class="flex flex-col items-center max-w-3xl gap-16 m-8">
<div class="flex flex-col items-center gap-8">
<a href="index.html"><img src="assets/img/shenanigans_logo_black.svg" class="max-w-screen" /></a>
<ul class="flex flex-row gap-4 text-slate-800 text-xl items-center text-center">
<li><a href="projets.html">Projets</a></li>
<span></span>
<li><a href="entraide.html">Entraide numérique</a></li>
<span></span>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
<div class="flex flex-col gap-4 w-full">
<p>Parce que je pense que l'internet devrait être un endroit de liberté et de partage, j'ai commencé à héberger des applications sur mon serveur pour mon usage personnel. Or toute l'infrastructure était en place pour permettre à d'autres de personnes d'avoir une alternative aux services privés utilisant leurs données à but lucratif.</p>
<p>J'ai donc commencé à parler autour de moi d'une possibilité d'héberger quelques applications pour mes proches, et la réception a été relativement enthousiaste. Si vous souhaitez avoir un compte et quitter le monde des GAFAM, <a href="contact.html">contactez moi</a> pour qu'on en parle.</p>
<p>Voici les différents services que je propose :</p>
<div class="flex flex-wrap w-full mt-8 mb-8 gap-8 justify-center">
<a href="https://photos.shenanigans.cc" class="flex flex-col items-center gap-2" title="Une application pour gérer sa bibliothèque de photos">
<img src="assets/img/immich.svg" class="w-16"/>
<span class="font-bold">Photos</span>
</a>
<a href="https://docs.shenanigans.cc" class="flex flex-col items-center gap-2" title="Une application pour gérer ses documents de façon dématerialisée">
<img src="assets/img/paperless-ngx.svg" class="w-16"/>
<span class="font-bold">Docs</span>
</a>
<a href="https://wiki.shenanigans.cc" class="flex flex-col items-center gap-2" title="Un wiki collaboratif accessible aux personnes possèdant un compte Shenanigans">
<img src="assets/img/outline.svg" class="w-16" />
<span class="font-bold">Wiki</span>
</a>
<a href="https://design.shenanigans.cc" class="flex flex-col items-center gap-2" title="Une application pour faire du design graphique à la Canvas / Figma">
<img src="assets/img/penpot.svg" class="w-16" />
<span class="font-bold">Design</span>
</a>
</div>
<p>Lorsque vous utilisez un de ces services, vous acceptez les Conditions Générales d'Utilisations définies <a class="underline" href="cgu.html">ici</a></p>
<p>Et juste ici vous pouvez vérifier l'état des services mis en ligne : <a class="underline" href="https://status.shenanigans.cc/status/services">status page</a></p>
<p>Faisons en sorte que nos outils numériques nous apporte quelque chose et pas l'inverse ! 🏴‍☠️</p>
</div>
</div>
<span class="pb-4 text-slate-400">Fait avec amour par Lucien</span>
</div>
<script defer data-domain="shenanigans.cc" src="https://stats.shenanigans.cc/js/script.js"></script>
</body>
</html>

31
website/index.html Normal file
View file

@ -0,0 +1,31 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./assets/css/style.css" rel="stylesheet">
</head>
<body class="flex flex-col items-center">
<div class="flex flex-col min-h-screen items-center justify-between">
<div class="flex flex-col items-center max-w-3xl gap-16 m-8">
<div class="flex flex-col items-center gap-8">
<a href="index.html"><img src="assets/img/shenanigans_logo_black.svg" class="max-w-screen" /></a>
<ul class="flex flex-row gap-4 text-slate-800 text-xl items-center text-center">
<li><a href="projets.html">Projets</a></li>
<span></span>
<li><a href="entraide.html">Entraide numérique</a></li>
<span></span>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
<div class="flex flex-col gap-4">
<p>Bonjour, je m'appelle Lucien et j'ai énormément de projets partout tout le temps. Ce site sert donc de point d'entrée vers mes différents projets. Je vous laisse jeter un coup d'oeil à l'onglet portant le même nom.</p>
<p>Je propose aussi à mes proches de reprendre le contrôle sur leurs données numériques en utilisant des services que j'héberge.</p>
<p>Faites donc un tour sur ce site portfolio et amusez vous bien !</p>
</div>
</div>
<span class="pb-4 text-slate-400">Fait avec amour par Lucien</span>
</div>
<script defer data-domain="shenanigans.cc" src="https://stats.shenanigans.cc/js/script.js"></script>
</body>
</html>

30
website/projets.html Normal file
View file

@ -0,0 +1,30 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./assets/css/style.css" rel="stylesheet">
</head>
<body class="flex flex-col items-center">
<div class="flex flex-col min-h-screen items-center justify-between">
<div class="flex flex-col items-center max-w-3xl gap-16 m-8">
<div class="flex flex-col items-center gap-8">
<a href="index.html"><img src="assets/img/shenanigans_logo_black.svg" class="max-w-screen" /></a>
<ul class="flex flex-row gap-4 text-slate-800 text-xl items-center text-center">
<li><a href="projets.html">Projets</a></li>
<span></span>
<li><a href="entraide.html">Entraide numérique</a></li>
<span></span>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
<div class="flex flex-col items-center gap-4">
<img src="assets/img/sneakyLulu.png" class="w-64" />
<h2 class="font-bold text-3xl">W.I.P</h2>
</div>
</div>
<span class="pb-4 text-slate-400">Fait avec amour par Lucien</span>
</div>
<script defer data-domain="shenanigans.cc" src="https://stats.shenanigans.cc/js/script.js"></script>
</body>
</html>