Compare commits

..

24 Commits
WIP ... master

Author SHA1 Message Date
Simon 068adabe33 feat: Mise à jour de la source du submodule
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-09-02 12:32:31 +02:00
Simon 47acf1774d feat: Ajout des derniers résumés et CR des conseils municipaux
continuous-integration/drone Build is passing Details
continuous-integration/drone/push Build is passing Details
2024-07-24 12:07:19 +02:00
Simon baf8c3f751 feat: Suppression des champs auteur lorsqu'ils sont vides
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-06-24 17:23:21 +02:00
Simon 89843f2353 feat: Ajout des liens entre les évènements et les associations
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-06-24 17:12:07 +02:00
Simon 16c0de360f feat: Ajout du texte des associations en prod
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-06-17 14:26:26 +02:00
Simon c2baa7c264 chore: Mise à jour de Hugo
continuous-integration/drone Build is passing Details
continuous-integration/drone/push Build is passing Details
2024-05-07 16:59:25 +02:00
Simon dc1713cd71 feat: Mise à jour des tailles d'image
continuous-integration/drone/push Build is failing Details
2024-05-07 16:41:34 +02:00
Simon da5e693f22 feat: Ajout du dernier bulletin
continuous-integration/drone/push Build was killed Details
continuous-integration/drone Build is passing Details
2024-04-19 14:59:18 +02:00
Simon 8040f62eb0 fix: Les sous menu était caché
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-04-03 09:00:15 +02:00
Simon 175aac23e7 fix: Vérifie la section avec InSection
continuous-integration/drone/push Build is passing Details
2024-04-02 23:29:10 +02:00
Simon 99722d5857 feat: Modification des images dans les actualités
continuous-integration/drone/push Build is passing Details
2024-04-02 23:18:38 +02:00
Simon dc26afe2cb feat: Resynchronisation automatique des associations
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-02-29 11:44:24 +01:00
Simon a33dfc9322 fix: Mise à jour de drone
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-02-19 15:07:12 +01:00
Simon 91480a8fdd feat: Mise à jour de la largeur du contenu
continuous-integration/drone/push Build encountered an error Details
2024-02-19 15:04:55 +01:00
Simon 870fada7fc feat: Ajout des sources dans le cache
continuous-integration/drone/push Build encountered an error Details
2024-02-19 15:00:54 +01:00
Simon ae17bfc36a feat: Optimise le clone dans la CI
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-02-19 12:33:50 +01:00
Simon 04c6bfcf60 feat: Mise à jour des galleries
continuous-integration/drone/push Build is passing Details
2024-02-19 12:24:12 +01:00
Simon aa8cb94a29 feat: Mise à jour du cache dans drone
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2024-02-19 11:48:11 +01:00
Simon aad4760cab feat: Modification de l'ordre des bloc
continuous-integration/drone/push Build is failing Details
continuous-integration/drone Build is passing Details
2024-01-29 15:30:06 +01:00
Simon 1aad5c8c4e feat: Ajout du calendrier 2024 des ordures
continuous-integration/drone/push Build is failing Details
continuous-integration/drone Build is passing Details
2024-01-15 09:38:10 +01:00
Simon 2f797de1f0 feat: Ajout des derniers conseils
continuous-integration/drone/push Build was killed Details
continuous-integration/drone Build was killed Details
2024-01-09 15:16:28 +01:00
Simon f9d69e6101 feat: Mise à jour des données dans GIT
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build was killed Details
2023-12-11 10:23:05 +01:00
Simon a06e470034 fix wording 2023-12-11 10:19:58 +01:00
Simon 3fcd1da7e0 feat: Ajout des cr
continuous-integration/drone/push Build is passing Details
2023-12-11 10:05:50 +01:00
90 changed files with 225 additions and 1121 deletions

View File

@ -39,11 +39,22 @@ kind: pipeline
type: docker
name: prod
clone:
disable: true
steps:
- name: install submodule
image: drone/git
- name: clone
image: alpine/git
commands:
- git submodule update --init
- git clone --recursive $DRONE_REPO_LINK .
# volumes:
# - name: source
# path: /drone/src/
# - name: install submodule
# image: drone/git
# commands:
# - git submodule update --init
- name: install npm
image: node:current-alpine
@ -60,10 +71,10 @@ steps:
- node scripts/directus-to-markdown/index.js
- name: build website
image: klakegg/hugo:0.101.0-ext-debian-ci
# volumes:
# - name: hugo-resources
# path: /drone/src/resources
image: hugomods/hugo:base-0.121.1
volumes:
- name: hugo-resources
path: /drone/src/resources
commands:
- hugo --minify --environment production
@ -76,7 +87,7 @@ steps:
- node themes/hugo-theme-lowtech/scripts/typo
- name: deploy
image: klakegg/hugo:0.101.0-ext-debian-ci
image: hugomods/hugo:base-0.121.1
environment:
AWS_ACCESS_KEY_ID:
from_secret: PRODUCTION_AWS_ACCESS_KEY_ID
@ -103,17 +114,31 @@ volumes:
- name: hugo-resources
host:
path: /tmp/drone/cache/weko/cremeaux/resources
- name: source
host:
path: /tmp/drone/cache/weko/cremeaux/source
---
kind: pipeline
type: docker
name: staging
clone:
disable: true
steps:
- name: install submodule
image: drone/git
- name: clone
image: alpine/git
commands:
- git submodule update --init
- git clone --recursive $DRONE_REPO_LINK .
# volumes:
# - name: source
# path: /drone/src/
# - name: install submodule
# image: drone/git
# commands:
# - git submodule update --init
- name: install npm
image: node:current-alpine
@ -130,10 +155,10 @@ steps:
- DRAFT=true node scripts/directus-to-markdown/staging.js
- name: build website
image: klakegg/hugo:0.101.0-ext-debian-ci
# volumes:
# - name: hugo-resources
# path: /drone/src/resources
image: hugomods/hugo:base-0.121.1
volumes:
- name: hugo-resources
path: /drone/src/resources
commands:
- hugo --minify --buildDrafts --buildFuture --environment staging
@ -146,7 +171,7 @@ steps:
- node themes/hugo-theme-lowtech/scripts/typo
- name: deploy
image: klakegg/hugo:0.101.0-ext-debian-ci
image: hugomods/hugo:base-0.121.1
environment:
AWS_ACCESS_KEY_ID:
from_secret: STAGING_AWS_ACCESS_KEY_ID
@ -162,3 +187,6 @@ volumes:
- name: hugo-resources
host:
path: /tmp/drone/cache/weko/staging.cremeaux/resources
- name: source
host:
path: /tmp/drone/cache/weko/staging.cremeaux/source

1
.gitignore vendored
View File

@ -2,4 +2,3 @@ resources
public
backups
.hugo_build.lock
node_modules/

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "themes/hugo-theme-lowtech"]
path = themes/hugo-theme-lowtech
url = https://git.weko.io/kosssi/hugo-theme-lowtech.git
url = https://git.resilien.fr/kosssi/hugo-theme-lowtech.git

View File

