# infinity424/sae203 architecture

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

- Interactive diagram: https://gitdiagram.com/infinity424/sae203
- Repository: https://github.com/infinity424/sae203

## Overview

This repository combines a TechLoc intranet with a WordPress installation that includes the Colibri page builder, Blocksy theme, and Akismet plugin. The intranet exposes role-aware portal pages and a searchable/exportable client directory. WordPress provides login and administration entry points; the builder supplies customization, licensing, notifications, and demo import, while Blocksy initializes frontend behavior. The graph emphasizes documented or excerpted connections; many listed subsystems are unsampled, so their internal links are omitted rather than inferred.

Main entry points: [`wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php`](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php) (Builder runtime), [`wordpress/wp-login.php`](https://github.com/infinity424/sae203/blob/main/wordpress/wp-login.php) (Login and signup), [`intranet/annuaire_clients.php`](https://github.com/infinity424/sae203/blob/main/intranet/annuaire_clients.php) (Client directory), [`wordpress/wp-load.php`](https://github.com/infinity424/sae203/blob/main/wordpress/wp-load.php) (WordPress bootstrap)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_intranet["TechLoc intranet"]
  node_directory["Client directory"]
  node_portal["Intranet pages"]
  node_shared["Portal helpers<br/>[fonctions.php]"]
end

subgraph group_core["WordPress core"]
  node_wp_login["Login and signup<br/>[wp-login.php]"]
  node_wp_bootstrap["WordPress bootstrap<br/>[wp-load.php]"]
  node_admin_bootstrap["Admin bootstrap<br/>[admin.php]"]
  node_dashboard["Admin dashboard<br/>[index.php]"]
  node_cookie["HTTP cookies<br/>[Cookie.php]"]
end

subgraph group_builder["Colibri builder"]
  node_builder_core["Builder runtime<br/>[PageBuilder.php]"]
  node_customizer["Customizer<br/>[Customizer.php]"]
  node_license["License and updater<br/>[License.php]"]
  node_demo_import["Demo import"]
  node_notifications["Notifications manager"]
  node_notification["Notification item<br/>[Notification.php]"]
end

subgraph group_extensions["Themes and plugins"]
  node_blocksy["Frontend initializer<br/>[main.js]"]
  node_akismet["Akismet anti-spam<br/>[akismet.php]"]
end

node_user(("Site user"))

node_user -->|"browses"| node_directory
node_directory -->|"uses helpers"| node_shared
node_user -.->|"authenticates"| node_wp_login
node_wp_login -->|"loads"| node_wp_bootstrap
node_wp_bootstrap -.->|"initializes"| node_admin_bootstrap
node_admin_bootstrap -->|"bootstraps"| node_dashboard
node_wp_login -->|"uses cookies"| node_cookie
node_builder_core -->|"creates"| node_customizer
node_builder_core -->|"loads"| node_license
node_builder_core -->|"loads"| node_demo_import
node_builder_core -->|"loads"| node_notifications
node_notifications -->|"creates"| node_notification
node_blocksy -.->|"initializes frontend"| node_user

click node_directory "https://github.com/infinity424/sae203/blob/main/intranet/annuaire_clients.php"
click node_portal "https://github.com/infinity424/sae203/tree/main/intranet"
click node_shared "https://github.com/infinity424/sae203/blob/main/intranet/include/fonctions.php"
click node_wp_login "https://github.com/infinity424/sae203/blob/main/wordpress/wp-login.php"
click node_wp_bootstrap "https://github.com/infinity424/sae203/blob/main/wordpress/wp-load.php"
click node_admin_bootstrap "https://github.com/infinity424/sae203/blob/main/wordpress/wp-admin/admin.php"
click node_dashboard "https://github.com/infinity424/sae203/blob/main/wordpress/wp-admin/index.php"
click node_cookie "https://github.com/infinity424/sae203/blob/main/wordpress/wp-includes/Requests/src/Cookie.php"
click node_builder_core "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php"
click node_customizer "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/Customizer/Customizer.php"
click node_license "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/License/License.php"
click node_demo_import "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/OCDI/OneClickDemoImport.php"
click node_notifications "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/Notify/NotificationsManager.php"
click node_notification "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/Notify/Notification.php"
click node_blocksy "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/themes/blocksy/static/js/main.js"
click node_akismet "https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/akismet/akismet.php"

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_directory,node_portal,node_shared,node_user toneBlue
class node_wp_login,node_wp_bootstrap,node_admin_bootstrap,node_dashboard,node_cookie toneAmber
class node_builder_core,node_customizer,node_license,node_demo_import,node_notifications,node_notification toneMint
class node_blocksy,node_akismet toneRose
```

## Components

### TechLoc intranet

- [Client directory](https://github.com/infinity424/sae203/blob/main/intranet/annuaire_clients.php): `intranet/annuaire_clients.php`
- [Intranet pages](https://github.com/infinity424/sae203/tree/main/intranet): `intranet`
- [Portal helpers](https://github.com/infinity424/sae203/blob/main/intranet/include/fonctions.php): `intranet/include/fonctions.php`

### WordPress core

- [Login and signup](https://github.com/infinity424/sae203/blob/main/wordpress/wp-login.php): `wordpress/wp-login.php`
- [WordPress bootstrap](https://github.com/infinity424/sae203/blob/main/wordpress/wp-load.php): `wordpress/wp-load.php`
- [Admin bootstrap](https://github.com/infinity424/sae203/blob/main/wordpress/wp-admin/admin.php): `wordpress/wp-admin/admin.php`
- [Admin dashboard](https://github.com/infinity424/sae203/blob/main/wordpress/wp-admin/index.php): `wordpress/wp-admin/index.php`
- [HTTP cookies](https://github.com/infinity424/sae203/blob/main/wordpress/wp-includes/Requests/src/Cookie.php): `wordpress/wp-includes/Requests/src/Cookie.php`

### Colibri builder

- [Builder runtime](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php): `wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php`
- [Customizer](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/Customizer/Customizer.php): `wordpress/wp-content/plugins/colibri-page-builder/src/Customizer/Customizer.php`
- [License and updater](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/License/License.php): `wordpress/wp-content/plugins/colibri-page-builder/src/License/License.php`
- [Demo import](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/OCDI/OneClickDemoImport.php): `wordpress/wp-content/plugins/colibri-page-builder/src/OCDI/OneClickDemoImport.php`
- [Notifications manager](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/Notify/NotificationsManager.php): `wordpress/wp-content/plugins/colibri-page-builder/src/Notify/NotificationsManager.php`
- [Notification item](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/colibri-page-builder/src/Notify/Notification.php): `wordpress/wp-content/plugins/colibri-page-builder/src/Notify/Notification.php`

### Themes and plugins

- [Frontend initializer](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/themes/blocksy/static/js/main.js): `wordpress/wp-content/themes/blocksy/static/js/main.js`
- [Akismet anti-spam](https://github.com/infinity424/sae203/blob/main/wordpress/wp-content/plugins/akismet/akismet.php): `wordpress/wp-content/plugins/akismet/akismet.php`

### Other components

- **Site user**

## Connections

- Site user → Client directory: browses
- Client directory → Portal helpers: uses helpers (evidence: `intranet/annuaire_clients.php`)
- Site user → Login and signup: authenticates
- Login and signup → WordPress bootstrap: loads (evidence: `wordpress/wp-login.php`)
- WordPress bootstrap → Admin bootstrap: initializes
- Admin bootstrap → Admin dashboard: bootstraps (evidence: `wordpress/wp-admin/index.php`)
- Login and signup → HTTP cookies: uses cookies (evidence: `wordpress/wp-login.php`)
- Builder runtime → Customizer: creates (evidence: `wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php`)
- Builder runtime → License and updater: loads (evidence: `wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php`)
- Builder runtime → Demo import: loads (evidence: `wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php`)
- Builder runtime → Notifications manager: loads (evidence: `wordpress/wp-content/plugins/colibri-page-builder/src/PageBuilder.php`)
- Notifications manager → Notification item: creates (evidence: `wordpress/wp-content/plugins/colibri-page-builder/src/Notify/NotificationsManager.php`)
- Frontend initializer → Site user: initializes frontend
