diff --git a/app/assets/scss/base/_typo.scss b/app/assets/scss/base/_typo.scss
new file mode 100644
index 0000000..3bd9d71
--- /dev/null
+++ b/app/assets/scss/base/_typo.scss
@@ -0,0 +1,4 @@
+.gros_chiffres {
+ font-size: var(--fs-18);
+ font-weight: var(--fw-black);
+}
\ No newline at end of file
diff --git a/app/assets/scss/component/_fiche.scss b/app/assets/scss/component/_fiche.scss
new file mode 100644
index 0000000..b15792f
--- /dev/null
+++ b/app/assets/scss/component/_fiche.scss
@@ -0,0 +1,283 @@
+ .fiche_header_wp {
+ display: grid;
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-template-columns: 1fr;
+ grid-template-rows: auto 510px 20px 200px;
+ padding-top: 40px;
+ }
+ @media (min-width: 600px) {
+ grid-template-columns: minmax(10px, 10px) 580px 0px;
+ grid-template-rows: 40px 280px 20px 230px;
+ }
+ @media (min-width: 700px) {
+ grid-template-columns: minmax(10px, 10px) 660px 0px;
+ grid-template-rows: 70px 250px 90px 300px;
+ }
+ @media (min-width: 800px) {
+ grid-template-columns: minmax(10px, 10px) 780px minmax(10px, 10px);
+ grid-template-rows: 60px 280px 70px 300px;
+ }
+ @media (min-width: 900px) {
+ grid-template-columns: minmax(10px, 10px) 860px minmax(10px, 10px);
+ grid-template-rows: 90px 340px 100px 250px;
+ }
+ @media (min-width: 1000px) {
+ grid-template-columns: minmax(20px, auto) 950px minmax(10px, auto);
+ grid-template-rows: 90px 340px 120px 270px;
+ }
+ @media (min-width: 1100px) {
+ grid-template-columns: minmax(20px, auto) 1020px minmax(20px, auto);
+ grid-template-rows: 90px 340px 140px 290px;
+ }
+ @media (min-width: 1200px) {
+ grid-template-columns: minmax(20px, auto) 1100px minmax(20px, auto);
+ grid-template-rows: 90px 340px 160px 330px;
+ }
+ @media (min-width: 1300px) {
+ grid-template-columns: minmax(20px, auto) 1200px minmax(20px, auto);
+ grid-template-rows: 90px 340px 160px 330px;
+ }
+ @media (min-width: 1400px) {
+ grid-template-columns: minmax(20px, auto) 1300px minmax(20px, auto);
+ grid-template-rows: 90px 340px 160px 380px;
+ }
+ @media (min-width: 1500px) {
+ grid-template-columns: minmax(20px, auto) 1400px minmax(20px, auto);
+ grid-template-rows: 90px 340px 160px 380px;
+ }
+
+ .fiche_header_wp_gauche {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ display: none;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ }
+ }
+ .fiche_header_wp_gauche_carre {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ display: none;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ grid-row: 4;
+ }
+ background-color: var(--c-backgroud-black);
+ }
+ .fiche_header_wp_droite {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ display: none;
+ }
+ @media (min-width: 600px) {
+ grid-column: 3;
+ }
+ }
+
+ .fiche_header_inner {
+
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1;
+ grid-row: 1/5;
+ }
+ @media (min-width: 600px) {
+ grid-column: 2;
+ grid-row: 1/5;
+ }
+ display: grid;
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-template-columns: 4fr 1fr 0.5fr;
+ grid-template-rows: auto 510px 20px 200px;
+ }
+ @media (min-width: 600px) {
+ width: 575px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 40px 280px 20px 230px;
+ }
+ @media (min-width: 700px) {
+ width: 675px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 70px 250px 90px 300px;
+ }
+ @media (min-width: 800px) {
+ width: 780px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 60px 280px 70px 300px;
+ }
+ @media (min-width: 900px) {
+ width: 860px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 100px 250px;
+ }
+ @media (min-width: 1000px) {
+ width: 950px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 120px 270px;
+ }
+ @media (min-width: 1100px) {
+ width: 1020px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 140px 290px;
+ }
+ @media (min-width: 1200px) {
+ width: 1100px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 160px 330px;
+ }
+ @media (min-width: 1300px) {
+ width: 1200px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 160px 330px;
+ }
+ @media (min-width: 1400px) {
+ width: 1300px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 160px 380px;
+ }
+ @media (min-width: 1500px) {
+ width: 1400px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 160px 380px;
+ }
+ @media (min-width: 1600px) {
+ width: 1400px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 160px 380px;
+ }
+ @media (min-width: 1700px) {
+ width: 1400px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 160px 380px;
+ }
+ @media (min-width: 1800px) {
+ width: 1400px;
+ grid-template-columns: 4fr 0.5fr 0.5fr 6.5fr;
+ grid-template-rows: 90px 340px 160px 380px;
+ }
+ }
+
+ .fiche_header_titres {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1;
+ grid-row: 1;
+ padding-bottom: 20px;
+ padding-left: 10px;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ grid-row: 2;
+ }
+ display: grid;
+ align-content: start;
+ gap: 0.75rem;
+ h1 {
+ font-size: 55px;
+ @media (min-width: 0px) and (max-width: 600px) {
+ font-size: 25px;
+ }
+ @media (min-width: 600px) {
+ font-size: 25px;
+ }
+ @media (min-width: 700px) {
+ font-size: 30px;
+ }
+ @media (min-width: 800px) {
+ font-size: 30px;
+ }
+ @media (min-width: 900px) {
+ font-size: 40px;
+ }
+ @media (min-width: 1000px) {
+ font-size: 40px;
+ }
+ @media (min-width: 1100px) {
+ font-size: 40px;
+ }
+ @media (min-width: 1200px) {
+ font-size: 50px;
+ }
+ @media (min-width: 1300px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1400px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1500px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1600px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1700px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1800px) {
+ font-size: 55px;
+ }
+ }
+ }
+
+ .fiche_header_img {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1 / 4;
+ grid-row: 2 / 4;
+ }
+ @media (min-width: 600px) {
+ grid-column: 3 / 5;
+ grid-row: 1 / 5;
+ }
+ overflow: hidden;
+ .ds-media {
+ height: 100%;
+ }
+ }
+
+ .fiche_header_infos {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1 / 2;
+ grid-row: 4;
+ margin-top: -30px;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ grid-row: 4;
+ }
+ display: grid;
+ align-content: center;
+ justify-content: end;
+
+ @media (min-width: 0px) and (max-width: 700px) {
+ gap: 7px;
+ }
+ @media (min-width: 700px) {
+ gap: 20px;
+ }
+
+ text-align: right;
+ .fiche_header_infos_genre {
+ font-weight: 900;
+
+ }
+ }
+ .fiche_header_bandeau {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1 / 3;
+ grid-row: 4;
+ margin-top: -30px;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1 / 4;
+ grid-row: 4;
+ }
+ background-color: var(--c-backgroud-black);
+ }
+ }
\ No newline at end of file
diff --git a/app/assets/scss/component/_galerie_photo.scss b/app/assets/scss/component/_galerie_photo.scss
new file mode 100644
index 0000000..3ee8f95
--- /dev/null
+++ b/app/assets/scss/component/_galerie_photo.scss
@@ -0,0 +1,42 @@
+ /* ============================ */
+ /* GALERIES */
+ /* ============================ */
+
+ .img-gallery_wp {
+ padding-bottom: 50px;
+ }
+
+ .img-gallery {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(220px, 520px));
+ gap: 1rem;
+ justify-content: center;
+ margin-top: 1.5rem;
+ width: 100%;
+ }
+
+ .img-gallery > * {
+ display: block;
+ width: 100%;
+ overflow: hidden;
+ border-radius: 5px;
+ }
+
+ .img-gallery :deep(.ds-media) {
+ display: block;
+ width: 100%;
+ height: auto;
+ background: transparent;
+ }
+
+ .img-gallery :deep(.ds-media__img) {
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ height: auto;
+ transition: transform 0.25s ease, box-shadow 0.25s ease;
+ }
+
+ .img-gallery :deep(.ds-media__img:hover) {
+ transform: scale(1.02);
+ }
\ No newline at end of file
diff --git a/app/assets/scss/component/_header_page_simple.scss b/app/assets/scss/component/_header_page_simple.scss
index 94fc9c0..7690278 100644
--- a/app/assets/scss/component/_header_page_simple.scss
+++ b/app/assets/scss/component/_header_page_simple.scss
@@ -234,9 +234,9 @@
}
overflow: hidden;
.ds-media {
- @media (min-width: 600px) {
- height: 100%;
- }
+ @media (min-width: 600px) {
+ height: 100%;
+ }
}
}
diff --git a/app/assets/scss/component/_header_page_titre.scss b/app/assets/scss/component/_header_page_titre.scss
new file mode 100644
index 0000000..b2fd657
--- /dev/null
+++ b/app/assets/scss/component/_header_page_titre.scss
@@ -0,0 +1,290 @@
+.fiche_header_titre_wp {
+ display: grid;
+ grid-template-rows: auto;
+ justify-content: center;
+ padding-bottom: 20px;
+
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-template-columns: 1fr;
+ padding-top: 40px;
+ }
+ @media (min-width: 600px) {
+ grid-template-columns: minmax(10px, 10px) 580px 0px;
+ }
+ @media (min-width: 700px) {
+ grid-template-columns: minmax(10px, 10px) 660px 0px;
+ }
+ @media (min-width: 800px) {
+ grid-template-columns: minmax(10px, 10px) auto minmax(10px, 10px);
+ }
+ @media (min-width: 900px) {
+ grid-template-columns: minmax(10px, 10px) 860px minmax(10px, 10px);
+ }
+ @media (min-width: 1000px) {
+ grid-template-columns: minmax(20px, auto) 950px minmax(10px, auto);
+ }
+ @media (min-width: 1100px) {
+ grid-template-columns: minmax(20px, auto) 1020px minmax(20px, auto);
+ }
+ @media (min-width: 1200px) {
+ grid-template-columns: minmax(20px, auto) 1100px minmax(20px, auto);
+ }
+ @media (min-width: 1300px) {
+ grid-template-columns: minmax(20px, auto) 1200px minmax(20px, auto);
+ }
+ @media (min-width: 1400px) {
+ grid-template-columns: minmax(20px, auto) 1300px minmax(20px, auto);
+ }
+ @media (min-width: 1500px) {
+ grid-template-columns: minmax(20px, auto) 1400px minmax(20px, auto);
+ }
+ .fiche_header_wp_gauche {
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ display: none;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ }
+ }
+ .fiche_header_wp_gauche_carre {
+ @media (min-width: 0px) and (max-width: 600px) {
+ display: none;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ grid-row: 4;
+ }
+ }
+ .fiche_header_wp_droite {
+ @media (min-width: 0px) and (max-width: 600px) {
+ display: none;
+ }
+ @media (min-width: 600px) {
+ grid-column: 3;
+ }
+ }
+
+ .fiche_header_inner {
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1;
+ grid-row: 1/3;
+ }
+ @media (min-width: 600px) {
+ grid-column: 2;
+ grid-row: 1/3;
+ }
+ display: grid;
+
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-template-columns: auto;
+ grid-template-rows: auto auto;
+ }
+ @media (min-width: 600px) {
+ width: 575px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 700px) {
+ width: 675px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 800px) {
+ width: 780px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 900px) {
+ width: 860px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1000px) {
+ width: 950px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1100px) {
+ width: 1020px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1200px) {
+ width: 1100px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1300px) {
+ width: 1200px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1400px) {
+ width: 1300px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1500px) {
+ width: 1400px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1600px) {
+ width: 1400px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1700px) {
+ width: 1400px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ @media (min-width: 1800px) {
+ width: 1400px;
+ grid-template-columns: auto;
+ grid-template-rows: 40px auto;
+ }
+ }
+
+ .fiche_header_titres {
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1;
+ grid-row: 1;
+ padding-bottom: 20px;
+ padding-left: 10px;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ grid-row: 2;
+ }
+ display: grid;
+ align-content: start;
+ gap: 0.75rem;
+
+
+ h1 {
+ max-width: 1000px;
+ font-size: 55px;
+ @media (min-width: 0px) and (max-width: 600px) {
+ font-size: 25px;
+ }
+ @media (min-width: 600px) {
+ font-size: 25px;
+ }
+ @media (min-width: 700px) {
+ font-size: 30px;
+ }
+ @media (min-width: 800px) {
+ font-size: 30px;
+ }
+ @media (min-width: 900px) {
+ font-size: 40px;
+ }
+ @media (min-width: 1000px) {
+ font-size: 40px;
+ }
+ @media (min-width: 1100px) {
+ font-size: 40px;
+ }
+ @media (min-width: 1200px) {
+ font-size: 50px;
+ }
+ @media (min-width: 1300px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1400px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1500px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1600px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1700px) {
+ font-size: 55px;
+ }
+ @media (min-width: 1800px) {
+ font-size: 55px;
+ }
+ }
+ p {
+ max-width: 475px;
+ }
+ }
+
+ .fiche_header_img {
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1 / 4;
+ grid-row: 2 / 3;
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ @media (min-width: 600px) {
+ grid-column: 3 / 5;
+ grid-row: 1 / 3;
+ }
+ overflow: hidden;
+ .ds-media {
+ @media (min-width: 600px) {
+ height: 100%;
+ }
+ }
+ }
+
+ .fiche_header_infos {
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1 / 2;
+ grid-row: 4;
+ margin-top: -30px;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1;
+ grid-row: 4;
+ }
+ display: grid;
+ align-content: center;
+ justify-content: end;
+
+ @media (min-width: 0px) and (max-width: 700px) {
+ gap: 7px;
+ }
+ @media (min-width: 700px) {
+ gap: 20px;
+ }
+
+ text-align: right;
+ .fiche_header_infos_genre {
+ font-weight: 900;
+
+ }
+ }
+ .fiche_header_bandeau {
+ @media (min-width: 0px) and (max-width: 600px) {
+ grid-column: 1 / 3;
+ grid-row: 4;
+ margin-top: -30px;
+ }
+ @media (min-width: 600px) {
+ grid-column: 1 / 4;
+ grid-row: 4;
+ }
+ background-color: var(--c-backgroud-black);
+ }
+
+ .fiche_description > * {
+ max-width: 640px;
+ display: flex;
+ flex-direction: column;
+ }
+ .fiche_description {
+ .page-section--inner {
+ @media (max-width: 599px) {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ }
+ }
+}
diff --git a/app/assets/scss/main.scss b/app/assets/scss/main.scss
index db932dc..7037fcd 100644
--- a/app/assets/scss/main.scss
+++ b/app/assets/scss/main.scss
@@ -5,6 +5,7 @@
@use 'base/button';
@use 'base/img';
@use 'base/fonts';
+@use 'base/typo';
@use 'base/spaces';
@@ -16,4 +17,7 @@
@use 'component/_header_layout';
@use 'component/header_nav';
-@use 'component/header_page_simple';
\ No newline at end of file
+@use 'component/header_page_simple';
+@use 'component/header_page_titre';
+@use 'component/_galerie_photo';
+@use 'component/fiche';
\ No newline at end of file
diff --git a/app/components/ContactSpecifique.vue b/app/components/ContactSpecifique.vue
index ecac4e3..02312a9 100644
--- a/app/components/ContactSpecifique.vue
+++ b/app/components/ContactSpecifique.vue
@@ -9,6 +9,7 @@
{{ poste }}
{{ numero }}
{{ mail }}
+ {{ adresse }}
@@ -17,26 +18,12 @@
import DsHeading from '@root/design-system/primitives/DsHeading.vue'
defineProps({
- titre: {
- type: String,
- required: true
- },
- nom: {
- type: String,
- required: true
- },
- poste: {
- type: String,
- required: true
- },
- numero: {
- type: String,
- required: true
- },
- mail: {
- type: String,
- required: true
- }
+ titre: { type: String, required: true },
+ nom: { type: String, required: true },
+ poste: { type: String, required: true },
+ numero: { type: String, required: true },
+ mail: { type: String, required: true },
+ adresse: { type: String, required: true}
})
diff --git a/app/components/FilteredCards.vue b/app/components/FilteredCards.vue
index 7e18482..ee09f09 100644
--- a/app/components/FilteredCards.vue
+++ b/app/components/FilteredCards.vue
@@ -78,9 +78,7 @@
// Variable qui contient les catégories qui permettront de filtrer
const filters = [
{ key: 'famille', label: 'Famille' },
- { key: 'lieux', label: 'Lieux' },
- { key: 'ateliers', label: 'Ateliers' },
- { key: 'musique', label: 'Musique' },
+ { key: 'rencontre', label: 'Rencontres' },
]
// variable pour donner le filtre actif
// filtre par défaut : le premier
@@ -99,49 +97,47 @@
descriptionHtml: `Tu as moins de 28 ans ? Paie 6 € la place dès 3 concerts de l’Orchestre à la Philharmonie de Paris
🔴 Ile de France | Ministère de la culture
🎨 Agence belleville.eu`,
- tags: ['musique','famille'],
+ tags: ['famille'],
},
{
id: 'insta-2',
imgSrc: '/contenus/insta_ondif_2.jpg',
imgAlt: 'le titre du post',
- title: "✨ Tous à l’orchestre ! Un début de saison qui fait vibrer l’Ondif 🎶",
- descriptionHtml: `Des lycéens conquis par Rachmaninov aux premières rencontres à Montereau, des petites oreilles émerveillées aux ateliers de Marly-la-Ville, sans oublier la musique portée jusqu'aux hôpitaux.
- Et plus de 250 choristes rassemblés pour le "Chantons avec" Alice Swing !
- Quelle énergie ❤️`,
- tags: ['famille', 'ateliers', 'musique', 'lieux'],
+ title: "✨ Tous à l’orchestre !",
+ descriptionHtml: `Ces dernières semaines, l’Orchestre a vibré bien au-delà de la scène, au fil d’actions culturelles et éducatives riches en échanges et en découvertes.
+ Entre ateliers d’enregistrement, éveil musical, et rencontres avec les musiciens de l’orchestre, chaque instant a permis de créer du lien et de faire vivre la musique autrement.
+ Des expériences au plus près des publics et des territoires, où la musique devient transmission, curiosité et émotion partagée.
+ Retour en images sur ces instants qui font vivre l’Orchestre.🎶✨`,
+ tags: ['famille'],
},
{
id: 'insta-3',
imgSrc: '/contenus/insta_ondif_3.jpg',
imgAlt: 'le titre du post',
- title: "L'Orchestre en résidence à Montereau",
- descriptionHtml: `Notre équipe a rencontré les élèves de Montereau pour un premier atelier au Conservatoire municipal de musique Gaston Litaize`,
- tags: ['lieux', 'ateliers', 'famille'],
+ title: "✨ Ça c’est fait ! Retour sur février et mars ✨",
+ descriptionHtml: `Ces deux derniers mois, l’Orchestre a surpris son public à chaque instant !
+ Entre concerts symphoniques, spectacles mêlant danse et musique, et concerts commentés, nous avons eu le plaisir d’offrir des expériences inédites et reçu des retours enthousiastes de spectateurs conquis.
+ Retour en images sur ces temps forts qui font vibrer l’Orchestre ! 🎶`,
+ tags: ['rencontre'],
},
{
- id: 'insta-3',
- imgSrc: '/contenus/insta_ondif_3.jpg',
+ id: 'insta-4',
+ imgSrc: '/contenus/insta_ondif_4.jpg',
imgAlt: 'le titre du post',
- title: "L'Orchestre en résidence à Montereau",
- descriptionHtml: `Notre équipe a rencontré les élèves de Montereau pour un premier atelier au Conservatoire municipal de musique Gaston Litaize`,
- tags: ['lieux', 'ateliers', 'famille'],
+ title: "✨ Tous à l’orchestre !",
+ descriptionHtml: `Ces dernières semaines ont été intenses et inspirantes du côté de l’action culturelle et éducative de l’Orchestre.
+ Entre ateliers d’enregistrement sonore, découverte de la lutherie, répétitions commentées et musique à l’hôpital, les rencontres se sont multipliées, au plus près des publics et des territoires.
+ Retour en images sur ces expériences qui font vivre l’Orchestre 🎶`,
+ tags: ['famille'],
},
{
- id: 'insta-3',
- imgSrc: '/contenus/insta_ondif_3.jpg',
+ id: 'insta-5',
+ imgSrc: '/contenus/insta_ondif_5.jpg',
imgAlt: 'le titre du post',
- title: "L'Orchestre en résidence à Montereau",
- descriptionHtml: `Notre équipe a rencontré les élèves de Montereau pour un premier atelier au Conservatoire municipal de musique Gaston Litaize`,
- tags: ['lieux', 'ateliers', 'famille'],
- },
- {
- id: 'insta-3',
- imgSrc: '/contenus/insta_ondif_3.jpg',
- imgAlt: 'le titre du post',
- title: "L'Orchestre en résidence à Montereau",
- descriptionHtml: `Notre équipe a rencontré les élèves de Montereau pour un premier atelier au Conservatoire municipal de musique Gaston Litaize`,
- tags: ['lieux', 'ateliers', 'famille'],
+ title: "✨ Ça c’est fait ! Retour sur décembre et janvier ✨",
+ descriptionHtml: `Entre concerts symphoniques, soirées à l’opéra, et musique de chambre, nous avons eu le plaisir de partager des univers variés et de rencontrer un public toujours plus curieux et enthousiaste.
+ Retour en images sur ces temps forts qui font vibrer l’Ondif ! 🎶`,
+ tags: ['rencontre'],
},
])
@@ -234,7 +230,7 @@
}
@media (min-width: 1440px) {
&--card {
- width: clamp(360px, 28vw, 560px);
+ width: clamp(360px, 26vw, 560px);
}
}
}
diff --git a/app/components/RoundedCardBlocText.vue b/app/components/RoundedCardBlocText.vue
new file mode 100644
index 0000000..dd577aa
--- /dev/null
+++ b/app/components/RoundedCardBlocText.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+ {{ title }}
+
+
+
+ {{ description }}
+
+
+
+
+
+
+
+
+
+
diff --git a/app/components/RoundedCardBlocTextList.vue b/app/components/RoundedCardBlocTextList.vue
new file mode 100644
index 0000000..ee13739
--- /dev/null
+++ b/app/components/RoundedCardBlocTextList.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
diff --git a/app/components/SquareCardBlocText.vue b/app/components/SquareCardBlocText.vue
index c2c5216..3ef1e6d 100644
--- a/app/components/SquareCardBlocText.vue
+++ b/app/components/SquareCardBlocText.vue
@@ -8,8 +8,13 @@
-
- {{ title }}
+
+
+ {{ title }}
+
+
+
+ {{ title }}
@@ -64,6 +69,20 @@
.square-card__meta {
margin-top: calc(var(--sp-4) * -1);
}
+
+ .square-card__title-link {
+ color: inherit;
+ text-decoration: none;
+ }
+
+ .square-card__title-link:hover,
+ .square-card__title-link:focus-visible {
+ color: var(--c-brand_rouge) !important;
+ .ds-heading--default {
+ color: var(--c-brand_rouge) !important;
+ }
+ }
+
.square-card__description {
margin-top: 10px;
margin-bottom: 20px;
@@ -72,4 +91,4 @@
margin-top: auto;
}
-
\ No newline at end of file
+
diff --git a/app/components/header/HeaderNav.vue b/app/components/header/HeaderNav.vue
index c7256fd..d363b1b 100644
--- a/app/components/header/HeaderNav.vue
+++ b/app/components/header/HeaderNav.vue
@@ -39,7 +39,7 @@
@@ -168,7 +168,7 @@
diff --git a/app/components/section/Decalage.vue b/app/components/section/Decalage.vue
index 9faff41..ef681b6 100644
--- a/app/components/section/Decalage.vue
+++ b/app/components/section/Decalage.vue
@@ -60,7 +60,9 @@
diff --git a/app/components/section/SectionTitle.vue b/app/components/section/SectionTitle.vue
index b8bf744..f4b8bef 100644
--- a/app/components/section/SectionTitle.vue
+++ b/app/components/section/SectionTitle.vue
@@ -22,8 +22,6 @@
diff --git a/app/pages/index copie 2.vue b/app/pages/index copie 2.vue
deleted file mode 100644
index 0a6f99b..0000000
--- a/app/pages/index copie 2.vue
+++ /dev/null
@@ -1,510 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- CONCERTS À VENIR …
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- L’ORCHESTRE NATIONAL D'ÎLE-DE-FRANCE
-
-
-
-
-
-
-
-
- Découvrir les musiciens
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PARTOUT ET POUR TOUS
-
-
-
- Les 95 musiciennes et musiciens proposent chaque saison plus de 120 concerts dans des salles et théâtres, des lieux culturels et des espaces atypiques de la région francilienne. Porté par une forte mission territoriale, l’orchestre s’engage à rendre la musique symphonique accessible à toutes et tous, en la faisant vivre au plus près des habitants grâce notamment à des actions culturelles, pédagogiques et participatives au cœur du territoire.
-
-
-
- Carte des événements
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TOUS À L’ORCHESTRE
-
-
-
- Phrase d’accroche / explicative de cette rubrique par tous et pour tous
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ACTUALITÉS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ONDIF MAG
-
-
-
- Le magazine en ligne de l’Orchestre national d’Île-de-France vous invite à découvrir l’actualité des concerts de l’orchestre, des interprètes, des chefs et cheffes, de la création contemporaine et des projets de l’ONDIF sur le territoire francilien et au-delà. Portraits de musiciens, de compositeurs, d’artistes invités, décryptages d’œuvres, partez à la découverte de l’actualité musicale !
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- L'ORCHESTRE POUR LES PROS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/pages/index copie.vue b/app/pages/index copie.vue
deleted file mode 100644
index 0f93607..0000000
--- a/app/pages/index copie.vue
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
- CONCERTS À VENIR...
-
-
-
-
-
- PAR TOUS ET POUR TOUS
-
-
-
-
-
-
-
-
-
-
diff --git a/app/pages/index.vue b/app/pages/index.vue
index 899a12f..7283c7c 100644
--- a/app/pages/index.vue
+++ b/app/pages/index.vue
@@ -37,7 +37,7 @@
-
+
@@ -52,7 +52,7 @@
- Faire vivre la musique symphonique au coeur du territoire et la rendre accessible à toutes et tous : telle est la mission de nos 95 musiciennes et musiciens. L'Orchestre donne 120 concerts par saison dans les 8 départements d'Île-de-France, dans des salles tradionnelles aux lieux les plus divers.
+ Faire vivre la musique symphonique au coeur du territoire et la rendre accessible à toutes et tous : telle est la mission de nos 95 musiciennes et musiciens. L'Orchestre donne 120 concerts par saison dans les 8 départements d'Île-de-France, dans des salles tradionnelles aux lieux les plus divers.
@@ -64,11 +64,23 @@
-
-
-
-
-
+
+
+
+
+
@@ -226,6 +238,43 @@
}
})
+
+
+ //--------------------------------------------------------------------------
+ // DONNÉES POUR LES CARTES PARTOUT ET POUR TOUS
+ //--------------------------------------------------------------------------
+
+ const cards_ppt = ref([
+ {
+ id: '1',
+ imgSrc: '/contenus/actu1_1.jpg',
+ imgAlt: 'Femme en mouvement tenant deux cymbales, l’une devant elle et l’autre derrière, sur fond de mur blanc, dans une posture dynamique évoquant la musique et le rythme',
+ title: "Le nouvelle saison arrive !",
+ description: `Ce lundi 13 avril c'est le jour de sortie de la nouvelle saison 2026/2027 !`,
+ url:"https://www.orchestre-ile.com/concerts/saison?saison=2026/2027",
+ },
+ {
+ id: '2',
+ imgSrc: '/contenus/actu1_1.jpg',
+ imgAlt: 'Femme en mouvement tenant deux cymbales, l’une devant elle et l’autre derrière, sur fond de mur blanc, dans une posture dynamique évoquant la musique et le rythme',
+ title: "Le nouvelle saison arrive !",
+ description: `Ce lundi 13 avril c'est le jour de sortie de la nouvelle saison 2026/2027 !`,
+ url:"https://www.orchestre-ile.com/concerts/saison?saison=2026/2027",
+ },
+ {
+ id: '3',
+ imgSrc: '/contenus/actu1_1.jpg',
+ imgAlt: 'Femme en mouvement tenant deux cymbales, l’une devant elle et l’autre derrière, sur fond de mur blanc, dans une posture dynamique évoquant la musique et le rythme',
+ title: "Le nouvelle saison arrive !",
+ description: `Ce lundi 13 avril c'est le jour de sortie de la nouvelle saison 2026/2027 !`,
+ url:"https://www.orchestre-ile.com/concerts/saison?saison=2026/2027",
+ },
+ ])
+
+
+
+
+
//--------------------
// DONNÉES POUR LES ACTUS
//--------------------
@@ -233,35 +282,35 @@
{
id: '1',
imgSrc: '/contenus/actu1_1.jpg',
- imgAlt: 'Les prochains concours',
- title: "Les prochains concours",
- description: `Inscrivez-vous aux auditions de l'Orchestre national d'Île-de-France.
- Un nombre maximum de caractère sera défini pour le texte qui figure dans la description de l’actu sur la page d’accueil.`,
- url:"#",
+ imgAlt: 'Femme en mouvement tenant deux cymbales, l’une devant elle et l’autre derrière, sur fond de mur blanc, dans une posture dynamique évoquant la musique et le rythme',
+ title: "Le nouvelle saison arrive !",
+ description: `Ce lundi 13 avril c'est le jour de sortie de la nouvelle saison 2026/2027 !`,
+ url:"https://www.orchestre-ile.com/concerts/saison?saison=2026/2027",
},
{
id: '2',
- imgSrc: '/contenus/actu1_1.jpg',
- imgAlt: 'Du sur-mesure pour les petites oreilles',
- title: "Du sur-mesure pour les petites oreilles",
- description: `Les ateliers 0-3 ans sont de retour !`,
- url:"#",
- },
- {
- id: '3',
- imgSrc: '/contenus/actu1_1.jpg',
+ imgSrc: '/contenus/academie_orchestre_26.jpg',
imgAlt: "Académie d'Orchestre 2026",
title: "Académie d'Orchestre 2026",
description: `Les ateliers 0-3 ans sont de retour !`,
- url:"#",
+ url:"https://www.orchestre-ile.com/mediation/academie",
},
+ {
+ id: '3',
+ imgSrc: '/contenus/atelier0-3ans.jpg',
+ imgAlt: 'Du sur-mesure pour les petites oreilles',
+ title: "Du sur-mesure pour les petites oreilles",
+ description: `Les ateliers 0-3 ans sont de retour !`,
+ url:"",
+ },
+
{
id: '4',
- imgSrc: '/contenus/actu1_1.jpg',
+ imgSrc: '/contenus/pablo_gonzalez.jpg',
imgAlt: "Pablo González, nouveau directeur musical pour la saison 27.28",
title: "Pablo González, nouveau directeur musical pour la saison 27.28",
description: ``,
- url:"#",
+ url:"",
},
])
@@ -297,7 +346,7 @@
}
.remonter_bloc_dessous {
// parce que le bloc du dessus à un transform: translateY(-170px); alors cela laisse un espace vide que l'on comble avec ce margin-top négatif
- margin-top: -170px;
+ margin-top: -110px;
}
.photo_orchestre_wp {
@@ -321,10 +370,6 @@
// PARTOUT ET POUR TOUS
//========================
- .theme_ppt_wp {
- margin-bottom: 50px;
-
- }
.theme_ppt {
display: grid;
@@ -356,94 +401,17 @@
&--txt {
margin-bottom: 35px;
}
+
+ }
+ .theme_ppt_cards_wp {
+ padding-top: 30px;
+ padding-bottom: 80px;
}
//========================
// TOUS A L'ORCHESTRE
//========================
- .theme_tao {
- margin-bottom: 50px;
- &--description {
- max-width: 800px;
-
- }
- &--txt {
- margin-bottom: 35px;
- }
- &--filters {
- display: flex;
- flex-wrap: wrap;
- column-gap: 10px;
- row-gap: 14px;
-
- }
- &--cardlist {
- margin-top: 20px;
-
- &--card {
- background-color: var(--c-surface);
- border-radius: 10px;
- //padding: 50px;
- padding: clamp(18px, 2.4vw, 32px);
-
- &--wp {
- display: flex;
- flex-direction: column;
- align-items: center;
- }
- &--img {
- max-width: 280px;
- overflow: hidden;
- img {
- max-height: 280px;
- }
- @media (min-width: 400px) {
- img {
- max-height: 350px;
- }
- }
-
- }
- &--content {
- max-width: 320px;
- padding-top: 20px;
- }
- }
-
-
- &--card {
- /* base: mobile-first */
- width: clamp(260px, 81vw, 360px);
- }
- @media (min-width: 400px) {
- &--card {
- width: clamp(260px, 80vw, 360px);
- }
- }
- @media (min-width: 500px) {
- &--card {
- width: clamp(280px, 63vw, 460px);
- }
- }
- @media (min-width: 700px) {
- &--card {
- width: clamp(280px, 60vw, 460px);
- }
- }
- @media (min-width: 1024px) {
- &--card {
- width: clamp(320px, 33vw, 520px);
- }
- }
- @media (min-width: 1440px) {
- &--card {
- width: clamp(360px, 28vw, 560px);
- }
- }
- }
-
- }
//========================
// MAGAZINE
diff --git a/app/pages/mecenat/entreprises.vue b/app/pages/mecenat/entreprises.vue
index ba25ca3..7e24f77 100644
--- a/app/pages/mecenat/entreprises.vue
+++ b/app/pages/mecenat/entreprises.vue
@@ -1,13 +1,266 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t.decalage_titre }}
+
+
+ {{ t.decalage_texte }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+ /* ============================ */
+ /* GALERIES */
+ /* ============================ */
+
+
diff --git a/app/pages/mecenat/mecenes.vue b/app/pages/mecenat/mecenes.vue
index ba25ca3..8959328 100644
--- a/app/pages/mecenat/mecenes.vue
+++ b/app/pages/mecenat/mecenes.vue
@@ -1,13 +1,172 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+ padding-top: 30px;
+ padding-bottom: 80px;
+ img {
+ object-fit: contain;
+ }
+ }
+ @media (max-width: 599px) {
+ .theme_ppt_cards_wp {
+ margin-top: -620px;
+ }
+ }
+ }
+
+ /* ============================ */
+ /* GALERIES */
+ /* ============================ */
+
+
+
+
diff --git a/app/pages/mecenat/particuliers.vue b/app/pages/mecenat/particuliers.vue
index ba25ca3..9959cfe 100644
--- a/app/pages/mecenat/particuliers.vue
+++ b/app/pages/mecenat/particuliers.vue
@@ -1,13 +1,239 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t.decalage_titre }}
+
+
+ {{ t.decalage_texte }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+ /* ============================ */
+ /* GALERIES */
+ /* ============================ */
+
+
+
+
diff --git a/app/pages/mecenat/projets.vue b/app/pages/mecenat/projets.vue
index da75075..dd9fbfc 100644
--- a/app/pages/mecenat/projets.vue
+++ b/app/pages/mecenat/projets.vue
@@ -62,7 +62,7 @@
-
+
@@ -165,33 +166,11 @@ et de la programmation jeune public"
limit: 1,
}
)
- console.log("projets:", projets.value)
- watchEffect(() => {
- console.log("client ?", import.meta.client)
- console.log("server ?", import.meta.server)
- console.log("pending:", pending.value)
- console.log("error:", error.value)
- console.log("projets:", projets.value)
- })
-
- watchEffect(() => {
- if (!pending.value && projets.value?.length) {
- console.log("projets dans le watch effect:", projets.value)
- console.log("projets header_titre :", projets.value[0].header_titre)
- console.log("projets illustration url :", projets.value[0].header_illustration?.url)
-
- }
- })
-
- console.log("projets header_titre :", projets.value?.[0]?.header_titre)
// ======================================
// PRÉPARATION DES DONNÉES POUR AFFICHAGE DANS LA PAGE
// ======================================
const projets_donnees_servies = computed(() => projets.value?.[0] || {})
- watchEffect(() => {
- console.log("projets_donnees_servies JSON:", JSON.stringify(projets_donnees_servies.value, null, 2))
- })
const projetsChiffres = computed(() =>
(projets.value?.[0]?.chiffres_projets?.chiffres || []).map((item) => ({
@@ -239,11 +218,6 @@ et de la programmation jeune public"
}))
)
- watchEffect(() => {
- console.log("projetsChiffres JSON:", JSON.stringify(projetsChiffres.value, null, 2))
- console.log("tiroirs JSON:", JSON.stringify(tiroirs.value, null, 2))
- })
-
function getYoutubeId(url = "") {
try {
@@ -271,8 +245,7 @@ et de la programmation jeune public"
.fiche_description {
display: flex;
justify-content: center;
- padding-top: 10px;
- padding-bottom: 70px;
+ padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
> * {
diff --git a/app/pages/mecenat/valeurs.vue b/app/pages/mecenat/valeurs.vue
index 12e1f74..cb644de 100644
--- a/app/pages/mecenat/valeurs.vue
+++ b/app/pages/mecenat/valeurs.vue
@@ -56,7 +56,7 @@
-
+
-
-
-
-
-
-
-
-
-
@@ -159,33 +143,11 @@ et de la programmation jeune public"
limit: 1,
}
)
- console.log("valeurs:", valeurs.value)
- watchEffect(() => {
- console.log("client ?", import.meta.client)
- console.log("server ?", import.meta.server)
- console.log("pending:", pending.value)
- console.log("error:", error.value)
- console.log("valeurs:", valeurs.value)
- })
-
- watchEffect(() => {
- if (!pending.value && valeurs.value?.length) {
- console.log("valeurs dans le watch effect:", valeurs.value)
- console.log("valeurs header_titre :", valeurs.value[0].header_titre)
- console.log("valeurs illustration url :", valeurs.value[0].header_illustration[0].url)
-
- }
- })
-
- console.log("valeurs header_titre :", valeurs.value?.[0]?.header_titre)
// ======================================
// PRÉPARATION DES DONNÉES POUR AFFICHAGE DANS LA PAGE
// ======================================
const valeurs_donnees_servies = computed(() => valeurs.value?.[0] || {})
- watchEffect(() => {
- console.log("valeurs_donnees_servies JSON:", JSON.stringify(valeurs_donnees_servies.value, null, 2))
- })
const valeursChiffres = computed(() =>
(valeurs.value?.[0]?.chiffres_valeurs?.chiffres || []).map((item) => ({
@@ -228,12 +190,6 @@ et de la programmation jeune public"
}))
)
- watchEffect(() => {
- console.log("valeursChiffres JSON:", JSON.stringify(valeursChiffres.value, null, 2))
- console.log("tiroirs JSON:", JSON.stringify(tiroirs.value, null, 2))
- })
-
-
function getYoutubeId(url = "") {
try {
const u = new URL(url)
@@ -260,8 +216,7 @@ et de la programmation jeune public"
.fiche_description {
display: flex;
justify-content: center;
- padding-top: 10px;
- padding-bottom: 70px;
+ padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
> * {
diff --git a/app/pages/mediation/academie.vue b/app/pages/mediation/academie.vue
new file mode 100644
index 0000000..d2d5f7c
--- /dev/null
+++ b/app/pages/mediation/academie.vue
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t.decalage_titre }}
+
+
+ {{ t.decalage_texte }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/mediation/amateurs.vue b/app/pages/mediation/amateurs.vue
deleted file mode 100644
index ba25ca3..0000000
--- a/app/pages/mediation/amateurs.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/pages/mediation/chantons.vue b/app/pages/mediation/chantons.vue
index 7282741..8dca01b 100644
--- a/app/pages/mediation/chantons.vue
+++ b/app/pages/mediation/chantons.vue
@@ -1,13 +1,241 @@
-
- Chantons avec l'Orchestre : En cours de construction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t.decalage_titre }}
+
+
+ {{ t.decalage_texte }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+ /* ============================ */
+ /* GALERIES */
+ /* ============================ */
+
+
+
+
diff --git a/app/pages/mediation/insertion-pro.vue b/app/pages/mediation/insertion-pro.vue
deleted file mode 100644
index dd7c2d1..0000000
--- a/app/pages/mediation/insertion-pro.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- Partenariat Grandes Écoles : En cours de construction
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/pages/mediation/scolaires copie.vue b/app/pages/mediation/partenariat-grandes-ecoles.vue
similarity index 69%
rename from app/pages/mediation/scolaires copie.vue
rename to app/pages/mediation/partenariat-grandes-ecoles.vue
index a54e5b5..ea256a3 100644
--- a/app/pages/mediation/scolaires copie.vue
+++ b/app/pages/mediation/partenariat-grandes-ecoles.vue
@@ -1,5 +1,5 @@
-