@ -1,12 +1,13 @@
.masonry
column-gap: 30px
column-fill: initial
column-count: 2
@media only screen and (min-width: 1024px)
column-count: 4
column-count: 2
@media only screen and (max-width: 1023px) and (min-width: 768px)
column-count: 3
column-count: 2
@media only screen and (max-width: 767px) and (min-width: 540px)
column-count: 2
@ -32,5 +33,5 @@
img
width: 100%
max-width: 300px
max-width: 600px
margin: 0 auto 1rem

View File

@ -4,6 +4,20 @@
height: 40vh
position: relative
&.actu
background-color: var(--color-green)
height: calc(106px + 4rem + 2rem)
.nav
top: 2rem
@media screen and (max-width: $size-md)
height: calc(86px + 4rem + 2rem)
@media screen and (max-width: $size-sm)
height: calc(86px + 3rem + 2rem)
.nav
top: 1.5rem
&.home
height: 60vh
.hero
@ -30,6 +44,7 @@
right: 0
background-color: var(--color-secondary)
height: $nav-height
z-index: 50
@media screen and (max-width: $size-md)
top: 30px
@ -73,6 +88,9 @@
margin: 0
height: $nav-height
li
padding-bottom: 0
.viemunicipale, .viemunicipale a
color: var(--color-green)
font-weight: bold

View File

@ -79,6 +79,9 @@ li
margin-top: -10vh
min-height: 50vh
.hero
margin: auto
@media screen and (max-width: $size-md)
min-height: inherit
@ -93,7 +96,7 @@ li
margin: 0
padding: 1rem
@media screen and (max-width: $size-xs)
padding: 1rem .5rem
padding: .5rem
.containerGrid
display: flex
@ -162,6 +165,12 @@ li
a
color: white
.actu + #content
margin-top: -4rem
@media screen and (max-width: $size-md)
.container
.nouveautes
border: 1px solid black
padding: 20px
@ -249,7 +258,7 @@ hr
font-size: .9rem
.md
max-width: 650px
max-width: 1024px
margin-left: auto
margin-right: auto
@media screen and (max-width: $size-sm)

View File

@ -2,6 +2,6 @@ baseURL: https://cremeaux.fr/
deployment:
targets:
- name: staging
- name: production
URL: >-
s3://cremeaux.fr?endpoint=https://s3.garage.resilien.cloud&disableSSL=true&s3ForcePathStyle=true&region=garage

View File

@ -6,7 +6,6 @@ image_credit: Photo de Nikola Johnny Mirkovic sur Unsplash
description: Une coupure d'électricité sur plusieurs lieux-dits et mercredi 16 mars 2022
auteur: ENEDIS
draft: 'false'
event: false
---
# Coupures de courant pour travaux

View File

@ -1,11 +0,0 @@
---
title: MARCHÉ DU TERROIR EN SEMI NOCTURNE
date: '2022-04-18'
image: null
image_credit: null
description: MARCHÉ DU TERROIR EN SEMI NOCTURNE
auteur: COMMISSION ANIMATION
draft: 'true'
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

View File

@ -1,12 +0,0 @@
---
title: Fête des mères
date: '2022-06-17'
image: fete des meres.jpg
image_credit: photo commission animation
description: Les mamans de Crémeaux à l'honneur
auteur: Commission Animation
draft: 'false'
event: false
---
Samedi 11 juin à 18 heures était organisé une cérémonie dans le cadre de la fête des mères. Didier Poncet, M. le Maire de Crémeaux a tenu à féliciter toutes les mamans de la commune des enfants nés en 2021 pour leurs engagements quotidiens dans l'amour et l'éducation apportés à leurs enfants. Après de petits présents offerts par la municipalité, les parents, grands parents et amis ont été conviés à se réunir autour du verre de l'amitié.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

View File

@ -1,15 +0,0 @@
---
title: Fêtes des lumières - 8 décembre 2022
date: '2022-12-01'
image: 8decembre2022.jpg
image_credit: null
description: Fêtes des lumières - 8 décembre 2022
auteur: Commission animation
draft: 'false'
---
A partir du 8 décembre, Crémeaux se parera de lumières pour la joie des plus grands et des plus petits.
Rendez-vous place des Tilleuls à 19h00 pour le départ d'un défilé dans les rues du bourg pour découvrir ces lumières jusqu'à la salle Grosbost où vous sera offert une collation.
Nous vous invitions à participer en allumant des bougies sur vos rebords de fenêtres comme le veut la tradition.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 637 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

View File

