diff --git a/.gitignore b/.gitignore index 2d19fc7..5551fd0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -*.html +static/* diff --git a/.webpull b/.webpull index f381d82..4fa75c1 100755 --- a/.webpull +++ b/.webpull @@ -1,2 +1,19 @@ #!/bin/bash + +set -e + +mkdir -p ./static +COPYFILES=$(find src -type f | egrep -v '\.(pug|md)$') + +for CF in $COPYFILES; do + CF_TO=static/${CF#"src/"} + if [ ! -d $(dirname $CF_TO) ]; then + mkdir -vp $(dirname $CF_TO) + fi + if [ ! -e $CF_TO ]; then + ln -srv $CF $CF_TO + fi +done + pug ./src --out ./static + diff --git a/README.md b/README.md index ce4de99..e23f8ae 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,7 @@ sudo npm install -g pug-cli sudo npm install -g jstransformer-markdown-it ./.webpull ``` + +## Structure + +`src/administratif/`: html files generated by `htlatex` from the files originally in the `deuxfleurs.fr` repo. diff --git a/static/.well-known/matrix/client b/src/.well-known/matrix/client similarity index 100% rename from static/.well-known/matrix/client rename to src/.well-known/matrix/client diff --git a/static/.well-known/matrix/server b/src/.well-known/matrix/server similarity index 100% rename from static/.well-known/matrix/server rename to src/.well-known/matrix/server diff --git a/src/_layout.pug b/src/_layout.pug index 37d269a..c16af33 100644 --- a/src/_layout.pug +++ b/src/_layout.pug @@ -14,10 +14,12 @@ block root .menu-item a(href='https://guichet.deuxfleurs.fr') compte span  |  + .menu-item + a(href='association.html') asso + span  |  .menu-item a(href='documentation.html') doc span  |  h1 #{title} main block content - diff --git a/src/administratif/2020-01-13-pv-ag.css b/src/administratif/2020-01-13-pv-ag.css new file mode 100644 index 0000000..ae56571 --- /dev/null +++ b/src/administratif/2020-01-13-pv-ag.css @@ -0,0 +1,122 @@ + +/* start css.sty */ +.cmr-10x-x-109{} +.cmssbx-10x-x-207{font-size:188%; font-family: sans-serif; font-weight: bold;} +.cmr-12x-x-120{font-size:130%;} +.cmbx-10x-x-109{ font-weight: bold;} +.cmbx-10x-x-109{ font-weight: bold;} +.cmbx-7{font-size:63%; font-weight: bold;} +.cmbx-7{ font-weight: bold;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 0px; margin:0px; } +.hline td, .cline td{ padding: 0; } +.hline hr, .cline hr{border:none;border-top:1px solid black;} +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;} +.reversemarginpar{float:left;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +div.author{white-space: nowrap;} +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +/* end css.sty */ + diff --git a/src/administratif/2020-01-13-pv-ag.html b/src/administratif/2020-01-13-pv-ag.html new file mode 100644 index 0000000..4575440 --- /dev/null +++ b/src/administratif/2020-01-13-pv-ag.html @@ -0,0 +1,86 @@ + + +Procs-verbal de lassemble gnrale constitutive de l’association Deuxfleurs + + + + + + + +
+ + +

Procès-verbal de l’assemblée générale +constitutive de l’association Deuxfleurs

+
Association Deuxfleurs +
10A Allée de Lanvaux, 35700 Rennes

+
13 janvier 2020
+
Le 13 janvier 2020 à 19 heures, les fondateurs de l’association Deuxfleurs se sont réunis en +assemblée générale constitutive au 24 rue des Tanneurs à Rennes. Sont présents Adrien, Alex, +Anaïs, Axelle, Louison, Maximilien, Quentin, Rémi et Vincent. +

L’assemblée générale désigne Adrien Luxey en qualité de président de séance et Quentin Dufour +en qualité de secrétaire de séance. Le président de séance met à la disposition des présents le projet +de statuts de l’association et l’état des actes passés pour le compte de l’association en +formation. +

Puis il rappelle que l’assemblée générale constitutive est appelée à statuer sur l’ordre du jour +suivant : +

+

Enfin, le président de séance expose les motifs du projet de création de l’association et +commente le projet de statuts. Il ouvre la discussion. Un débat s’instaure entre les membres de +l’assemblée. +

Après quoi, personne ne demandant plus la parole, le président met successivement aux voix les +délibérations suivantes. +

1re délibération + L’assemblée générale adopte les statuts dont le projet lui a été soumis. Cette délibération est +adoptée à l’unanimité. + +

2e délibération + L’assemblée générale constitutive désigne en qualité de premiers membres du conseil +d’administration : +

+

Conformément aux statuts, cette désignation est faite pour une durée expirant lors de l’assemblée +générale qui sera appelée à statuer sur les comptes de l’exercice clos le 13 janvier 2021. Les membres +du conseil ainsi désignés acceptent leurs fonctions +

Nom, prénom et signature du président et du secrétaire de séance + + + + + diff --git a/src/administratif/2020-01-13-statuts.css b/src/administratif/2020-01-13-statuts.css new file mode 100644 index 0000000..7c8c295 --- /dev/null +++ b/src/administratif/2020-01-13-statuts.css @@ -0,0 +1,121 @@ + +/* start css.sty */ +.cmr-10x-x-109{} +.cmssbx-10x-x-207{font-size:188%; font-family: sans-serif; font-weight: bold;} +.cmr-12x-x-120{font-size:130%;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 0px; margin:0px; } +.hline td, .cline td{ padding: 0; } +.hline hr, .cline hr{border:none;border-top:1px solid black;} +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;} +.reversemarginpar{float:left;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +div.author{white-space: nowrap;} +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +.frenchb-nbsp{font-size:75%;} +.frenchb-thinspace{font-size:75%;} +sup.french{ vertical-align:super; font-size:70%; } +/* end css.sty */ + diff --git a/src/administratif/2020-01-13-statuts.html b/src/administratif/2020-01-13-statuts.html new file mode 100644 index 0000000..b390f8f --- /dev/null +++ b/src/administratif/2020-01-13-statuts.html @@ -0,0 +1,136 @@ + + +Statuts de l’association Deuxfleurs + + + + + + + +

+ + +

Statuts de l’association Deuxfleurs

+

+
13 janvier 2020
+
+

Article 1 :  Constitution et dénomination

+

Il est fondé entre les adhérents aux présents statuts une association régie par la loi 1901, ayant pour +titre Deuxfleurs. +

+

Article 2 :  Buts

+

Cette association a pour but de défendre et promouvoir les libertés individuelles et collectives à +travers la mise en place d’infrastuctures numériques libres. +

+

Article 3 :  Siège social

+

Le siège social est fixé au 10A, Allée de Lanvaux, 35700 Rennes. Il pourra être transféré suite à un +vote par l’assemblée générale. +

+

Article 4 :  Durée de l’association

+

L’association perdure tant qu’elle possède au moins un membre, ou jusqu’à sa dissolution décidée en +assemblée générale. + +

+

Article 5 :  Admission et adhésion

+

Pour faire partie de l’association, il faut être coopté par un membre de l’association, adhérer +aux présents statuts et s’acquitter de la cotisation annuelle dont le montant est de 10 +euros. +

+

Article 6 :  Composition de l’association

+

L’association se compose exclusivement de membres admis selon les dispositions de l’article 5 et à +jour de leur cotisation. Tout membre actif possède une voix lors des votes en assemblée générale. Est +considéré actif tout membre présent à l’assemblée générale (physiquement, par visioconférence ou +par procuration écrite donnée à un autre membre de l’association). +

+

Article 7 :  Perte de la qualité de membre

+

La qualité de membre se perd par : +

+

+

Article 8 :  L’assemblée générale

+

L’assemblée générale ordinaire se réunit au moins une fois par an, convoquée par le conseil +d’administration. L’assemblée générale extraordinaire est convoquée par le conseil d’administration, +à la demande de celui-ci ou à la demande du quart au moins des membres de l’association. + +

L’assemblée générale (ordinaire ou extraordinaire) comprend tous les membres de l’association à +jour de leur cotisation. Quinze jours au moins avant la date fixée, les membres de l’association sont +convoqués via la liste de diffusion de l’association et l’ordre du jour est inscrit sur les +convocations. +

Le conseil d’administration anime l’assemblée générale. L’assemblée générale, après avoir +délibéré, se prononce sur le rapport moral et/ou d’activités. Le conseil d’administration rend +compte de l’exercice financier clos et soumet le bilan de l’exercice clos à l’approbation de +l’assemblée dans un délai de six mois après la clôture des comptes. L’assemblée générale +délibère sur les orientations à venir et se prononce sur le budget prévisionnel de l’année en +cours. +

Elle pourvoit, au scrutin secret, à la nomination ou au renouvellement des membres du conseil +d’administration via un scrutin de Condorcet Randomisé. Elle fixe le montant de la cotisation +annuelle. Les décisions de l’assemblée sont prises à la majorité des membres présents ou représentés. +Chaque membre présent ne peut détenir plus d’une procuration. +

+

Article 9 :  Membres mineurs

+

Les mineurs peuvent adhérer à l’association sous réserve d’un accord tacite ou d’une autorisation +écrite de leurs parents ou tuteurs légaux. Ils sont membres à part entière de l’association. Seuls les +membres âgés de 16 ans au moins au jour d’une élection sont autorisés à y voter, notamment au +cours d’une assemblée générale. Pour les autres, leur droit de vote est transmis à leur représentant +légal. +

+

Article 10 :  Le conseil d’administration

+

L’association est administrée par un conseil d’administration composé de 3 à 6 membres, élus pour +1 an dans les conditions fixées à l’article 8. Tous les membres de l’association à jour +de leur cotisation sont éligibles. En cas de vacance de poste, le conseil d’administration +peut pourvoir provisoirement au remplacement de ses membres. Ce remplacement est +obligatoire quand le conseil d’administration compte moins de 3 membres. Il est procédé à leur +remplacement définitif à la plus prochaine assemblée générale. Les pouvoirs des membres ainsi +élus prennent fin à l’époque où devrait normalement expirer le mandat des membres +remplacés. +

Le conseil d’administration met en œuvre les décisions de l’assemblée générale, organise et anime +la vie de l’association, dans le cadre fixé par les statuts. Chacun de ses membres peut être habilité +par le conseil à remplir toutes les formalités de déclaration et de publication prescrites par la +législation et tout autre acte nécessaire au fonctionnement de l’association et décidé par le + +conseil d’administration. Tous les membres du conseil d’administration sont responsables +des engagements contractés par l’association. Tout contrat ou convention passé entre +l’association d’une part, et un membre du conseil d’administration, son conjoint ou un +proche, d’autre part, est soumis pour autorisation au conseil d’administration et présenté +pour information à la plus prochaine assemblée générale. Le conseil d’administration +se réunit au moins 4 fois par an et toutes les fois qu’il est convoqué par le tiers de ses +membres. La présence de la moitié au moins des membres du conseil est nécessaire pour +que le conseil d’administration puisse délibérer valablement. Les décisions sont prises au +consensus et, à défaut, à la majorité des voix des présents. Le vote par procuration n’est pas +autorisé. +

+

Article 11 :  Modification des statuts de l’association

+

Sur demande d’un tiers des membres actifs, ou sur demande du conseil d’administration, des +amendements aux statuts de l’association peuvent être discutés et soumis au vote lors d’une +assemblée générale, selon les modalités de l’article 8. + + + + + diff --git a/src/association.pug b/src/association.pug new file mode 100644 index 0000000..134f8d1 --- /dev/null +++ b/src/association.pug @@ -0,0 +1,42 @@ +extends _layout.pug + +prepend root + - title = "l'association" + +block content + .container.spacing + + section.spacing + h2 Notre raison d'être + p.spacing + | Aujourd'hui, de grandes entreprises conçoivent des services numériques qui ont pour objectif de maximiser le temps que nous passons dessus, de collecter et recouper des données à notre insu pour nous influencer, de limiter nos possibilités d'expression au delà du cadre légal et de créer de nouveaux monopoles. Ces effets nous montrent que la technologie n'est pas neutre et a un réel impact sur nos vies. En choisissant et en hébergeant nos propres outils de communication, sans but lucratif ni hégémonique, nous espérons nous affranchir de ces nuisances et préserver nos libertés. + p.spacing + | Pour en savoir plus, rendez-vous sur La Quadrature du Net et allez lire le manifeste des CHATONS. + + + section.spacing + h2 Nos objectifs + + section.spacing + h3 Des utilisateurs impliqués + p.spacing + | Que ce soit à l'école, par l'expérimentation, via un forum d'échange, lors d'un atelier, via une publicité à la télévision, un tutoriel, lors d'une discussion avec un ami, il y toujours une phase d'apprentissage en informatique. Malheureusement, dans ces conditions, dur de lutter pour des services libres face à la puissance de frappe d'une entreprise et des logiciels ayant une base d'utilisateurs immense. Nous pensons donc qu'une personne souhaitant s'héberger chez un hébergeur indépendant a besoin d'un accompagnement. C'est pourquoi les inscriptions se font par cooptation. La cooptation permet aussi un lien de confiance et ainsi de se prémunir de bon nombres d'attaques que subissent les hébergeurs. + + section.spacing + h3 Une architecture résiliente + p.spacing + | Les sites webs, les réseaux sociaux, les emails ne peuvent fonctionner que grâce à des ordinateurs qui restent allumés 24/24h et qui n'attendent que vous. Cependant, ces derniers sont faillibles. Une coupure d'électricité, un disque dur cassé, une mise à jour ratée, un bug dans le logiciel, les raisons ne manquent pas. Heureusement, il est possible de masquer ces pannes avec du logiciel astucieusement conçu. C'est pourquoi vous avez l'impression que Google est toujours disponible, que Dropbox ne perd pas vos données, etc. La gestion de ces pannes, c'est aussi ce qui rend la vie compliquée aux hébergeurs indépendants. Entre incompréhension des utilisateurs quand un service est hors ligne et sueurs froides pour les administrateurs, ça n'a rien de marrant. Et c'est très chronophage. Notre objectif est donc de construire des solutions d'hébergements qui peuvent résister à ces pannes. + + section.spacing + h2 Statuts de l'association + :markdown-it(linkify) + Depuis janvier 2020, Deuxfleurs est constitué en association loi 1901. + Vous trouverez [ici](administratif/2020-01-13-statuts.html) les statuts de l'association. + + section.spacing + h2 Comptes rendus d'AG + :markdown-it(linkify) + Les comptes-rendus d'AG sont disponibles aux liens suivants: + + - [13 janvier 2020 (AG constitutive)](administratif/2020-01-13-pv-ag.html) + diff --git a/static/css/main.css b/src/css/main.css similarity index 88% rename from static/css/main.css rename to src/css/main.css index 37666f7..1d572cf 100644 --- a/static/css/main.css +++ b/src/css/main.css @@ -7,6 +7,9 @@ margin: 0; padding: 0; } +body { + margin-bottom: 42px; +} header { background-color: #519c60; @@ -23,9 +26,19 @@ h2 { } p { + margin-top: 1em; font-size: 1.2em; } +ul { +} + +li { + margin-left: 42px; + padding-top: 4px; + padding-bottom: 4px; +} + .spacing { margin-top: 1em; } diff --git a/static/fonts/texgyreheros-bold.otf b/src/fonts/texgyreheros-bold.otf similarity index 100% rename from static/fonts/texgyreheros-bold.otf rename to src/fonts/texgyreheros-bold.otf diff --git a/static/fonts/texgyreheros-bolditalic.otf b/src/fonts/texgyreheros-bolditalic.otf similarity index 100% rename from static/fonts/texgyreheros-bolditalic.otf rename to src/fonts/texgyreheros-bolditalic.otf diff --git a/static/fonts/texgyreheros-italic.otf b/src/fonts/texgyreheros-italic.otf similarity index 100% rename from static/fonts/texgyreheros-italic.otf rename to src/fonts/texgyreheros-italic.otf diff --git a/static/fonts/texgyreheros-regular.otf b/src/fonts/texgyreheros-regular.otf similarity index 100% rename from static/fonts/texgyreheros-regular.otf rename to src/fonts/texgyreheros-regular.otf diff --git a/static/fonts/texgyreheroscn-bold.otf b/src/fonts/texgyreheroscn-bold.otf similarity index 100% rename from static/fonts/texgyreheroscn-bold.otf rename to src/fonts/texgyreheroscn-bold.otf diff --git a/static/fonts/texgyreheroscn-bolditalic.otf b/src/fonts/texgyreheroscn-bolditalic.otf similarity index 100% rename from static/fonts/texgyreheroscn-bolditalic.otf rename to src/fonts/texgyreheroscn-bolditalic.otf diff --git a/static/fonts/texgyreheroscn-italic.otf b/src/fonts/texgyreheroscn-italic.otf similarity index 100% rename from static/fonts/texgyreheroscn-italic.otf rename to src/fonts/texgyreheroscn-italic.otf diff --git a/static/fonts/texgyreheroscn-regular.otf b/src/fonts/texgyreheroscn-regular.otf similarity index 100% rename from static/fonts/texgyreheroscn-regular.otf rename to src/fonts/texgyreheroscn-regular.otf diff --git a/static/img/arobase.png b/src/img/arobase.png similarity index 100% rename from static/img/arobase.png rename to src/img/arobase.png diff --git a/static/img/flower.svg b/src/img/flower.svg similarity index 100% rename from static/img/flower.svg rename to src/img/flower.svg diff --git a/src/index.pug b/src/index.pug index 96bce68..852a893 100644 --- a/src/index.pug +++ b/src/index.pug @@ -14,22 +14,22 @@ block content h2 nos services permettent de .list a.service-box.spacing(href='https://riot.deuxfleurs.fr') - div(style='font-size: 80px') 💬 + div(style='font-size: 80px; height: 120px') 💬 h3 discuter a.service-box.spacing(href='https://cloud.deuxfleurs.fr') - div(style='font-size: 80px') 🔒 + div(style='font-size: 80px; height: 120px') 🔒 h3 sauvegarder vos documents a.service-box.spacing(href='https://sogo.deuxfleurs.fr') - div(style='font-size: 80px') 📨 + div(style='font-size: 80px; height: 120px') 📨 h3 envoyer des emails a.service-box.spacing(href='https://p.adnab.me') - div(style='font-size: 80px') 📄 + div(style='font-size: 80px; height: 120px') 📄 h3 collaborer a.service-box.spacing(href='documentation.html#site') - div(style='font-size: 80px') 🌠+ div(style='font-size: 80px; height: 120px') 🌠h3 créer votre site a.service-box.spacing(href='https://git.deuxfleurs.fr') - div(style='font-size: 80px') 💻 + div(style='font-size: 80px; height: 120px') 💻 h3 coder br diff --git a/static/robots.txt b/src/robots.txt similarity index 100% rename from static/robots.txt rename to src/robots.txt