Compare commits

...

4 commits

Author SHA1 Message Date
Benjamin Renard
9f65ef67f7
Add Makefile 2023-08-18 13:05:04 +02:00
Benjamin Renard
e29852639d
Remove include-markdown plugin dependency 2023-08-18 12:51:27 +02:00
Benjamin Renard
989dd77b1e
Fix warnings about broken links 2023-08-18 12:44:48 +02:00
Benjamin Renard
d781be02f8
Update LSattr_ldap::date doc (from 05519c5432) 2023-08-18 12:27:03 +02:00
19 changed files with 71 additions and 50 deletions

1
doc/.gitignore vendored
View file

@ -1,2 +1,3 @@
public_html
LdapSaisie.html
venv

17
doc/Makefile Normal file
View file

@ -0,0 +1,17 @@
serve: venv
venv/bin/mkdocs serve
build: venv public_html LdapSaisie.html
public_html:
venv/bin/mkdocs build -s
LdapSaisie.html: public_html
venv/bin/htmlark public_html/print_page/index.html -o LdapSaisie.html
venv:
python3 -m venv venv
venv/bin/python -m pip install -r requirements.txt
clean:
rm -fr venv public_html LdapSaisie.html

View file

@ -19,7 +19,6 @@ extra:
plugins:
- search:
lang: fr # Set language for search
- include-markdown
- print-site

View file

@ -1,7 +1,6 @@
mkdocs
mkdocs-material
mdx_truly_sane_lists
mkdocs-include-markdown-plugin
mkdocs-print-site-plugin
# For building all-in-one HTML file
html5lib

View file