@ -1,37 +0,0 @@
---
title: Hommages à Paul Merle
date: '2022-12-08'
image: guillermo-latorre-g8OO4AF1cKI-unsplash.jpg
image_credit: Photo de Guillermo Latorre sur Unsplash
description: >-
La municipalité de Crémeaux rend hommage à Paul Merle qui a contribué aussi
bien au niveau du verger municipale que des chemins.
auteur: Commission communication
draft: 'true'
---
Paul Merle était connu de tous les Crémeausien, il nous a quitté le 23 novembre dernier à l'age de 79 ans. C'était un amoureux de la nature et a su le démontrer en s'investissant dès la création du verger conservatoire municipal en 1997 mais aussi lors de la remise en service de multitude de chemin abandonnées pour la plus grande joie des marcheurs du Lundi de Pâque, organisé par La marche des Violettes.
## Verger Conservatoire Communal
Paul a veillé pendant de long années au verger, à son entretien, ses traitements aux méthodes écologique, sa taille minutieuse et longue chaque année, aux ramassages des pommes qu'il aidait à vendre lors de la foire d'automne à prix dérisoire, aux choix des nouveaux arbres lorsque certains périssaient, à la cartographie de toutes ses variétés anciennes de pomme.
> « *C'est un travail de longue haleine qui est entrepris et qui nécessitera persévérance pendant de nombreuses années, mais contribuera à sauver notre patrimoine fruitier.* » écrivait Christophe EXTRA dans le bulletin communal de 1997
À l'aide de nombreuse personnes, il a su mettre en valeur ce verger, c'est aussi grâce à lui qu'a vu le jour une signalétique mettant en avant ce patrimoine qu'il aimait faire découvrir à qui voulait l'écouter ainsi qu'aux élèves de l'école.
![Signalétique du Verger Conservatoire Communal](IMG_9144.JPG)
![](IMG_9538.JPG)
![](P3091056.JPG)
![Paul fait visiter le verger aux enfants de l'école](PA025144_flou.JPG)
## Un grand marcheur
Paul aimait marcher et en faire profiter à d'autres personnes lors de ses marches d'été du mardi soir qu'il organissait.
[en cours]

View File

@ -1,54 +0,0 @@
---
title: Coupure de courant pour travaux le mardi 24 janvier 2023
date: '2023-01-11'
image: matthew-henry-yETqkLnhsUI-unsplash.jpg
image_credit: Photo de Matthew Henry sur Unsplash
description: Coupure de courant pour travaux et 24 janvier 2023
auteur: Enedis
draft: 'false'
event: false
---
Afin daméliorer la qualité de la distribution électrique et de répondre aux besoins de notre clientèle, nous réalisons des travaux sur le réseau électrique qui vous alimente qui entraineront une ou plusieurs coupures délectricité.
- Commune de : CREMEAUX
- Horaires des coupures : mardi 24 janvier 2023 de 09h30 à 11h30
- Quartiers ou lieux-dits :
- Lieu-dit les Places
- place de l'Eglise
- La Tour
- Route de Judas
- N1 chemin des Lilas
- 95 route du Forez
- N5, N4 lieu-dit Pierre Bénite
- Route des monts de la Madeleine
- 550, 790 route des monts de la Madeleine
- N10 lieu-dit la Croix Rouge
- rue de l'Eglise
- N6, N64, N102, N48, N39, N90, N29, N81, N110, N111, N91, N142 lieu-dit le Bourg
- N2 les Places Sud
- 55 place du Peuple
- lieu-dit Judas
- 82 chemin le Haut des Clos
- le Bas Chateau
- N2 rue de l'Aurore
- 43 impasse des Pruniers
- place des Tilleuls
- impasse des Jardins
- lieu-dit Chazet
- N5 au bourg
- N6 lieu-dit le Gourneuf
- rue des Cornes d'Urfé
- 19 rue du Bas Château
- les Tissières
- N2 impasse chez Laurent
- 35 route des Portes
- rue du Canal
- le Bourg
- lieu-dit les Clos
*Rappel :*
*Notre personnel et nos prestataires travaillent sur le réseau Electrique afin d'assurer la qualité et la continuité du service public de la distribution délectricité.
Pour que ces travaux puissent être réalisés en toute sécurité, nous vous rappelons que si vous deviez utiliser un moyen de réalimentation (groupe électrogène, alternateur sur tracteur, ...), il est obligatoire douvrir votre disjoncteur général ENEDIS (le positionner sur 0).*

View File

@ -1,25 +0,0 @@
---
title: Coupures de courant pour travaux le mercredi 8 février 2023
date: '2023-01-11'
image: matthew-henry-yETqkLnhsUI-unsplash.jpg
image_credit: Photo de Matthew Henry sur Unsplash
description: >-
Enedis prévoit une coupure de courant pour cause de travaux dans le secteur de
Persigny à Crémeaux le mercredi 8 février 2023 de 9h à 11h.
auteur: Enedis
draft: 'false'
event: false
---
Enedis prévoit une coupure de courant pour cause de travaux dans le secteur de Persigny à Crémeaux le mercredi 8 février 2023 de 9h à 11h.
- Commune de : CREMEAUX
- Horaires des coupures : mercredi 8 février 2023 de 09h00 à 11h00
- Quartiers ou lieux-dits : N1 LIEU DIT PERSIGNY
Pour répondre aux besoins de sa clientèle, Enedis a prévu de réaliser sur le réseau de distribution des travaux qui entraîneront une ou plusieurs coupures délectricité.
Pour protéger au mieux vos appareils sensibles, nous vous recommandons de les débrancher avant l'heure de début de coupure indiquée, et de ne les rebrancher quune fois le courant rétabli.
Pendant la coupure pour suivre son évolution et connaître lheure approximative de rétablissement du courant, vous pouvez consulter notre site [enedis.fr](https://www.enedis.fr/panne-et-interruption), ou télécharger lapplication Enedis à mes côtés sur [Google Play](https://play.google.com/store/apps/details?id=com.erdf.clients.amescotes&gl=FR&pli=1) ou [l'Apple Store](https://apps.apple.com/fr/app/a-mes-c%C3%B4t%C3%A9s/id885458976). Toutefois lalimentation pourra être rétablie à tout moment avant la fin de la plage indiquée.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1013 KiB

View File

@ -1,15 +0,0 @@
---
title: 31ème Marche des Vilolettes - Lundi de Pâques 10 avril 2023
date: '2023-03-25'
image: bruce-kee-XbuJMwsi4uM-unsplash.jpg
image_credit: Photo de Bruce Kee sur Unsplash
description: >-
31ème Marche des Vilolettes - Crémeaux - Lundi de Pâques 10 avril 2023 -
Entente Crémeausienne
auteur: Entente Crémeausienne
draft: 'false'
event: true
---
![](Bannière_Fb.png)
{.grand}

View File

@ -1,15 +0,0 @@
---
title: Coupure de courant pour travaux le 30 mai 2023
date: '2023-05-11'
description: Coupure de courant pour travaux le 30 mai 2023 - Crémeaux
auteur: Enedis
draft: 'true'
---
- Commune de : CREMEAUX
- Horaires des coupures : **mardi 30 mai 2023 de 09h30 à 13h30**
- Quartiers ou lieux-dits : **Chemin des Rossets**

View File

@ -1,29 +0,0 @@
---
title: Test affichage titre
date: '2023-07-04'
description: null
auteur: Commission Animation
draft: 'true'
event: false
---
# Titre 1
## Titre 2
### Titre 3
#### Titre 4
##### Titre 5
###### Titre 6
Ceci est un text **en gras**{#id .className attrName=attrValue class="class1 class2"} et alors ça fonctionne ?
> **ccadzad**
{.purple}
> **ccadzad**
{.green}
> **ccadzad**
{.orange}
> **ccadzad**
{.blue}

View File

@ -1,22 +0,0 @@
---
title: Journée SPORT'ART CREMEAUX avec MINI-TOURNOIS au City Stade
date: '2023-08-02'
image: image_sport_art_cremeaux_160923.jpg
vignette: vignette_sport_art_cremeaux_16092023.jpg
description: 'Sport''Art Crémeaux - 16/09/2023 - City Stade Crémeaux '
auteur: Commission Animation
draft: 'false'
event: false
---
> Le **samedi 16 septembre à partir de 9h30**, dans le cadre de la réalisation dune fresque créée par Unickstreet au City Stade, la commune organise un tournoi multisports axé sur trois domaines (basket, foot et pétanque) par équipe de trois personnes et par catégories d'âges (4/10 ans, 11/16 ans, 17 ans et plus).
Nous vous demandons de bien vouloir vous préinscrire pour le bon déroulement de cette journée.
Les préinscriptions sont disponibles dans nos commerces ou à imprimer via le lien du [formulaire de préinscription](https://contenu.cremeaux.fr/assets/fcf45a03-d1b3-40c9-a102-e78ffd2f1b38) et sont à remettre dans la boîte aux lettres de la mairie **avant le 3 septembre**.
Différents artisans seront présents et un verre vous sera offert par la commune à partir de 19h00.
**Venez nombreux découvrir la réalisation en directe d'une fresque et animer cette journée en pratiquant vos sports favoris !**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

View File

@ -1,22 +0,0 @@
---
title: Fête des lumières 2023
date: '2023-11-14'
image: leon-contreras-Wu3pkvOIMJk-unsplash.jpg
image_credit: Photo de Leon Contreras sur Unsplash
vignette: vignette_FetesDesLumieres_08122023.jpg
vignette_credit: Photo de Mike Labrum sur Unsplash
description: >-
Fête des lumières 2023 - 8 décembre - Place des Tilleuls à partir de 19 heures
- Crémeaux, 42260
auteur: Commission Animation
draft: 'false'
event: false
---
A partir du **8 décembre**, Crémeaux se parera de lumières pour la joie des plus grands et des plus petits.
**Rendez-vous place des Tilleuls à 19h le 8 décembre** pour le départ d'un défilé dans les rues du bourg pour découvrir ces lumières jusqu'à la salle Grosbost où vous sera offert une collation.
Nous vous invitions à participer en allumant des bougies sur vos rebords de fenêtres comme le veut la tradition.
![](affiche-FetesDesLumieres_08122023.jpg)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -1,29 +0,0 @@
---
title: Hommage à Paul Merle
date: '2023-12-02'
image: affiche-CommemorationPM_02122023.jpg
vignette: vignette-CommemorationPM_02122023.jpg
description: Hommage à Paul Merle - samedi 2 décembre - Crémeaux, 42260
auteur: Mairie
draft: 'true'
event: false
---
A la première neige, le samedi 2 décembre, un hommage à Paul Merle a été rendu entouré des siens et de la municipalité.
Une plaque commémorative a été déposée à l'entrée principale du verger communal en mémoire de sa disponibilité et de son engagement pour la réalisation et l'entretien du lieu contenant de nombreuses variétés de fruitiers et plus particulièrement de pommiers.
![](affiche-PanneauCommemorationPM_02122023.jpg)
Nous remercions également tous les bénévoles qui ont oeuvrés à l'essor et au maintien de ce verger.
Le relai est en partie assuré par les agents communaux qui vont bénéficier d'une formation de taille et d'entretien.
Nous avons clôturer cet hommage en partageant le verre de l'amitié.
Merci à toutes et tous pour votre présence.
![](image2-CommemorationPM_02122023.JPG)
![](image3-CommemorationPM_02122023.jpg)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

View File

@ -1,17 +0,0 @@
---
title: La boîte aux lettres du Père Noël
date: '2023-12-02'
image: image-LetreAuPereNoel.jpg
image_credit: Image par Studio_Iris de Pixabay
vignette: vignette-LetreAuPereNoel1.jpg
description: >-
La boîte aux lettres du Père Noël - Place de la Mairie du 11 au 24 décembre
2023 - Crémeaux, 42260
auteur: Commission Animation
draft: 'true'
event: false
---
A tous les enfants, petits, moyens ou grands, déposez dans la boîte aux lettres du Père Noël, vos souhaits et la magie opérera ... Le compte à rebours est lancé : nous sommes le 11 décembre et vous avez jusqu'au 24 décembre pour poster votre lettre.
![](Affiche-Lettre au père Noël 2023.jpg)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -1,41 +0,0 @@
---
title: Test d'affichage
date: '2024-03-28'
description: null
auteur: Commission Animation
draft: 'true'
event: false
---
# Titre 1
## Titre 2
### Titre 3
#### Titre 4
##### Titre 5
###### Titre 6
> **ccadzad**
{.purple}
> **ccadzad**
{.green}
> **ccadzad**
{.orange}
> **ccadzad**
{.blue}
![](image_marche_nocturne_07072023.jpg)
![](image_marche_nocturne_07072023.jpg)
{.grand}
{{< gallery >}}
![](SportArt1.jpg)
![](SportArt2.jpg)
![](SportArt3.jpg)
![](SportArt4.jpg)
{{< /gallery >}}

View File

@ -30,12 +30,4 @@ bureau:
telephone: 04 77 62 58 07, 07 83 47 62 60
---
Une année créative emprunte de bonne humeur, de détente et de lâcher prise, vous est proposée à nouveau cette année.
**Nos cours se déroulent en général les lundis de 14 h à 17 heures, salle hêtre.**
Un petit matériel reste indispensable au démarrage.
On vous accueillera avec grand plaisir !
*Contact : Claudine Dervaux Vanackere au 0606736359*

View File

@ -9,16 +9,4 @@ facebook: >-
https://www.facebook.com/ESAT-Le-Colombier-La-Bl%C3%A9gni%C3%A8re-102443351446688
---
L'ESAT Le Colombier La Blégnière est ouvert depuis 1985 et accueille 38 travailleurs en situation de handicap.
Nous proposons les services suivants :
- élevage de viandes et volailles,
- scierie,
- bois de chauffage, granulés et fibres de bois,
- entretien d'espaces verts,
- blanchisserie,
- maraîchage.
ainsi que la vente directe de poulets fermiers, conserves de légumes et légumes de saison dans notre magasin de Crémeaux ouvert du mardi au vendredi de 9h30 à 12h et de 13h30 à 16h30.
Le magasin de l'Esat Le Colombier à Bussy Albieux est ouvert de 9h à 12h et de 13h15 à 16h15 du lundi au vendredi et de 8h30 à 12h le samedi.

View File

@ -1,7 +0,0 @@
---
title: Evènements
description: null
draft: true
---

View File

@ -1,6 +0,0 @@
---
title: Contacts utiles
description: null
---

View File

@ -1,8 +0,0 @@
---
title: Les **Évènements**
description: Retrouvez l'ensemble des évènements associatifs de Crémeaux !!!
image: roman-kraft-_Zua2hyvTBk-unsplash.jpg
image_credit: Photo de Roman Kraft sur Unsplash
---

View File

@ -1,65 +0,0 @@
---
title: Les services municipaux
description: null
draft: true
menu:
main:
name: Les services municipaux
weight: null
identifier: services-municipaux
parent: viemunicipale
---
### La Médiathèque municipale :
**Renseignements :**
La médiathèque est située place des Tilleuls
Mail : bibliotheque@cremeaux.fr
Tel : 04 77 62 82 66
Horaires douverture :
- Mercredi de 16h à 18h
- Vendredi et samedi de 10h à 12h
Linscription et les prêts sont gratuits.
Une équipe de 14 bénévoles assurent la tenue des permanences et la gestion de la médiathèque
La Responsable :
- Bernadette GAUDARD
La Chargée de ladministratif :
- Amélie QUAGLIA
Les conseillers municipaux délégués à la Bibliothèque :
- Suzanne MANISSOLLE
- Simon CONSTANS
**Fonctionnement :**
La médiathèque met à disposition des petits et des grands un large choix douvrages : bandes dessinées, albums, romans, documentaires, magazines, CD, DVD, livres à gros caractères et audio-livres.
Le fonds permanent appartenant à la commune senrichit grâce :
- Aux dons des particuliers,
- Aux acquisitions annuelles dans le cadre du crédit annuel du budget communal.
Le fonds prêté par la médiathèque départementale est constamment renouvelé.
- Tous les mois (sauf le mois daoût), un employé de la médiathèque départementale, dune part apporte les nouveaux livres demandés par les lecteurs ou sélectionnés par léquipe des bénévoles et, dautre part récupère les livres réclamés par les autres bibliothèques.
Le lecteur a aussi la possibilité de choisir des ouvrages sur le site internet de la Direction Départementale du Livre et du Multimédia (mediatheque.loire.fr) et ensuite demander à la bénévole de permanence de les lui réserver .
- Les accueils sur place de léquipe des bénévoles à la médiathèque départementale à Neulise permettent un renouvellement massif du fonds.
**Animations proposées :**
- A lextérieur, jouxtant la médiathèque , un meuble libre-service fabriqué par le personnel communal est à la disposition des lecteurs pour déposer ou emprunter les livres personnels
- Le vendredi matin, la médiathèque accueille les deux classes primaires et la classe maternelle
- Animés par Josiane, « Raconte -tapis et Kamishibai », divertissent, dune part les tout-petits dans le cadre du Relais Accueil Petite Enfance (les enfants gardés à domicile sont aussi invités), dautre part les plus grands, accompagnés de leurs enseignants, le vendredi matin à la médiathèque.
- La médiathèque organise annuellement un spectacle sélectionné dans le catalogue des spectacles subventionnés par le Département , le coût étant pris en charge par la commune.
- Ponctuellement sont organisées des rencontres avec des écrivains avec dédicace de leurs ouvrages.
**Dans le cadre de lAssociation des Bibliothèques du Pays dUrfé (ABIPUR) :**
- Le prix littéraire des écoliers , auquel participe lécole primaire de Crémeaux
- Le café-lecture trimestriel proposé à tous les bénévoles des bibliothèques de lABIPUR.
- La participation à la fête du livre jeunesse en Pays Roannais,
- Des spectacles organisés par lABIPUR
- Le travail autour du projet de livre « Grandir en Pays dUrfé » . Ce livre relatera sur la période de 1870 à 2000, les thématiques suivantes : séveiller à la vie, sinstruire, quitter le monde de lenfance, devenir adulte. Documents, témoignages et photographies sur la vie des enfants sur le territoire de la fin du 19ème siècle à nos jours sont collectés. La médiathèque de Crémeaux adhère à ce projet et certains bénévoles sinvestissent à sa réalisation. Toutes celles et tous ceux qui sont intéressés peuvent participer à la réalisation de cet ouvrage.

View File

@ -1,15 +0,0 @@
# Les associations
## Thématique des associations
Arts, cultures et patrimoines
Autres
Défense des droits, causes et intérêts
Économie, emploi
Éducation, formation
Environnement, nature
Numérique
Santé, bien être
Solidarités
Sports, activités physiques et de loisirs
Vie locale

View File

@ -1,9 +1,37 @@
{{ define "main" }}
<div class="container">
{{ $headless := site.GetPage "/" }}
{{ $widthOriginal := 1920 }}
{{ $heightOriginal := 850 }}
{{ $width := 1208 }}
{{ $height := 534 }}
{{ $image := default ($headless.Resources.GetMatch "**.jpg") (.Resources.GetMatch (default "**.jpg" .Params.image)) }}
{{ if $image }}
{{ if and (ge $image.Width $widthOriginal) (ge $image.Height $heightOriginal) }}
{{ $image = $image.Process (printf "fill %dx%d Center webp" $width $height) }}
{{ else if gt $image.Height $height }}
{{ $image = $image.Process (printf "resize x%d webp" $height) }}
{{ else }}
{{ $image = $image.Process "webp" }}
{{ end }}
<img
class="hero no-print"
src="{{ $image.RelPermalink }}"
alt="{{ or .Params.image_ .Params.image_credit }}"
title="{{ or .Params.image_ .Params.image_credit }}"
/>
{{ end }}
<h1>{{ .RenderString .Title }}</h1>
<div class="container news md">
<small>
Publié le <time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if isset .Params "auteur" }} - {{ .Params.auteur }}{{ end }}
Publié le <time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if or (isset .Params "auteur") (isset .Params "authors") }} - {{ if isset .Params "authors" -}}
{{ range $key, $value := .Params.authors }}
{{ with site.GetPage $value }}
{{ if gt $key 0 }} & {{ end }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{- end }}{{ if isset .Params "auteur" }}{{ if isset .Params "authors" -}} & {{ end }}{{ .Params.auteur }}{{ end }}{{ end }}
</small>
{{ .Content }}
<aside>

