{
  "projects": [
    {
      "slug": "artik-designs",
      "link": "/artik-designs",
      "list": {
        "imageUrl": "../assets/images/artik-designs-site.jpg",
        "imageAlt": "Capture d’écran du site public Artik Designs",
        "titleKey": "projects.artikDesigns.title",
        "typeKey": "projects.artikDesigns.type.without",
        "dateKey": "projects.artikDesigns.date.without",
        "imageAltEn": "Screenshot of the public Artik Designs website",
        "imagePosition": "top"
      },
      "page": {
        "titleKey": "projects.artikDesigns.title",
        "descriptionKey": "projects.artikDesigns.description",
        "typeKey": "projects.artikDesigns.type",
        "dateKey": "projects.artikDesigns.date",
        "imageUrl": "../assets/images/artik-designs-site.jpg",
        "imageAlt": "Capture du catalogue de produits sur le site public Artik Designs",
        "contentTitleKey": "projects.artikDesigns.content.title",
        "contentDescriptionKey": "projects.artikDesigns.content.description",
        "contentImageUrl": "../assets/images/artik-designs-hero.jpg",
        "contentImageAlt": "Séparateur de tiroir Artik Designs présenté avec des ustensiles de cuisine",
        "ctaTextKey": "projects.artikDesigns.cta",
        "ctaLink": "https://artikdesigns.com/",
        "secondaryCtaTextKey": "projects.artikDesigns.generatorCta",
        "secondaryCtaLink": "/artik-generator",
        "imageWidth": 1440,
        "imageHeight": 1000,
        "imageAltEn": "Product catalog on the public Artik Designs website",
        "contentImageAltEn": "Artik Designs drawer divider shown with kitchen utensils",
        "imageUrlMobile": "../assets/images/artik-designs-site-mobile.jpg",
        "imageMobileWidth": 390,
        "imageMobileHeight": 844
      }
    },
    {
      "slug": "artik-generator",
      "link": "/artik-generator",
      "appAccess": "private",
      "list": {
        "imageUrl": "../assets/images/artik-generator-workspace-private-20260928.webp",
        "imageSupplementUrl": "../assets/images/artik-generator-3d-safe-20260928.webp",
        "imageAlt": "Capture de l\u2019\u00e9diteur du g\u00e9n\u00e9rateur Artik avec un aper\u00e7u 3D du s\u00e9parateur de d\u00e9monstration",
        "imageAltEn": "Artik Generator editor with a 3D preview of a demo drawer divider",
        "titleKey": "projects.artikGenerator.title",
        "typeKey": "projects.artikGenerator.type.without",
        "dateKey": "projects.artikGenerator.date.without"
      },
      "page": {
        "titleKey": "projects.artikGenerator.title",
        "descriptionKey": "projects.artikGenerator.description",
        "typeKey": "projects.artikGenerator.type",
        "dateKey": "projects.artikGenerator.date",
        "imageUrl": "../assets/images/artik-generator-custom-step-safe-20260928.webp",
        "imageAlt": "Étape du générateur Artik montrant le choix d’un séparateur sur mesure",
        "imageAltEn": "Artik Generator step for choosing a custom drawer divider",
        "imageWidth": 390,
        "imageHeight": 700,
        "contentTitleKey": "projects.artikGenerator.setup.title",
        "contentDescriptionKey": "projects.artikGenerator.setup.description",
        "sections": [
          {
            "titleKey": "projects.artikGenerator.layout.title",
            "descriptionKey": "projects.artikGenerator.layout.description",
            "imageUrl": "../assets/images/artik-generator-workspace-private-20260928.webp",
            "imageAlt": "Éditeur du générateur Artik avec une grille de trois compartiments de démonstration",
            "imageAltEn": "Artik Generator editor with a three-compartment demo layout"
          },
          {
            "titleKey": "projects.artikGenerator.summary.title",
            "descriptionKey": "projects.artikGenerator.summary.description",
            "imageUrl": "../assets/images/artik-generator-3d-safe-20260928.webp",
            "imageAlt": "Aperçu 3D d’un séparateur de démonstration dans le générateur Artik",
            "imageAltEn": "3D preview of a demo drawer divider in Artik Generator"
          }
        ],
        "imageDisplay": "portrait"
      }
    },
    {
      "slug": "batir-a9",
      "link": "/batir-a9",
      "list": {
        "imageUrl": "../assets/images/batir-a9-site.jpg",
        "imageAlt": "Page d’accueil du site Bâtir A9 sur la rénovation résidentielle",
        "imagePosition": "top",
        "titleKey": "projects.batirA9.title",
        "typeKey": "projects.batirA9.type.without",
        "dateKey": "projects.batirA9.date.without",
        "imageAltEn": "Bâtir A9 website homepage about residential renovations"
      },
      "page": {
        "titleKey": "projects.batirA9.title",
        "descriptionKey": "projects.batirA9.description",
        "typeKey": "projects.batirA9.type",
        "dateKey": "projects.batirA9.date",
        "imageUrl": "../assets/images/batir-a9-project.jpg",
        "imageAlt": "Salon rénové par Bâtir A9 avec foyer en pierre",
        "ctaTextKey": "projects.batirA9.cta",
        "ctaLink": "https://batira9.com/",
        "secondaryCtaTextKey": "projects.batirA9.espaceCta",
        "secondaryCtaLink": "/espace-a9",
        "sections": [
          {
            "titleKey": "projects.batirA9.site.title",
            "descriptionKey": "projects.batirA9.site.description",
            "imageUrl": "../assets/images/batir-a9-site.jpg",
            "imageAlt": "Page d’accueil de Bâtir A9 avec salon rénové et appel à présenter un projet",
            "imageAltEn": "Bâtir A9 homepage with a renovated living room and project inquiry"
          },
          {
            "titleKey": "projects.batirA9.work.title",
            "descriptionKey": "projects.batirA9.work.description",
            "imageUrl": "../assets/images/batir-a9-realisations.jpg",
            "imageAlt": "Page Réalisations de Bâtir A9 avec salon, salle d’eau et terrasse de piscine",
            "imageAltEn": "Bâtir A9 projects page showing a living room, bathroom, and pool deck"
          },
          {
            "titleKey": "projects.batirA9.workspace.title",
            "descriptionKey": "projects.batirA9.workspace.description"
          }
        ],
        "imageWidth": 944,
        "imageHeight": 708,
        "imageAltEn": "Living room renovated by Bâtir A9 with a stone fireplace"
      }
    },
    {
      "slug": "espace-a9",
      "link": "/espace-a9",
      "list": {
        "imageUrl": "../assets/images/espace-a9-dashboard-2026-09-28.webp",
        "imageAlt": "Tableau de bord de démonstration d’Espace A9 avec navigation pleine hauteur et chantiers fictifs",
        "titleKey": "projects.espaceA9.title",
        "typeKey": "projects.espaceA9.type.without",
        "dateKey": "projects.espaceA9.date.without",
        "imageAltEn": "Espace A9 demo dashboard with full-height navigation and sample job cards",
        "imagePosition": "top"
      },
      "page": {
        "titleKey": "projects.espaceA9.title",
        "descriptionKey": "projects.espaceA9.description",
        "typeKey": "projects.espaceA9.type",
        "dateKey": "projects.espaceA9.date",
        "imageUrl": "../assets/images/espace-a9-dashboard-2026-09-28.webp",
        "imageAlt": "Vue d’ensemble de démonstration d’Espace A9 avec menu pleine hauteur, chantiers et tâches fictifs",
        "sections": [
          {
            "titleKey": "projects.espaceA9.requests.title",
            "descriptionKey": "projects.espaceA9.requests.description"
          },
          {
            "titleKey": "projects.espaceA9.jobs.title",
            "descriptionKey": "projects.espaceA9.jobs.description",
            "imageUrl": "../assets/images/espace-a9-files-2026-09-28.webp",
            "imageAlt": "Photothèque de démonstration d’Espace A9 avec navigation pleine hauteur et fichiers associés aux chantiers",
            "imageAltEn": "Espace A9 demo media library with full-height navigation and files grouped by sample job"
          }
        ],
        "imageWidth": 1440,
        "imageHeight": 1286,
        "imageAltEn": "Espace A9 demo overview with full-height navigation, sample jobs, and tasks",
        "imageLoading": "eager"
      },
      "appAccess": "private"
    },
    {
      "slug": "sylvain-brossard",
      "link": "/sylvain-brossard",
      "list": {
        "imageUrl": "../assets/images/sylvain-brossard-hero.jpg",
        "imageAlt": "Portrait et nom de Sylvain Brossard en haut de son site de campagne",
        "titleKey": "projects.sylvainBrossard.title",
        "typeKey": "projects.sylvainBrossard.type.without",
        "dateKey": "projects.sylvainBrossard.date.without",
        "imageAltEn": "Sylvain Brossard portrait and name at the top of his campaign site",
        "imagePosition": "top"
      },
      "page": {
        "titleKey": "projects.sylvainBrossard.title",
        "descriptionKey": "projects.sylvainBrossard.description",
        "typeKey": "projects.sylvainBrossard.type",
        "dateKey": "projects.sylvainBrossard.date",
        "imageUrl": "../assets/images/sylvain-brossard-hero.jpg",
        "imageAlt": "Site de campagne de Sylvain Brossard avec portrait et biographie",
        "contentTitleKey": "projects.sylvainBrossard.content.title",
        "contentDescriptionKey": "projects.sylvainBrossard.content.description",
        "contentImageUrl": "../assets/images/sylvain-brossard-details.jpg",
        "contentImageAlt": "Page publique de Sylvain Brossard présentant cinq engagements de campagne",
        "ctaTextKey": "projects.sylvainBrossard.cta",
        "ctaLink": "https://sylvain-brossard.web.app/",
        "imageWidth": 614,
        "imageHeight": 794,
        "imageAltEn": "Sylvain Brossard campaign website with portrait and biography",
        "contentImageAltEn": "Sylvain Brossard public page presenting five campaign commitments",
        "secondaryCtaTextKey": "projects.sylvainBrossard.resultCta",
        "secondaryCtaLink": "https://saint-constant.ca/fr/actualites/resultats-des-elections-municipales-2025"
      }
    },
    {
      "slug": "ecocoves",
      "list": {
        "imageUrl": "../assets/images/ecocoves-card-800.jpg",
        "imageAlt": "Vue aérienne des chalets EcoCoves parmi les arbres à Adstock",
        "titleKey": "projects.ecocoves.title",
        "typeKey": "projects.ecocoves.type.without",
        "dateKey": "projects.ecocoves.date.without",
        "imageUrlLarge": "../assets/images/ecocoves-card-1560.jpg",
        "imageAltEn": "Aerial view of EcoCoves chalets among trees in Adstock"
      },
      "link": "/ecocoves",
      "page": {
        "titleKey": "projects.ecocoves.title",
        "descriptionKey": "projects.ecocoves.description",
        "typeKey": "projects.ecocoves.type",
        "dateKey": "projects.ecocoves.date",
        "imageUrl": "../assets/images/ecocoves-adstock-aerial.jpg",
        "imageAlt": "Vue aérienne des chalets EcoCoves parmi les arbres à Adstock",
        "sections": [
          {
            "titleKey": "projects.ecocoves.content.title",
            "descriptionKey": "projects.ecocoves.content.description",
            "imageUrl": "../assets/images/ecocoves-site.jpg",
            "imageAlt": "Page EcoCoves Adstock avec vue aérienne du mont Adstock",
            "imageAltEn": "EcoCoves Adstock page with an aerial view of Mount Adstock"
          }
        ],
        "imageWidth": 1200,
        "imageHeight": 1600,
        "imageUrlMobile": "../assets/images/ecocoves-detail-800.jpg",
        "imageLoading": "eager",
        "imageAltEn": "Aerial view of EcoCoves chalets among trees in Adstock",
        "imageMobileWidth": 800,
        "imageMobileHeight": 1067
      },
      "appAccess": "private"
    },
    {
      "slug": "collectes-copropriete",
      "link": "/collectes-copropriete",
      "appAccess": "private",
      "list": {
        "imageUrl": "../assets/images/copropriete-collectes-mois-2026.webp",
        "imageAlt": "Calendrier mensuel de démonstration des collectes et du tour des bacs en copropriété",
        "imageAltEn": "Demo monthly calendar for condo collections and weekly bin duty",
        "titleKey": "projects.collectesCopropriete.title",
        "typeKey": "projects.collectesCopropriete.type.without",
        "dateKey": "projects.collectesCopropriete.date.without",
        "imagePosition": "top"
      },
      "page": {
        "titleKey": "projects.collectesCopropriete.title",
        "descriptionKey": "projects.collectesCopropriete.description",
        "typeKey": "projects.collectesCopropriete.type",
        "dateKey": "projects.collectesCopropriete.date",
        "imageUrl": "../assets/images/copropriete-collectes-mois-2026.webp",
        "imageAlt": "Vue mensuelle de démonstration avec collectes et équipes responsables des bacs",
        "imageAltEn": "Demo monthly view showing collections and teams responsible for the bins",
        "imageWidth": 1152,
        "imageHeight": 720,
        "imageLoading": "eager",
        "sections": [
          {
            "titleKey": "projects.collectesCopropriete.year.title",
            "descriptionKey": "projects.collectesCopropriete.year.description",
            "imageUrl": "../assets/images/copropriete-collectes-annee-2026.webp",
            "imageAlt": "Vue annuelle de démonstration du calendrier des collectes en copropriété",
            "imageAltEn": "Demo yearly view of the condo collection calendar"
          }
        ]
      }
    },
    {
      "slug": "bibleverse",
      "link": "/bibleverse",
      "list": {
        "imageUrl": "../assets/images/bibleverse-heritage-20260918-card-800.jpg",
        "imageAlt": "Trois écrans de l’interface Héritage de BibleVerse : Bibliothèque, Aujourd’hui et Routine de prière",
        "titleKey": "projects.bibleverse.title",
        "typeKey": "projects.bibleverse.type.without",
        "dateKey": "projects.bibleverse.date.without",
        "imageUrlLarge": "../assets/images/bibleverse-heritage-20260918-card-1560.jpg",
        "imageAltEn": "Three screens of the BibleVerse Héritage interface: Library, Today and Prayer Routine"
      },
      "page": {
        "titleKey": "projects.bibleverse.title",
        "descriptionKey": "projects.bibleverse.description",
        "typeKey": "projects.bibleverse.type",
        "dateKey": "projects.bibleverse.date",
        "imageUrl": "../assets/images/bibleverse-heritage-20260918-feature.jpg",
        "imageAlt": "Trois écrans de l’interface Héritage de BibleVerse : Bibliothèque, Aujourd’hui et Routine de prière",
        "ctaTextKey": "projects.bibleverse.cta",
        "ctaLink": "https://usebibleverse.com/",
        "secondaryCtaTextKey": "projects.bibleverse.betaCta",
        "secondaryCtaLink": "https://usebibleverse.com/download/",
        "sections": [
          {
            "titleKey": "projects.bibleverse.today.title",
            "descriptionKey": "projects.bibleverse.today.description",
            "imageUrl": "../assets/images/bibleverse-heritage-20260918-today.png",
            "imageAlt": "Écran Aujourd’hui de l’application BibleVerse, sous la marque Héritage",
            "imageAltEn": "Today screen of the BibleVerse app, branded Héritage"
          },
          {
            "titleKey": "projects.bibleverse.library.title",
            "descriptionKey": "projects.bibleverse.library.description",
            "imageUrl": "../assets/images/bibleverse-heritage-20260918-library.png",
            "imageAlt": "Écran Bibliothèque de l’application BibleVerse, sous la marque Héritage",
            "imageAltEn": "Library screen of the BibleVerse app, branded Héritage"
          },
          {
            "titleKey": "projects.bibleverse.routine.title",
            "descriptionKey": "projects.bibleverse.routine.description",
            "imageUrl": "../assets/images/bibleverse-heritage-20260918-routine.png",
            "imageAlt": "Écran Routine de prière de l’application BibleVerse, sous la marque Héritage",
            "imageAltEn": "Prayer Routine screen of the BibleVerse app, branded Héritage"
          },
          {
            "titleKey": "projects.bibleverse.platform.title",
            "descriptionKey": "projects.bibleverse.platform.description"
          }
        ],
        "imageWidth": 1024,
        "imageHeight": 500,
        "imageAltEn": "Three screens of the BibleVerse Héritage interface: Library, Today and Prayer Routine"
      }
    },
    {
      "slug": "the-crt-lounge",
      "link": "/the-crt-lounge",
      "list": {
        "imageUrl": "../assets/images/the-crt-lounge-card-800.jpg",
        "imageAlt": "Bibliothèque de jeux fictifs dans The CRT Lounge",
        "titleKey": "projects.crtLounge.title",
        "typeKey": "projects.crtLounge.type.without",
        "dateKey": "projects.crtLounge.date.without",
        "imageUrlLarge": "../assets/images/the-crt-lounge-card-1560.jpg",
        "imageAltEn": "The CRT Lounge library showing fictional game covers"
      },
      "page": {
        "titleKey": "projects.crtLounge.title",
        "descriptionKey": "projects.crtLounge.description",
        "typeKey": "projects.crtLounge.type",
        "dateKey": "projects.crtLounge.date",
        "imageUrl": "../assets/images/the-crt-lounge-library.jpg",
        "imageAlt": "Bibliothèque de jeux fictifs dans The CRT Lounge",
        "sections": [
          {
            "titleKey": "projects.crtLounge.library.title",
            "descriptionKey": "projects.crtLounge.library.description"
          },
          {
            "titleKey": "projects.crtLounge.host.title",
            "descriptionKey": "projects.crtLounge.host.description",
            "imageUrl": "../assets/images/the-crt-lounge-host.jpg",
            "imageAlt": "Interface Remote Play de The CRT Lounge avec PC hôte en ligne et jeux fictifs",
            "imageAltEn": "The CRT Lounge Remote Play interface with an online host PC and fictional games"
          },
          {
            "titleKey": "projects.crtLounge.devices.title",
            "descriptionKey": "projects.crtLounge.devices.description",
            "imageUrl": "../assets/images/the-crt-lounge-mobile.jpg",
            "imageAlt": "Bibliothèque de jeux de The CRT Lounge sur mobile",
            "imageAltEn": "The CRT Lounge game library on mobile"
          }
        ],
        "imageWidth": 1440,
        "imageHeight": 900,
        "imageAltEn": "The CRT Lounge library showing fictional game covers"
      }
    },
    {
      "slug": "fiestum",
      "link": "/fiestum",
      "list": {
        "imageUrl": "../assets/images/fiestum-card-800.jpg",
        "imageAlt": "Maquettes de l’application Fiestum sur plusieurs écrans",
        "titleKey": "projects.fiestum.title",
        "typeKey": "projects.fiestum.type.without",
        "dateKey": "projects.fiestum.date.without",
        "imageUrlLarge": "../assets/images/fiestum-card-1560.jpg",
        "imageAltEn": "Fiestum app mockups showing multiple screens"
      },
      "page": {
        "titleKey": "projects.fiestum.title",
        "descriptionKey": "projects.fiestum.description",
        "typeKey": "projects.fiestum.type",
        "dateKey": "projects.fiestum.date",
        "imageUrl": "../../assets/images/mockup-fiestum-2.png",
        "imageAlt": "Deux maquettes mobiles de Fiestum affichant une fiche d’événement",
        "firstSectionImageUrl": "../assets/images/image-fiestum-1.webp",
        "firstSectionImageAlt": "Maquettes de Fiestum montrant événements, carte et menu",
        "contentTitleKey": "projects.fiestum.content.title",
        "contentDescriptionKey": "projects.fiestum.content.description",
        "contentImageUrl": "",
        "contentImageAlt": "",
        "lastSectionImageUrl": "../assets/images/image-fiestum-2.webp",
        "lastSectionImageAlt": "Maquette inclinée de Fiestum affichant une liste d’événements",
        "imageWidth": 376,
        "imageHeight": 640,
        "imageUrlMobile": "../assets/images/mockup-fiestum-2.webp",
        "imageAltEn": "Two Fiestum phone mockups showing an event page",
        "firstSectionImageAltEn": "Fiestum mockups showing events, map, and menu",
        "lastSectionImageAltEn": "Angled Fiestum phone mockup showing an event list",
        "imageMobileWidth": 376,
        "imageMobileHeight": 640
      }
    },
    {
      "slug": "mongoose-lab",
      "link": "/projects/mongoose-lab",
      "list": {
        "imageUrl": "../assets/images/homepage_whats_mongoose.jpg",
        "imageAlt": "Mongoose Lab preview",
        "titleKey": "projects.mongooseLab.title",
        "typeKey": "projects.mongooseLab.type.without",
        "dateKey": "projects.mongooseLab.date.without"
      },
      "subApp": {
        "path": "/assets/subapps/mongoose-lab/"
      },
      "published": false
    }
  ]
}
