# ericadonjo/site_web_horizon architecture

> Architecture diagram of the GitHub repository ericadonjo/site_web_horizon, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ericadonjo/site_web_horizon
- Repository: https://github.com/ericadonjo/site_web_horizon

## Overview

SiteWeb is a bilingual school information and inquiry website. Families browse school programs, facilities, staff, daily-life and enrollment information, read reviews, and can submit a contact message. The main page composes the shared header, content, and footer; database-backed counters and reviews are distinct from contact-message persistence. README documents the review-selection handler, but its implementation was not sampled, so its database link is based on that documentation.

Main entry points: [`index.php`](https://github.com/ericadonjo/site_web_horizon/blob/main/index.php) (Page entry), [`body.php`](https://github.com/ericadonjo/site_web_horizon/blob/main/body.php) (School and enrollment content), [`i18n.php`](https://github.com/ericadonjo/site_web_horizon/blob/main/i18n.php) (Translation lookup), [`submit_contact.php`](https://github.com/ericadonjo/site_web_horizon/blob/main/submit_contact.php) (Message submission)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["School website"]
  node_entry["Page entry<br/>[index.php]"]
  node_header["Navigation and language<br/>[header.php]"]
  node_footer["Site footer<br/>[footer.php]"]
  node_client["Browser interactions<br/>[script.js]"]
  node_styles["Site presentation<br/>[style.css]"]
end

subgraph group_content["School information"]
  node_school_content["School and enrollment content<br/>[body.php]"]
end

subgraph group_engagement["Family engagement"]
  node_contact_form["Contact form<br/>[contact.php]"]
  node_contact_handler["Message submission<br/>[submit_contact.php]"]
  node_reviews["Review listing<br/>[comments_list.php]"]
end

subgraph group_data["Data and language"]
  node_translations["Translation lookup<br/>[i18n.php]"]
  node_french["French translations<br/>[fr.php]"]
  node_english["English translations<br/>[en.php]"]
  node_db_config["Database settings<br/>[mysql.php]"]
  node_db_connection["PDO connection"]
  node_school_db[("School MySQL database<br/>[site_ecole .sql]")]
end

node_family(("Family visitor"))

node_family -->|"requests page"| node_entry
node_entry -->|"includes"| node_header
node_entry -->|"includes"| node_school_content
node_entry -->|"includes"| node_footer
node_entry -->|"loads script"| node_client
node_entry -->|"loads styles"| node_styles
node_header -->|"loads lookup"| node_translations
node_school_content -->|"looks up text"| node_translations
node_footer -->|"looks up text"| node_translations
node_translations -->|"loads language"| node_french
node_translations -->|"loads language"| node_english
node_school_content -->|"queries counts"| node_db_connection
node_entry -->|"loads settings"| node_db_config
node_entry -->|"opens connection"| node_db_connection
node_contact_handler -->|"loads settings"| node_db_config
node_contact_handler -->|"opens connection"| node_db_connection
node_db_connection -->|"connects to"| node_school_db
node_school_content -->|"includes listing"| node_reviews
node_reviews -->|"selects reviews"| node_school_db
node_school_content -->|"includes form"| node_contact_form
node_client -->|"posts message"| node_contact_handler
node_contact_handler -->|"inserts message"| node_school_db

click node_entry "https://github.com/ericadonjo/site_web_horizon/blob/main/index.php"
click node_header "https://github.com/ericadonjo/site_web_horizon/blob/main/header.php"
click node_footer "https://github.com/ericadonjo/site_web_horizon/blob/main/footer.php"
click node_client "https://github.com/ericadonjo/site_web_horizon/blob/main/script.js"
click node_styles "https://github.com/ericadonjo/site_web_horizon/blob/main/style.css"
click node_school_content "https://github.com/ericadonjo/site_web_horizon/blob/main/body.php"
click node_contact_form "https://github.com/ericadonjo/site_web_horizon/blob/main/contact.php"
click node_contact_handler "https://github.com/ericadonjo/site_web_horizon/blob/main/submit_contact.php"
click node_reviews "https://github.com/ericadonjo/site_web_horizon/blob/main/comments_list.php"
click node_translations "https://github.com/ericadonjo/site_web_horizon/blob/main/i18n.php"
click node_french "https://github.com/ericadonjo/site_web_horizon/blob/main/lang/fr.php"
click node_english "https://github.com/ericadonjo/site_web_horizon/blob/main/lang/en.php"
click node_db_config "https://github.com/ericadonjo/site_web_horizon/blob/main/config/mysql.php"
click node_db_connection "https://github.com/ericadonjo/site_web_horizon/blob/main/config/databaseConnexion.php"
click node_school_db "https://github.com/ericadonjo/site_web_horizon/blob/main/site_ecole%20.sql"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_header,node_footer,node_client,node_styles toneBlue
class node_school_content toneAmber
class node_contact_form,node_contact_handler,node_reviews toneMint
class node_translations,node_french,node_english,node_db_config,node_db_connection,node_school_db toneRose
class node_family toneIndigo
```

## Components

### School website

- [Page entry](https://github.com/ericadonjo/site_web_horizon/blob/main/index.php): `index.php`
- [Navigation and language](https://github.com/ericadonjo/site_web_horizon/blob/main/header.php): `header.php`
- [Site footer](https://github.com/ericadonjo/site_web_horizon/blob/main/footer.php): `footer.php`
- [Browser interactions](https://github.com/ericadonjo/site_web_horizon/blob/main/script.js): `script.js`
- [Site presentation](https://github.com/ericadonjo/site_web_horizon/blob/main/style.css): `style.css`

### School information

- [School and enrollment content](https://github.com/ericadonjo/site_web_horizon/blob/main/body.php): `body.php`

### Family engagement

- [Contact form](https://github.com/ericadonjo/site_web_horizon/blob/main/contact.php): `contact.php`
- [Message submission](https://github.com/ericadonjo/site_web_horizon/blob/main/submit_contact.php): `submit_contact.php`
- [Review listing](https://github.com/ericadonjo/site_web_horizon/blob/main/comments_list.php): `comments_list.php`

### Data and language

- [Translation lookup](https://github.com/ericadonjo/site_web_horizon/blob/main/i18n.php): `i18n.php`
- [French translations](https://github.com/ericadonjo/site_web_horizon/blob/main/lang/fr.php): `lang/fr.php`
- [English translations](https://github.com/ericadonjo/site_web_horizon/blob/main/lang/en.php): `lang/en.php`
- [Database settings](https://github.com/ericadonjo/site_web_horizon/blob/main/config/mysql.php): `config/mysql.php`
- [PDO connection](https://github.com/ericadonjo/site_web_horizon/blob/main/config/databaseConnexion.php): `config/databaseConnexion.php`
- [School MySQL database](https://github.com/ericadonjo/site_web_horizon/blob/main/site_ecole%20.sql): `site_ecole .sql`

### Other components

- **Family visitor**

## Connections

- Family visitor → Page entry: requests page
- Page entry → Navigation and language: includes
- Page entry → School and enrollment content: includes
- Page entry → Site footer: includes
- Page entry → Browser interactions: loads script
- Page entry → Site presentation: loads styles
- Navigation and language → Translation lookup: loads lookup
- School and enrollment content → Translation lookup: looks up text
- Site footer → Translation lookup: looks up text
- Translation lookup → French translations: loads language
- Translation lookup → English translations: loads language
- School and enrollment content → PDO connection: queries counts
- Page entry → Database settings: loads settings
- Page entry → PDO connection: opens connection
- Message submission → Database settings: loads settings
- Message submission → PDO connection: opens connection
- PDO connection → School MySQL database: connects to
- School and enrollment content → Review listing: includes listing
- Review listing → School MySQL database: selects reviews
- School and enrollment content → Contact form: includes form
- Browser interactions → Message submission: posts message
- Message submission → School MySQL database: inserts message