View File

@ -1,11 +1,9 @@
{{ define "main" }}
<div class="container associations">
<h1>{{ .RenderString .Title }} </h1>
{{ if ne hugo.Environment "production" }}
<div class="container md">
{{ .Content }}
</div>
{{ end }}
<br>
{{ if or .Params.mail .Params.telephone .Params.site .Params.facebook }}
<div class="container md">
@ -46,5 +44,21 @@
</ul>
</div>
{{ end }}
{{ if isset .Params "actualites" }}
<div class="container md">
<aside>
<hr>
<h2>
Les évènements de l'association
</h2>
{{ range .Params.actualites }}
{{ with site.GetPage . }}
{{ .Scratch.Set "big" false }}
{{ partial "article-preview.html" . }}
{{ end }}
{{ end }}
</aside>
</div>
{{ end }}
</div>
{{ end }}

View File

@ -1,11 +0,0 @@
{{ define "main" }}
<div class="container">
<h1>{{ .RenderString .Title }}</h1>
<div class="container md">
{{ .Content }}
{{ range .Pages }}
{{ partial "article-preview.html" . }}
{{ end }}
</div>
</div>
{{ end }}

View File

@ -40,7 +40,7 @@
</div>
</div>
<div class="infos">
<div class="nouveautes">
<div class="opening2">
{{ .Content }}
</div>
</div>

