Skip to main content

Backend

Le backend basé sur le système d’exploitation Ubuntu Server 20.04 LTS, est composé des éléments suivants :

archi_api.drawio

Interface IP

Interface réseau permettant la communication entre le réseau éthernet/internet et le serveur. Toutes les interfaces (SMTP / SQL / SSH ) l’utilisent.

UFW

Un programme libre de gestion de pare-feu qui servira à filtrer les trames IP reçues par le serveur depuis l’interface IP.
Ce service sera configuré pour autoriser uniquement les trames IP entrantes autorisées, uniquement pour les requêtes HTTPS-BACKEND (443) et SSH (22)

NGINX

Un logiciel libre de serveur web qui va écouter les trames IP HTTPS-BACKEND (Port 443) pour les distribuer sur les S_CONTROLLER.

CRONTAB

Crontab est un outil de planification de tâches présent nativement sur le système d’exploitation.
Une fois configuré, il nous permettra de lancer des S_COMMANDE à des récurrences programmées (Minute / Heure / Jour / Mois / Jour de la semaine).

TERMINAL

Service du système d’exploitation Ubuntu Server permettant l’exécution de lignes de commande sur le serveur par l’administrateur.
Ce terminal va permettre la gestion des services installés sur le serveur.

APP WEB

Une application WEB basée sur le framework Symfony 6.4 LTS, codé en PHP 8.2 qui va interpréter les requêtes HTTPS-BACKEND entrantes afin d’exécuter les procédures répondant aux spécifications.

L’APP WEB est composée des éléments suivants :

Bundles Symfony Natif

Ensemble d’outils proposés par le framework Symfony

HubSystem

Ensemble d'outils développé par Feelity

Bundle Symfony

Ensemble d’outil développé par la communauté Symfony qui vont être ajoutés et configurés

S_ENTITE

Fichiers de code PHP définissant le modèle de données (Voir le schéma de données).

S_SERVICE

Fichiers de code PHP qui remplit une fonction bien précise, associé à une configuration et qui est partagé à tous les S_CONTROLLER.

S_CONTROLLER

Fichiers de code PHP contenant des procédures répondant aux spécifications. Le lancement de ces procédures est déclenché par l’interface HTTPS-BACKEND.

S_COMMANDE

Fichiers de code PHP contenant des procédures qui pourront être lancées par un administrateur depuis un TERMINAL ou par des tâches planifiées via le CRONTAB.

S_SUBSCRIBERS

Fichiers de code PHP qui écoutent des évènements pour lancer des nouvelles procédures

S_MESSENGER

Fichiers de code PHP permettant le traitement de message asynchrone. Dans notre cas, tous les messages envoyer par connect sera traiter par messenger.