@ -1,6 +1,6 @@
# LSaddon_mailquota
Cet [LSaddon](../conf/#configuration-des-lsaddons) fournie une fonction `mailquota_get_usage`
Cet [LSaddon](index.md#configuration-des-lsaddons) fournie une fonction `mailquota_get_usage`
pouvant être utilisée pour récupérer l'utilisation du quota d'une boîte mail IMAP. Pour cela,
LdapSaisie se connecte au serveur IMAP en utilisant un compte maître.

View file

@ -5,13 +5,13 @@ Typiquement, ce type attribut HTML est utile dans le cas de l'attribut *mailbox*
maildrop pour stocker le chemin des boites mails. Ce type d'attribut offre la possibilité de gérér
un niveau de l'attribut et à travers les déclencheurs gérés par LdapSaisie la création, la
modification et ou la suppression de la boite mails.
Le [LSaddon](../conf/#configuration-des-lsaddons)
Le [LSaddon](../../../LSaddon/index.md#configuration-des-lsaddons)
[maildir](../../../LSaddon/LSaddon_maildir.md#lsaddon_maildir) est utilisé pour manipuler la boite
mail à distance.
!!! note
Actuellement, cet [LSaddon](../conf/#configuration-des-lsaddons) ne gérant que l'accès via FTP
Actuellement, cet [LSaddon](../../../LSaddon/index.md#configuration-des-lsaddons) ne gérant que l'accès via FTP
au serveur distant, l'API d'accès via FTP est attaquée directement.
```

View file

@ -15,7 +15,11 @@ Ce type est utilisé pour la gestion des attributs dont la valeur est une date.
```
'ldap_options' => array (
'timestamp' => [Booléen], // Si la date est stockée au format timestamp
'format' => '[Format de stockage]', // Default : "YmdHisO"
'formats' => array(
'[Format de stockage principal]', // Par défaut : "YmdHisO"
'[Formats de stockage alternatifs]', // Par défaut : "YmdHis.vO" & "YmdHis.uO"
[...]
),
'timezone' => '[Fuseau horaire]', // Default : "UTC"
),
...
@ -28,27 +32,30 @@ Ce type est utilisé pour la gestion des attributs dont la valeur est une date.
Si `timestamp` est vrai, LdapSaisie ne tient pas compte du paramètre format.
- `format`
- `formats`
Format de stockage de la date dans l'annuaire. Ce format est composé à partir des motifs clés
Formats de stockage de la date dans l'annuaire. Ces formats sont composés à partir des motifs clés
gérés par la fonction `date()` de PHP. Pour plus d'information, consulter
[la documentation officielle](http://www.php.net/date).
[la documentation officielle](http://www.php.net/date). Plusieurs formats peuvent être définis,
mais en cas de stockage d'une nouvelle valeur, se sera le premier format défini qui sera utilisé.
!!! note
La valeur par défaut est *YmdHisO*, correspondant à la syntaxe `Generalized Time` (sans les
micro-secondes) telle que définie dans la [RFC4517](https://tools.ietf.org/html/rfc4517).
Exemples : `20091206230506Z` *(=2009/12/06 23:05:66 UTC)* ou `20190613143537+0200`
*(=2019/06/13 14:35:37 UTC+0200)*.
La valeur par défaut est *["YmdHisO", "YmdHis.vO", "YmdHis.uO"]*, correspondant à la syntaxe
`Generalized Time` (sans et avec les milli-secondes ou micro-secondes) telle que définie dans
la [RFC4517](https://tools.ietf.org/html/rfc4517).
Exemples : `20091206230506Z` *(=2009/12/06 23:05:66 UTC)*, `20190613143537+0200`
*(=2019/06/13 14:35:37 UTC+0200)* ou `20230818121005.307+0200`
*(=2023/08/18 12:10:05.307 UTC+0200)*.
!!! warning
Si vous exploitez un attribut stockant une date incluant les micro-secondes, ce type
d'attribut LDAP sera capable de gérer l'interpratation des valeurs stockées en configurant le
format `YmdHis.uO`. En outre, le type d'attribut
Si vous exploitez un attribut stockant une date incluant les milli-secondes ou les
micro-secondes, ce type d'attribut LDAP sera capable de gérer l'interpratation des valeurs
stockées, en outre le type d'attribut
[LSattr_html_date](../LSattr_html/LSattr_html_date.md#lsattr_html_date), s'appuyant sur les
méthodes standards `strftime()` et `strptime()`, ne permettra pas aujourd'hui la saisie et
l'affichage des millisecondes.
méthodes standards `strftime()` et `strptime()`, ne permettra pas aujourd'hui leur saisie et
affichage.
- `timezone`

View file

@ -413,4 +413,4 @@ personnalisée doit être exécutée et doit retourner soit `True` si tout s'est
!!! note
Ces fonctions sont le plus couramment définies au sein
d'[LSaddon](../conf/#configuration-des-lsaddons).
d'[LSaddon](../LSaddon/index.md#configuration-des-lsaddons).

View file

@ -117,4 +117,4 @@ passé, soit `False` en cas de problème.
!!! note
Ces fonctions sont le plus couramment définies au sein d'
[LSaddon](../conf/#configuration-des-lsaddons).
[LSaddon](../LSaddon/index.md#configuration-des-lsaddons).

View file

@ -221,7 +221,7 @@ $GLOBALS['LSconfig'] = array(
- Le nom d'un [LSobject](../../LSobject/index.md#configuration-lsobject) pour afficher la liste de
ce type d'objet
- Le nom d'une vue d'un [LSaddon](../conf/#configuration-des-lsaddons) au format
- Le nom d'une vue d'un [LSaddon](../../LSaddon/index.md#configuration-des-lsaddons) au format
`[addon]::[viewId]` pour afficher cette vue
- `emailSender`

View file

@ -1,6 +1,6 @@
# Les commandes *CLI* personnalisées
Les [LSaddons](../../conf/#configuration-des-lsaddons) peuvent fournir des commandes *CLI*
Les [LSaddons](../../conf/index.md#configuration-des-lsaddons) peuvent fournir des commandes *CLI*
personnalisées qui seront accessibles via la commande `ldapsaisie` fournie avec l'application. Cela
peut, par exemple, vous permettre de rendre accessible en ligne de commandes une procédure
implémentée dans le code d'LdapSaisie et vous permettre de mettre en place une tâche planifiée
@ -61,7 +61,7 @@ Pour mettre en place une telle commande *CLI* personnalisée, il est nécessaire
- `LScli :: autocomplete_addon_name()`
Autocomplétion du nom d'un [LSaddon](../../conf/#configuration-des-lsaddons).
Autocomplétion du nom d'un [LSaddon](../../conf/index.md#configuration-des-lsaddons).
- `LScli :: autocomplete_int()`
@ -69,11 +69,11 @@ Pour mettre en place une telle commande *CLI* personnalisée, il est nécessaire
- `LScli :: autocomplete_LSobject_types()`
Autocomplétion du nom d'un type d'[LSobject](../../conf/#configuration-lsobject).
Autocomplétion du nom d'un type d'[LSobject](../../conf/index.md#configuration-lsobject).
- `LScli :: autocomplete_LSobject_dn()`
Autocomplétion du DN d'un type précis d'[LSobject](../../conf/#configuration-lsobject) de
Autocomplétion du DN d'un type précis d'[LSobject](../../conf/index.md#configuration-lsobject) de
l'annuaire.
Par ailleurs, la méthode `LScli :: autocomplete_opts()` vous facilitera la construction de la
@ -84,7 +84,7 @@ Pour mettre en place une telle commande *CLI* personnalisée, il est nécessaire
Pour implémenter une telle commande *CLI* personnalisée, vous pouvez vous inspirer de l'exemple
fourni ci-dessous ou encore des commandes *CLI* fournies par les autres
[LSaddons](../../conf/#configuration-des-lsaddons) ou classes PHP de l'application.
[LSaddons](../../conf/index.md#configuration-des-lsaddons) ou classes PHP de l'application.
**Structure du fichier includes/addons/LSaddons.[addon name].php :**

View file

@ -1,6 +1,6 @@
# Les vues personnalisées
Les [LSaddons](../../conf/#configuration-des-lsaddons) peuvent fournir des vues personnalisées qui
Les [LSaddons](../../conf/index.md#configuration-des-lsaddons) peuvent fournir des vues personnalisées qui
seront accessibles à tout ou parties des utilisateurs de l'application. Ce filtrage d'accès sera
fait en utilisant les [LSprofiles](../../conf/global/ldap/LSprofile.md#profils-dutilisateurs) de
l'utilisateur connecté sur la
@ -17,7 +17,7 @@ Pour mettre en place une telle vue personnalisée, il est nécessaire de :
Pour implémenter une telle vue personnalisée, vous pouvez vous inspirer de l'exemple fourni
ci-dessous ou encore des vues fournies par les autres
[LSaddons](../../conf/#configuration-des-lsaddons) (par exemple, l'addon
[LSaddons](../../conf/index.md#configuration-des-lsaddons) (par exemple, l'addon
[exportSearchResultAsCSV](../../conf/LSaddon/LSaddon_exportSearchResultAsCSV.md#lsaddon_exportsearchresultascsv)).
**Structure du fichier includes/addons/LSaddons.[addon name].php :**

View file

@ -1,6 +1,6 @@
# Les addons (LSaddon)
Les [LSaddons](../../conf/#configuration-des-lsaddons) sont utilisés pour implémenter dans LdapSaisie
Les [LSaddons](../../conf/index.md#configuration-des-lsaddons) sont utilisés pour implémenter dans LdapSaisie
des fonctionnalités spécifiques tel que :
- le support d'une famille d'attributs spécifiques (POSIX, Samba, SUPANN…) par le biais de méthodes
@ -8,32 +8,32 @@ des fonctionnalités spécifiques tel que :
- des tâches communes et génériques (envoi de mails, connexion FTP/SSH…) ;
- l'implémentation de [déclencheurs](../../conf/#declencheurs_1) spécifiques à votre environnement :
- l'implémentation de [déclencheurs](../../conf/index.md#declencheurs_1) spécifiques à votre environnement :
création automatique du dossier client sur le serveur de fichiers de l'entreprise, création de la
boite mail de l'utilisateur… ;
- l'implémentation de [vues personnalisées](#les-vues-personnalisees) proposées dans l'interface
- l'implémentation d'action personnalisée sur les [objets](../../conf/#customactions) (synchronisation,
- l'implémentation d'action personnalisée sur les [objets](../../conf/index.md#customactions) (synchronisation,
archivage…) ou sur les [résultats de recherches](../../conf/LSobject/LSsearch.md#customactions)
(export, rapport personnalisé…) ;
## Structure d'écriture
L'écriture d'un [LSaddon](../../conf/#configuration-des-lsaddons) doit respecter une structure
L'écriture d'un [LSaddon](../../conf/index.md#configuration-des-lsaddons) doit respecter une structure
suffisamment souple afin de ne pas être un frein à vos contributions, tout en permettant d'assurer
la bonne intégration de votre contribution au projet. Le code que vous écrirez sera réparti dans
deux fichiers :
- `conf/LSaddons/config.LSaddons.[addon name].php`
Ce fichier contiendra la configuration de votre [LSaddon](../../conf/#configuration-des-lsaddons).
Ce fichier contiendra la configuration de votre [LSaddon](../../conf/index.md#configuration-des-lsaddons).
On y retrouvera la déclaration de constances et/ou variables de configuration permettant d'adapter
votre [LSaddon](../../conf/#configuration-des-lsaddons) à une installation et à un environnement.
votre [LSaddon](../../conf/index.md#configuration-des-lsaddons) à une installation et à un environnement.
- `includes/addons/LSaddons.[addon name].php`
Ce fichier contiendra le code à proprement dit de votre [LSaddon](../../conf/#configuration-des-lsaddons).
Ce fichier contiendra le code à proprement dit de votre [LSaddon](../../conf/index.md#configuration-des-lsaddons).
**Structure du fichier includes/addons/LSaddons.[addon name].php :**
@ -160,13 +160,13 @@ deux fichiers :
Par convention, la structure de ce fichier est toujours à peu près la même:
- On déclare tout d'abord les messages d'erreurs qui seront potentiellement émis par notre
[LSaddon](../../conf/#configuration-des-lsaddons) en commençant par les messages d'erreurs liés au
support de cet [LSaddon](../../conf/#configuration-des-lsaddons). On utilise pour cela la méthode
[LSaddon](../../conf/index.md#configuration-des-lsaddons) en commençant par les messages d'erreurs liés au
support de cet [LSaddon](../../conf/index.md#configuration-des-lsaddons). On utilise pour cela la méthode
`LSerror :: defineError()` qui attends en premier argument, l'identifiant du message
d'erreur et en tant que second argument, le
[LSformat](../../conf/global/LSformat.md#format-parametrable) du message d'erreur. Par convention,
les identifiants des messages d'erreurs seront en majuscule et préfixés du nom du
[LSaddon](../../conf/#configuration-des-lsaddons).
[LSaddon](../../conf/index.md#configuration-des-lsaddons).
- On déclare ensuite une fonction `LSaddon_[myaddon]_support` qui sera exécutée lors du chargement
de l'addon et qui permettra de s'assurer du support de celui-ci. Cette fonction devra retourner
@ -177,9 +177,9 @@ Par convention, la structure de ce fichier est toujours à peu près la même:
- que les librairies dont l'addon dépends sont bien chargées et fonctionnelles ;
- que ses variables et constantes de configuration sont bien définies ;
- de déclarer [les vues personnalisées](#les-vues-personnalisees) fournies par cet
[LSaddon](../../conf/#configuration-des-lsaddons) ;
[LSaddon](../../conf/index.md#configuration-des-lsaddons) ;
- de déclarer [les commandes *CLI* personnalisées](#les-commandes-cli-personnalisees) fournies par
cet [LSaddon](../../conf/#configuration-des-lsaddons) ;
cet [LSaddon](../../conf/index.md#configuration-des-lsaddons) ;
- On déclare ensuite les fonctions, classes et éléments fournis et manipulés par l'addon.
- Si notre addon offre des [commandes *CLI* personnalisées](#les-commandes-cli-personnalisees), les

View file

@ -3,7 +3,7 @@
Les [LSformRules](#lsformrules) sont les règles syntaxiques applicables aux champs des formulaires.
Ces règles serviront à s'assurer que les valeurs des champs récupérées des formulaires sont
syntaxiquement correctes. Elles seront configurables via le paramètre `check_data` des attributs des
[LSobjects](../conf/#configuration-lsobject).
[LSobjects](../conf/index.md#configuration-lsobject).
Pour chaque type implémenté, on trouvera une classe PHP dérivée de la classe `LSformRule` et devant
s'appeler `LSattr_rule_[nom du type]`. Dans celle-ci, il devra être défini la méthode statique

View file

@ -23,15 +23,15 @@
- `LSobjects/`
Configuration des [LSobjects](../conf/#configuration-lsobject).
Configuration des [LSobjects](../conf/index.md#configuration-lsobject).
- `LSaddons/`
Configuration des [LSaddons](../conf/#configuration-des-lsaddons).
Configuration des [LSaddons](../conf/index.md#configuration-des-lsaddons).
- `LSauth/`
Configuration des [LSauthMethod](../conf/#configuration-des-lsauthmethods).
Configuration des [LSauthMethod](../conf/index.md#configuration-des-lsauthmethods).
- `includes/`

View file

@ -34,5 +34,3 @@ Toutes les nuits, un snapshot de l'arbre Git est réalisé et est téléchargeab
l'adresse suivante :
<http://ldapsaisie.org/download/ldapsaisie-snapshoot.tar.gz>
{% include-markdown "arbo.md" %}

View file

@ -118,7 +118,7 @@ LdapSaisie doit correspondre avec un type de LSobject.
relations les plus simples (via un attribut de liaison) pourront être implémentées à l'aide d'un
simple paramètrage. Pour des relations, plus complexes, il sera possible d'implémenter des
méthodes personnalisées pour les gérer. Pour plus de détails, reportez-vous à
[la section concernée](../conf/#lsrelation).
[la section concernée](../conf/index.md#lsrelation).
!!! note

View file

@ -37,10 +37,10 @@
paquets `php-mail` et `php-mail-mime` dans Debian)
- La librairie [Net_FTP](https://pear.php.net/package/Net_FTP) (nécessaire pour le fonctionnement du
[LSaddon](../conf/#configuration-des-lsaddons) FTP, paquet `php-console-table` dans Debian)
[LSaddon](../conf/index.md#configuration-des-lsaddons) FTP, paquet `php-console-table` dans Debian)
- La librairie [PhpSecLib](https://github.com/phpseclib/phpseclib) (nécessaire pour le
fonctionnement du [LSaddon](../conf/#configuration-des-lsaddons) SSH, paquet `php-console-table`
fonctionnement du [LSaddon](../conf/index.md#configuration-des-lsaddons) SSH, paquet `php-console-table`
dans Debian)
!!! warning

View file

@ -155,7 +155,7 @@ apporter sur votre configuration et votre code personnalisé.
au travers un *logger* dédié (voir les méthodes `log_debug`, `log_info`, …). À défaut, il est
possible dutiliser la classe `LSlog_staticLoggerClass` qui facilite limplémentation.
- Pour vos [LSaddons](../conf/#configuration-des-lsaddons) : il est conseillé dutiliser un
- Pour vos [LSaddons](../conf/index.md#configuration-des-lsaddons) : il est conseillé dutiliser un
*logger* `LSaddon_[addon]` dédié. Le *logger* peut facilement être récupéré de la manière
suivante :