View File

@ -16,7 +16,14 @@
</div>
<div class="details">
<small>
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if isset .Params "auteur" }} - {{ .Params.auteur }}{{ end }}
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if or (isset .Params "auteur") (isset .Params "authors") }} - {{ if isset .Params "authors" -}}
{{ range $key, $value := .Params.authors }}
{{ with site.GetPage $value }}
{{ if gt $key 0 }} & {{ end }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{- end }}{{ if isset .Params "auteur" }}{{ if isset .Params "authors" -}} & {{ end }}{{ .Params.auteur }}{{ end }}{{ end }}
</small>
{{ if $isBig }}
<h2 title="{{ $titleWithoutHTML }}"><a href="{{ .RelPermalink }}">{{ $title }}</a></h2>

View File

@ -1,8 +1,10 @@
{{ $isBig := (default .IsHome .Params.big) }}
{{ $isActualites := $.InSection (.Site.GetPage "/actualites") }}
<header class="header{{ if $isBig }} home{{ end }}{{ if $isActualites }} actu{{ end }}">
{{ if not $isActualites }}
{{ $headless := .Site.GetPage "/" }}
{{ $imageSizeSmall := cond $isBig "600x600 Top webp" "600x400 Center webp" }}
{{ $imageSizeBig := cond $isBig "1920x850 Top webp" "1920x450 Center webp" }}
<header class="header{{ if $isBig }} home{{ end }}">
{{ $headless := .Site.GetPage "/" }}
{{ $image := default ($headless.Resources.GetMatch "**.jpg") (.Resources.GetMatch (default "**.jpg" .Params.image)) }}
{{ if $image }}
{{ $resizedSmall := $image.Fill $imageSizeSmall }}
@ -16,6 +18,7 @@
title="{{ or .Params.image_ .Params.image_credit }}"
/>
{{ end }}
{{ end }}
<nav class="nav" id="nav" data-open="false">
<div class="container">
<div class="logo">

