A lightweight static portfolio website showcasing projects, written in plain HTML/CSS/JS.
Un site portfolio statique et léger présentant des projets, écrit en HTML/CSS/JS purs.
This repository is the source for a personal static site hosted at ascol57.github.io. It's intentionally simple: no build step, just static HTML/CSS/JS.
- Responsive single-page site (hero, projects grid, modal details)
- Animated hero title, background orbs and particles
- Project cards that open a modal with rich HTML details
- Clean footer with dynamic year
- Bilingual UI (FR / EN) using
locales/fr.jsonandlocales/en.json - Accessible modal and reduced-motion support
ascol57.github.io/
├── index.html # Main page (content, projects, modal)
├── styles.css # Visual styles
├── script.js # Interactions: modal, translations, particles
├── locales/ # JSON translation files
│ ├── fr.json
│ └── en.json
├── Constant face.svg # Example avatar
├── README.md # This file
└── ... # other static assets (images, icons)
Because the site loads locales/*.json with fetch(), serve the folder with a small HTTP server instead of opening the file directly.
With Python (PowerShell):
cd 'C:\Users\const\Documents\github\ascol57.github.io'
python -m http.server 8000
# open http://localhost:8000Or with Node:
cd 'C:\Users\const\Documents\github\ascol57.github.io'
npx http-server -p 8000
# open http://localhost:8000- Edit page content directly in
index.html. - Translated strings are tagged with
data-i18n. Updatelocales/fr.jsonandlocales/en.jsonto change translations. - Add or edit projects by modifying
.project-cardblocks;.project-detailHTML is shown in the modal.
- Modal uses
role="dialog"andaria-modaland can be closed withEscor overlay click. - CSS respects
prefers-reduced-motion. - Language buttons use
aria-pressedand the pagelangattribute is updated on switch.
- If translations fail to load, check the Network console for 404s on
locales/*.json(serve via HTTP). - If the modal doesn't open, inspect the console for JS errors and verify
.project-cardexists.
- To deploy to GitHub Pages, push to the
mainbranch of theascol57.github.iorepository. - No build step required — static files are served as-is.
Copyright Constant RUSCHÉ
Ce dépôt contient le code source du site personnel ascol57.github.io. Le site est statique et simple à modifier et déployer (GitHub Pages ou tout hébergeur statique).
- Site responsive (hero, grille de projets, modale de détails)
- Titre animé, orbes d'arrière-plan et particules
- Cartes projets ouvrant une modale avec contenu HTML riche
- Footer propre avec année dynamique
- Interface bilingue (FR / EN) via
locales/fr.jsonetlocales/en.json - Modale accessible et prise en charge de
prefers-reduced-motion
ascol57.github.io/
├── index.html # Page principale (contenu, projets, modale)
├── styles.css # Styles visuels
├── script.js # Interactions : modale, traductions, particules
├── locales/ # Fichiers de traduction JSON
│ ├── fr.json
│ └── en.json
├── Constant face.svg # Avatar d'exemple
├── README.md # Ce fichier
└── ... # autres assets statiques (images, icônes)
Le site charge les JSON via fetch() — servez le dossier via HTTP plutôt que d'ouvrir index.html directement.
Avec Python (PowerShell) :
cd 'C:\Users\const\Documents\github\ascol57.github.io'
python -m http.server 8000
# ouvrez http://localhost:8000Avec Node :
cd 'C:\Users\const\Documents\github\ascol57.github.io'
npx http-server -p 8000
# ouvrez http://localhost:8000- Modifiez le contenu dans
index.html. - Les textes traduits sont marqués
data-i18n: éditezlocales/fr.jsonetlocales/en.jsonpour changer les traductions. - Pour ajouter/modifier des projets, éditez les blocs
.project-card; le HTML dans.project-detailest affiché dans la modale.
- La modale utilise
role="dialog"etaria-modal, fermeture parEscou clic overlay. prefers-reduced-motionest respecté.- Les boutons de langue utilisent
aria-pressedet la langue du document (<html lang="..">) est mise à jour.
- Si les traductions ne se chargent pas, vérifiez la console Réseau pour des 404 sur
locales/*.json. - Si la modale ne s'ouvre pas, vérifiez la console JS pour des erreurs et la présence des
.project-card.
- Poussez sur
maindu dépôtascol57.github.iopour déployer sur GitHub Pages. - Aucun build requis — fichiers statiques uniquement.
Copyright Constant RUSCHÉ