# AGENTS.md β€” eendoeserver (eendoe.nl & web03) Instructies, architectuur, ontwerpregels en deploymentprocedures voor AI-agents en ontwikkelaars die werken binnen deze repository. --- ## 🎯 1. Overzicht & Doel Deze repository (`eendoeserver`) beheert de bronbestanden, styling, documentatie en Apache 2.4 VirtualHost-configuraties voor de standalone productieserver **`web03`** (`eendoe.nl` en `bm4.nl`). ### Kerncomponenten: * **`eendoe/`**: De publieke document root voor de website van Eendoe Services (`index.html`, assets, stylesheets, scripts). * **`vhosts/`**: Apache VirtualHost configuraties geΓ―ncludeerd op de host via `Include /sites/vhosts/*.conf`. --- ## πŸ–₯️ 2. Productieomgeving & Architectuur * **Server**: Standalone Linux host `web03` (`eendoe.nl`). * **SSH Toegang**: `bart@eendoe.nl` (authenticatie via SSH keys). * **Webserver**: Apache 2.4 met HTTP/2 ondersteuning (`mod_ssl`, `mod_rewrite`, `mod_http2`). * **Pad op productieserver**: * Website document root: `/sites/eendoe/` * Apache vhosts: `/sites/vhosts/` * Debian package repository (zie ook `package-repo`): `/sites/repository/` * **SSL/TLS**: Let's Encrypt certificaten via Certbot (`/etc/letsencrypt/`). --- ## 🎨 3. Ontwerpregels & Frontend Conventies ### ⚠️ Belangrijk: Behoud de authentieke stijl ("Minder AI, meer Elate") De website is gebouwd op basis van het klassieke **Elate** template van FREEHTML5.co. 1. **Geen moderne AI/SaaS-saus**: * Vermijd geforceerde glassmorphism, zwevende SaaS feature cards, zware box-shadows, gekleurde border-glows of overdadige gradient-knoppen. * Houd interacties en layouts consistent met de bestaande rustige, zakelijke en minimalistische uitstraling. 2. **Typografie & Kleuren**: * Basistekst: `#7f7f7f`, koppen: `#393e46`, achtergronden: `#f7f7f7` of `#ffffff`. * Primaire themakleur: `#52d3aa` (turquoise / mintgroen). 3. **Framework & Bibliotheken**: * **Bootstrap 3.3.5**: Gebruik native Bootstrap 3 componenten (bijv. modals voor popups, grid `col-md-*`, `col-sm-*`). * **jQuery & Plugins**: `jquery.min.js`, `jquery.easing`, `jquery.stellar`, `jquery.waypoints`. * **Iconen**: Icomoon (`icon-phone`, `icon-envelope`, `icon-home`, `icon-globe`, etc.). 4. **Taal & Toon**: * Alle teksten op de website zijn in zakelijk, foutloos en bondig Nederlands. --- ## πŸš€ 4. Workflow & Deployment ### A. Wijzigingen aanbrengen & lokaal testen * Pas bronbestanden aan binnen `eendoe/` (of `vhosts/` indien van toepassing). * Valideer HTML-syntax en controleer dat er geen ongebalanceerde tags ontstaan. * Zorg dat gecompileerde CSS (`css/style.css`) en SCSS (`sass/style.scss`) synchroon blijven. ### B. Committen en pushen (Git) * Werk vanuit de submodule of clone: ```bash git add git commit -m "Korte beschrijving van de wijziging" git push origin main ``` * Bij gebruik als submodule binnen de centrale `cluster` repository: werk daarna de submodule pointer in de root repository bij: ```bash git -C .. add eendoeserver git -C .. commit -m "Update eendoeserver submodule pointer" git -C .. push origin main ``` ### C. Deployen naar productie (`web03`) De live website wordt direct geserveerd vanuit `/sites/eendoe/` op `eendoe.nl`. Deployment gebeurt via `rsync` over SSH: ```bash # 1. Droogloop (optioneel, om te controleren wat er overgezet wordt): rsync -n -avz eendoe/ bart@eendoe.nl:/sites/eendoe/ # 2. Live deploy van de website: rsync -avz eendoe/ bart@eendoe.nl:/sites/eendoe/ # 3. Live verificatie: curl -sI https://eendoe.nl | head -n 5 ``` > [!NOTE] > Gebruik **geen** `--delete` bij rsync op `/sites/eendoe/` zonder expliciete controle, om te voorkomen dat server-specifieke scripts (zoals `install-repo.sh` of submappen) onbedoeld worden verwijderd. ### D. VirtualHosts bijwerken (indien van toepassing) Als configuraties in `vhosts/` zijn gewijzigd: ```bash rsync -avz vhosts/ bart@eendoe.nl:/sites/vhosts/ ssh bart@eendoe.nl "sudo apache2ctl configtest && sudo systemctl reload apache2" ``` --- ## πŸ“‹ 5. Bestandsstructuur ``` eendoeserver/ β”œβ”€β”€ AGENTS.md # Dit instructiebestand β”œβ”€β”€ README.md # Korte repo-beschrijving β”œβ”€β”€ eendoe/ # Document root β”‚ β”œβ”€β”€ index.html # Hoofdpagina eendoe.nl / bm4.nl β”‚ β”œβ”€β”€ css/ # Gecompileerde stylesheets (style.css, bootstrap.css) β”‚ β”œβ”€β”€ sass/ # SASS bronbestanden (style.scss) β”‚ β”œβ”€β”€ js/ # JavaScript (Bootstrap, jQuery, plugins, main.js) β”‚ β”œβ”€β”€ images/ # Afbeeldingen en logo's (work_*.jpg, contact.jpg) β”‚ β”œβ”€β”€ fonts/ # Icomoon en Glyphicons lettertypen β”‚ └── documents/ # PDF downloads (zoals algemene voorwaarden) └── vhosts/ # Apache 2.4 configuraties β”œβ”€β”€ 20_eendoe.conf # HTTP vhost β”œβ”€β”€ 20_eendoe-le-ssl.conf # HTTPS vhost eendoe.nl / bm4.nl └── 20_repository.conf # APT repository vhost ```