View File

@ -18,11 +18,11 @@
{{ $orientation := 1 }}
{{ with $image }}{{ with .Exif }}{{ $orientation = .Tags.Orientation }}{{ end }}{{ end }}
{{ if eq $orientation 8 }}
{{ $image = $image.Resize "300x r90" }}
{{ $image = $image.Resize "600x r90" }}
{{ else if eq $orientation 6 }}
{{ $image = $image.Resize "300x r270" }}
{{ $image = $image.Resize "600x r270" }}
{{ end }}
{{ $resized := $image.Resize "300x q100 webp" }}
{{ $resized := $image.Resize "600x q100 webp" }}
<img src="{{ $resized.RelPermalink }}" alt="{{ $title }}" title="{{ $title }}" loading="lazy">
</figure>
{{ end }}

View File

@ -1,7 +1,12 @@
import DirectusToMarkdown from '@resilien/directus-to-markdown'
import urlslug from 'url-slug'
const filterDraft = process.env.DRAFT && process.env.DRAFT == 'true' ? '' : { draft: { _eq: 'false' } }
var lastDate = new Date();
lastDate.setMonth(lastDate.getMonth() - 3);
lastDate.setFullYear(lastDate.getFullYear() - 10);
console.log(lastDate)
const filterDraft = process.env.DRAFT && process.env.DRAFT == 'true' ? { date: { _gt: lastDate } } : { draft: { _eq: 'false' }, date: { _gt: lastDate } }
const filterAssociation = process.env.DRAFT && process.env.DRAFT == 'true' ? '' : { display_website: { _eq: 'true' } }
const config = {
@ -38,8 +43,8 @@ const config = {
},
actualites: {
readByQueryOption: {
fields: ['title', 'date', 'image', 'image_credit', 'vignette', 'vignette_credit', 'description', 'auteur', 'draft', 'content', 'event'],
filterDraft,
fields: ['title', 'date', 'image', 'image_credit', 'vignette', 'vignette_credit', 'description', 'auteur', 'draft', 'content', 'event', 'authors.Association_id.denomination'],
filter: filterDraft,
limit: 1000
},
pathBuilder: (article) => {
@ -47,62 +52,84 @@ const config = {
if (!article.image_credit) delete article.image_credit
if (!article.vignette) delete article.vignette
if (!article.vignette_credit) delete article.vignette_credit
if (!article.auteur) delete article.auteur
if (!article.authors || article.authors.length == 0) {
delete article.authors
} else {
article.authors = article.authors.map(a => `/associations/${urlslug(a.Association_id.denomination)}`)
}
const [year, month, day] = article.date.split("-")
console.log(article.date + ' - ' + article.title)
return `./content/actualites/${year}/${month}/${day}-${urlslug(article.title, { remove: /\./g })}`;
},
deleteFields: [],
},
// Association: {
// readByQueryOption: {
// fields: [
// 'denomination',
// 'title',
// 'description',
// 'mail',
// 'telephone',
// 'site',
// 'facebook',
// 'bureau.sort',
// 'bureau.Contact_id.*',
// 'content',
// ],
// filterAssociation
// },
// pathBuilder: (association) => {
// if (!association.title) {
// association.title = association.denomination
// }
// console.log("Import de l'association « " + association.title + " »")
// if (association.bureau && association.bureau.length > 0) {
// const bureau = []
// for (const contact of association.bureau) {
// const detail = contact.Contact_id
// if (detail) {
// let c = {
// denomination: detail.denomination,
// prenom: detail.prenom,
// nom: detail.nom,
// }
// if (detail.mail && detail.display_mail) {
// c.mail = detail.mail
// }
// if (detail.telephone && detail.display_telephone) {
// c.telephone = detail.telephone
// }
// bureau.push(c)
// } else {
// console.log("problème sur un contact")
// }
// }
// association.bureau = bureau
// } else {
// delete association.bureau
// }
Association: {
readByQueryOption: {
fields: [
'denomination',
'title',
'description',
'mail',
'telephone',
'site',
'facebook',
'bureau.sort',
'bureau.Contact_id.*',
'content',
'actualites.actualites_id.date',
'actualites.actualites_id.title',
],
filter: filterAssociation
},
pathBuilder: (association) => {
if (!association.title) {
association.title = association.denomination
}
console.log("Import de l'association « " + association.title + " »")
if (association.bureau && association.bureau.length > 0) {
const bureau = []
for (const contact of association.bureau) {
const detail = contact.Contact_id
if (detail) {
let c = {
denomination: detail.denomination,
prenom: detail.prenom,
nom: detail.nom,
}
if (detail.mail && detail.display_mail) {
c.mail = detail.mail
}
if (detail.telephone && detail.display_telephone) {
c.telephone = detail.telephone
}
bureau.push(c)
} else {
console.log("problème sur un contact")
}
}
association.bureau = bureau
} else {
delete association.bureau
}
// return `./content/associations/${urlslug(association.denomination)}`;
// },
// deleteFields: [],
// },
if (!association.actualites || association.actualites.length == 0) {
delete association.actualites
} else {
association.actualites = association.actualites.map(a => {
const [year, month, day] = a.actualites_id.date.split("-")
return `/actualites/${year}/${month}/${day}-${urlslug(a.actualites_id.title, { remove: /\./g })}`
})
}
return `./content/associations/${urlslug(association.denomination)}`;
},
deleteFields: [],
},
}
}

View File

