瀏覽代碼

update doc

Olivier Massot 4 年之前
父節點
當前提交
d0ce65d031
共有 4 個文件被更改,包括 70 次插入0 次删除
  1. 17 0
      doc/hooks.md
  2. 12 0
      doc/ot_websites.md
  3. 10 0
      doc/stats.md
  4. 31 0
      doc/templating.md

+ 17 - 0
doc/hooks.md

@@ -1 +1,18 @@
 # Déclenchement des hooks de mise à jour depuis le logiciel
+
+Les changements effectués dans la base Opentalent doivent être répercutés dans la base Typo3.
+Pour cela, l'extension [OtAdmin](/ot_admin) expose un certain nombre de méthode via une Api HTTP, dont l'accès est restreint aux adresses Ip
+internes.
+
+Ces méthodes seront ensuite déclenchées depuis le logiciel, grâce à un système de hooks.
+
+| Cas de figure | Actions à déclencher | 
+| --- | --- |
+| Une structure est créée | `create` |
+| Une structure quitte son réseau | `delete` (avec le paramètre `redirect-to` vers le réseau de la structure) |
+| Une structure réintègre son réseau | `undelete` -> `update` -> `reset-perms` |
+| Une structure change de sous-domaine | `update` -> `redirect` |
+| Une structure s'est procurée un nom de domaine custom | `set-domain` |
+| Les paramètres d'une structure ont changé | `update` |
+
+

+ 12 - 0
doc/ot_websites.md

@@ -8,7 +8,19 @@ strucures, leurs paramètres, domaines, statuts...
 
 ## La variable globale ot_website
 
+Lors d'une requête frontend, le middleware OtSiteResolver détermine le ot_website grâce au nom de domaine,
+puis stocke le site correspondant comme attribut de la variable globale `$GLOBALS['TYPO3_REQUEST']`, comme c'est 
+déjà le cas pour la page en cours.
+
 ## Le rôle de la table dans le routing
 
+L'extension [ot_optimizer](/ot_optimizer) se sert des données de cette table pour la résolution des noms de domaine.
+
+> Plus d'infos [ici](routing.md)
+
 ## La génération dynamique de la configuration du site
 
+Cette table permet aussi de générer de manière dynamique une array similaire à celle qui résulte du parsing du
+fichier config.yaml du site. Cela permet d'éviter de nombreuse opération d'accès à ces fichiers de config.
+
+

+ 10 - 0
doc/stats.md

@@ -1,2 +1,12 @@
 # Fonctionnement du suivi des stats d'utilisation des sites
 
+Le suivi des stats est effectué par notre [instance Matomo](https://stats.2iopenservice.com/).
+
+Le suivi des stats est desactivé par défaut dans Typo3. Les administrateurs des sites peuvent 
+l'activer via le module OtStats, ce qui provoque la création d'un nouveau site suivi dans matomo, dont l'id
+est enregistré dans la table `ot_websites` (champs `matomo_site_id`)
+
+Dès lors qu'un site typo3 a un id de site matomo enregistré, le script JS d'intégration de matomo est ajouté dans le header 
+des pages du site.
+
+Les résultats sont consultables grâce au module OtStats du backend qui intègre des iframes contenant des widgets Matomo.

+ 31 - 0
doc/templating.md

@@ -1,2 +1,33 @@
 # Fonctionnement du multi-templating
 
+Le système de multi-templating est implémenté par l'extension [OtTemplating](/ot_templating)
+
+> **ATTENTION**: Le terme de "template" désigne aussi les gabarits de pages dans typo3, donc attention 
+> à ne pas confondre. On essaiera de parler ici de gabarits dans le cas des pages.
+
+Un thème est un ensemble de gabarits de pages (aussi appellés templates) et d'assets.
+
+> **Important**: Chaque template doit rester entièrement indépendant des autres
+
+### Sélection d'un template
+
+Un module backend dédié permet aux administrateurs d'un site de sélectionner le template choisi, et de
+modifier leurs préférences.
+
+Le template choisi par une structure ainsi que les préférences d'affichage sont enregistrés dans les
+champs `template` et `template_preferences` de la table `ot_websites`.
+
+### Découpage des répertoires
+
+Les répertoires correspondant aux [layouts](/ot_templating/Resources/Private/Layouts) et [partials](/ot_templating/Resources/Private/Partials), 
+ainsi que le [répertoire des assets](/ot_templating/Resources/Public/assets) possèdent des sous-répertoire correspondants au template courant.
+
+En revanche, les [gabarits de pages](/ot_templating/Resources/Private/Templates) sont communs à tous les templates.
+Ce sont ces gabarits qui appellent le layout du template désiré.
+
+Ce layout, à son tour, appelle tous les partials dont il a besoin (header, footer, assets...).
+
+
+
+
+