@ -1,230 +0,0 @@
[
{
"denomination": "Syndicat Agricole",
"mail": "cote.roseraie@orange.fr",
"telephone": "04 77 62 58 13",
"prenom": "Emmanuel",
"nom": "COTE"
},
{
"denomination": "ESAT, Le colombier, La Blégnière",
"mail": "cat-blegniere@wanadoo.fr",
"telephone": "04 77 63 12 59",
"prenom": "Laurent",
"nom": "RUSSIAS"
},
{
"denomination": "FNACA",
"mail": "de.terrier@laposte.net",
"telephone": "04 77 62 54 80",
"prenom": "Christiane",
"nom": "TERRIER"
},
{
"denomination": "Saint Joseph",
"mail": "mauricesouchon@laposte.net",
"telephone": "04 77 65 27 25",
"prenom": "Maurice",
"nom": "SOUCHON"
},
{
"denomination": "Le Réveil Crémeausien",
"mail": null,
"telephone": "04 77 62 59 54",
"prenom": "Christophe",
"nom": "DEJOB"
},
{
"denomination": "Amicale des Donneurs de Sang",
"mail": "annieponcet@hotmail.fr",
"telephone": "04 77 62 51 85",
"prenom": "Annie",
"nom": "PONCET"
},
{
"denomination": "CUMA",
"mail": "a.maillet@42.sideral.fr",
"telephone": "06 30 66 35 38",
"prenom": "Aurélien",
"nom": "MAILLET-FEUGERE"
},
{
"denomination": "Amicale des Pompiers",
"mail": "jean-luc.pras@orange.fr",
"telephone": "04 77 62 59 19",
"prenom": "Jean-Luc",
"nom": "PRAS"
},
{
"denomination": "LACIM",
"mail": "alainanniesimon@outlook.fr",
"telephone": "04 77 65 25 66",
"prenom": "Annie",
"nom": "SIMON"
},
{
"denomination": "Restaurent de la Tour",
"mail": "ccindypras@gmail.com",
"telephone": "06 75 76 10 64",
"prenom": "Cindy",
"nom": "PRAS"
},
{
"denomination": "S.O.U. des Écoles",
"mail": "contact@spip-informatique.com",
"telephone": "06 89 50 40 44",
"prenom": "Samuel",
"nom": "MONIER"
},
{
"denomination": "Moto Club",
"mail": null,
"telephone": "04 77 62 55 49",
"prenom": "Fabrice",
"nom": "DUPUY"
},
{
"denomination": "Comité des Fêtes",
"mail": "comitedesfetes.cremeaux@yahoo.fr",
"telephone": "04 77 62 50 94",
"prenom": "Lydie et Franck",
"nom": "MAILLET-FEUGERE"
},
{
"denomination": "À Petit Point",
"mail": "benedicte.jouhannaud@educagri.fr",
"telephone": "04 77 62 53 96",
"prenom": "Bénédicte",
"nom": "JOUHANNAUD-DUBOST"
},
{
"denomination": "L'Œil Ecoute",
"mail": "emilie.peuriere@orange.fr",
"telephone": "04 77 62 53 81",
"prenom": "Emilie",
"nom": "PEURIÈRE"
},
{
"denomination": "Familles Rurales",
"mail": "afrcremeaux@gmail.com",
"telephone": "04 77 62 51 26",
"prenom": "Nicole",
"nom": "DURAND"
},
{
"denomination": "L'Entente Crémeausienne",
"mail": "jbponcet1@gmail.com",
"telephone": null,
"prenom": "Jean-Bernard",
"nom": "PONCET"
},
{
"denomination": "Association Bouliste",
"mail": null,
"telephone": "04 77 65 20 21",
"prenom": "Daniel",
"nom": "BOST"
},
{
"denomination": "C.S.C Football",
"mail": "vernay.mathieu@orange.fr",
"telephone": "06 80 89 70 95",
"prenom": "Mathieu",
"nom": "VERNAY"
},
{
"denomination": "Basket Club",
"mail": "jeremy-muron1@hotmail.fr",
"telephone": "06 89 19 86 99",
"prenom": "Jérémy",
"nom": "MURON"
},
{
"denomination": "Gymnastique Volontaire",
"mail": "chaux-didier@wanadoo.fr;",
"telephone": "04 77 62 51 66",
"prenom": "Viviane",
"nom": "CHAUX"
},
{
"denomination": "Association Communale de Chasse Agréée",
"mail": "pierre.ervas@gmail.com",
"telephone": "04 77 69 76 52",
"prenom": "Jean-Paul",
"nom": "MARCHEBOEUF"
},
{
"denomination": "Association Contraste",
"mail": "clodervaux42@aol.com",
"telephone": "04 77 62 50 03",
"prenom": "Claudine",
"nom": "DERVAUX"
},
{
"denomination": "Club Rencontres et Loisirs",
"mail": "monique.bernard.dubost@orange.fr",
"telephone": "04 77 62 56 11",
"prenom": "Bernard",
"nom": "DUBOST"
},
{
"denomination": "Amicale des anciens sapeurs pompiers de Crémeaux",
"mail": null,
"telephone": null,
"prenom": "Bernard",
"nom": "CROZET"
},
{
"denomination": "Lucé Loisirs",
"mail": "adeline.chapuis42@gmail.com",
"telephone": "06 38 52 94 63",
"prenom": "Adeline",
"nom": "PALABOST"
},
{
"denomination": "BavARTdâge",
"mail": "francoise@lesmursdecouleurs.com",
"telephone": "",
"prenom": "Françoise",
"nom": "BOUCGAND GIRAUD"
},
{
"denomination": "Le Petit Royaume",
"mail": null,
"telephone": "04 77 62 56 34",
"prenom": "Michelle et Guy",
"nom": "HOCQUET"
},
{
"denomination": "Association Test",
"mail": "garriviersandra@gmail.com",
"telephone": "06 70 06 86 63",
"prenom": "Sandra",
"nom": "GARRIVIER",
"test": "true"
},
{
"denomination": "Association Test",
"mail": "elodie.bourg@gmail.com",
"telephone": "07 60 43 99 07",
"prenom": "Elodie",
"nom": "BOURG",
"test": "true"
},
{
"denomination": "Association Test",
"mail": "simon@lamelio.fr",
"telephone": "06 80 26 86 61",
"prenom": "Simon",
"nom": "CONSTANS",
"test": "true"
},
{
"denomination": "Association Test",
"mail": "laurent.loizzo@gmail.com",
"telephone": "06 42 35 68 46",
"prenom": "Laurent",
"nom": "LOÏZZO",
"test": "true"
}
]

View File

@ -1,181 +0,0 @@
import { Directus } from '@directus/sdk';
import fs from 'fs'
import yaml from 'js-yaml'
import nodemailer from 'nodemailer'
import crypto from 'crypto'
const DIRECTUS_URL = process.env.DIRECTUS_URL
const DIRECTUS_TOKEN = process.env.DIRECTUS_TOKEN
async function sendMail() {
// Envoi de mail
const directus = new Directus(DIRECTUS_URL, { auth: { staticToken: DIRECTUS_TOKEN }});
let transporter = nodemailer.createTransport({
host: "mail.mailo.com",
port: 465,
secure: true, // upgrade later with STARTTLS
auth: {
user: "simon@weko.io",
pass: "JfXO1LLkCaVO1wT",
},
});
const name = "A Petit Point"
const contact = "Bénédicte JOUHANNAUD-DUBOST"
const mail = "simon@lamelio.fr"
// send mail with defined transport object
let info = await transporter.sendMail({
from: '"Simon CONSTANS" <simon@weko.io>', // sender address
to: '"' + contact + '" <' + mail + '>', // list of receivers
subject: "Demande de texte pour le bulletin municipal 2022", // Subject line
text: `Bonjour ${contact},
Je vous contact au sujet du bulletin municipal 2022 de Crémeaux.
Vous êtes la personne identifié pour remplir la partie de l'association «${name}». Si ce n'est pas le cas pouvez vous transférer le mail à la personne concernée.
Nous avons mis en place un système pour que vous puissiez remplir directement en ligne et nous faciliter le travail de mise en page.
Vous pouvez vous connecter :
- à l'adresse suivante : ${DIRECTUS_URL}
- avec l'identifiant : ${mail}
- et le mot de passe suivant : blablabla
Merci de remplir la partie votre document avant le 1 janvier 2022. Si vous avez un souci envoyez un mail à communication@cremeaux.fr.
Cordialement,
--
Simon CONSTANS de la commission communication de la municipalité de Crémeaux.`
// "Hello world?", // plain text body
// html: "<b>Hello world?</b>", // html body
});
console.log(info)
}
class Cremeaux {
constructor() {
this.directus = new Directus(DIRECTUS_URL, { auth: { staticToken: DIRECTUS_TOKEN }});
this.transporter = nodemailer.createTransport({
host: "mail.mailo.com",
port: 465,
secure: true, // upgrade later with STARTTLS
auth: {
user: "simon@weko.io",
pass: "JfXO1LLkCaVO1wT",
},
})
}
async associationCreate(association, user) {
const Association = await this.directus.items('Association')
return Association.createOne({ denomination: association.denomination, user_created: user.id })
}
async userCreate(association) {
// const role = '450a67e7-c1ad-46c1-bc38-7b5a82803f72'
// const users = yaml.load(fs.readFileSync('./directus-users.yml', 'utf8'));
const user = {
first_name: association.prenom,
last_name: association.nom,
email: association.mail,
password: association.password,
telephone: association.telephone,
language: 'fr-FR',
role: '82da3185-0bf0-497b-a72f-e0d6fa1645e2'
}
const Users = await this.directus.items('directus_users')
return Users.createOne(user);
}
async bulletinCreate(association, user) {
const Bulletin = await this.directus.items('Bulletin')
return Bulletin.createOne({ titre: association.denomination, user_created: user.id });
}
async sendMail(compte, bulletin, association) {
const name = compte.denomination
const contact = `${compte.prenom} ${compte.nom}`
const mail = compte.mail
const password = compte.password
// send mail with defined transport object
return await this.transporter.sendMail({
from: '"Simon CONSTANS" <simon@weko.io>', // sender address
to: '"' + contact + '" <' + mail + '>', // list of receivers
subject: "Demande de texte pour le bulletin municipal 2022", // Subject line
text: `Bonjour ${contact},
Je vous contact au sujet du bulletin municipal 2022 de Crémeaux.
Vous êtes la personne identifié pour remplir la partie de l'association « ${name} ». Si ce n'est pas le cas, pouvez vous transférer le mail à la personne concernée.
Nous avons mis en place un système pour que vous puissiez remplir directement en ligne et nous faciliter le travail de mise en page, sans avoir à passer par de nombreux mails.
Vous pouvez vous connecter :
- à l'adresse : ${DIRECTUS_URL}
- avec l'identifiant : ${mail}
- et le mot de passe : ${password}
Une fois connecté, vous pouvez remplir :
- les informations spécifiques de l'association ainsi que son bureau :
${DIRECTUS_URL}/admin/content/Association/${association.id}
- le texte pour le bulletin :
${DIRECTUS_URL}/admin/content/Bulletin/${bulletin.id}
- changer votre mot de passe :
${DIRECTUS_URL}/admin/users/me
Merci de remplir les informations avant le 10 janvier 2022.
Si vous avez un souci vous pouvez retrouver une fiche explicative à cette adresse https://md.weko.io/contenu_cremeaux_fr
ou envoyez un mail à com@cremeaux.fr
Cordialement,
--
Simon CONSTANS pour la commission communication de la municipalité de Crémeaux.`
// "Hello world?", // plain text body
// html: "<b>Hello world?</b>", // html body
});
}
}
async function main() {
// await associationsCreate()
const cremeaux = new Cremeaux()
const associations = JSON.parse(fs.readFileSync('./associations.json', 'utf8'))
// const associations = await cremeaux.assocationsReadMany()
for (const association of associations) {
// if (association.prenom == 'Sandra') {
console.log(`Traitement de ${association.denomination} :`)
let user = { id: '9f4578b3-22b9-4b1d-91ca-eaf4fbc84a1e' }
let password = ''
if (association.mail) {
association.password = crypto.createHash('sha256').update(association.mail, 'utf8').digest('hex').substring(association.mail.lenght, 10)
// Création de l'utilisateur
user = await cremeaux.userCreate(association)
console.log(`- L'utilisateur '${user.email}' a été créé avec le mot de passe '${password}'.`)
}
// Création du bulletin
const bulletin = await cremeaux.bulletinCreate(association, user);
console.log(`- Le bulletin de l'association ${bulletin.titre} a été créé.`)
// Création d'une association
const asso = await cremeaux.associationCreate(association, user);
console.log(`- L'association ${asso.denomination} a été créé.`)
if (association.mail) {
// Envoi d'un mail
const mail = await cremeaux.sendMail(association, bulletin, asso)
console.log(mail)
}
// }
}
}
main().catch(console.error);

View File

@ -1,6 +0,0 @@
---
- first_name: Test
last_name: Test
email: simon@lamelio.fr
password: test

View File

@ -1,118 +0,0 @@
{
"name": "cremeaux",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "cremeaux",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@directus/sdk": "^9.1.2",
"js-yaml": "^4.1.0",
"nodemailer": "^6.7.2"
}
},
"node_modules/@directus/sdk": {
"version": "9.1.2",
"resolved": "https://registry.npmjs.org/@directus/sdk/-/sdk-9.1.2.tgz",
"integrity": "sha512-rh/57egsojAvA2Kqvie0UZzASXEcB43264c/9qzeg0sKHcd57sksfYeBO4/RO8DlBPLdaMK4l477/njRpJQKmg==",
"dependencies": {
"axios": "^0.24.0"
}
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"node_modules/axios": {
"version": "0.24.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
"dependencies": {
"follow-redirects": "^1.14.4"
}
},
"node_modules/follow-redirects": {
"version": "1.14.5",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
"integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/nodemailer": {
"version": "6.7.2",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
"integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==",
"engines": {
"node": ">=6.0.0"
}
}
},
"dependencies": {
"@directus/sdk": {
"version": "9.1.2",
"resolved": "https://registry.npmjs.org/@directus/sdk/-/sdk-9.1.2.tgz",
"integrity": "sha512-rh/57egsojAvA2Kqvie0UZzASXEcB43264c/9qzeg0sKHcd57sksfYeBO4/RO8DlBPLdaMK4l477/njRpJQKmg==",
"requires": {
"axios": "^0.24.0"
}
},
"argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"axios": {
"version": "0.24.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
"requires": {
"follow-redirects": "^1.14.4"
}
},
"follow-redirects": {
"version": "1.14.5",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
"integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA=="
},
"js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"requires": {
"argparse": "^2.0.1"
}
},
"nodemailer": {
"version": "6.7.2",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
"integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q=="
}
}
}

View File

@ -1,18 +0,0 @@
{
"name": "cremeaux",
"version": "1.0.0",
"description": "Script pour gérer le site de Crémeaux",
"main": "index.js",
"type": "module",
"scripts": {
"directus-users-create": "node directus-users-create.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@directus/sdk": "^9.1.2",
"js-yaml": "^4.1.0",
"nodemailer": "^6.7.2"
}
}

Binary file not shown.