ldapsaisie/INSTALL

268 lines
12 KiB
Text
Raw Normal View History

- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
/========================\
| INSTALLATION |
\========================/
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
1. Pré-requis
=============
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
2020-05-06 12:31:24 +02:00
* Le service Apache HTTP avec le module mod_rewrite d'activé. Les règles de réécriture d'URL sont définies
dans le fichier .htaccess fourni avec l'application et il est donc nécessaire d'autoriser une telle configuration
à ce niveau via la directive AllowOverride devant inclure à minima FileInfo.
* L'utisateur exécutant le serveur web doit avoir les droits d'écriture sur le dossier 'tmp'. En cas d'installation
à partir du paquet Debian, ce dossier est remplacé par un lien symbolique vers le dossier /var/cache/ldapsaisie/.
* PHP 5.6 (ou supérieur) avec magic_quotes_gpc et register_globals à off.L'outil CLI de PHP est par ailleurs
nécessaire pour l'utilisation des outils CLI fournis avec l'application (fourni par le paquet php-cli dans Debian).
* Le support LDAP dans PHP (paquet php-ldap dans Debian)
* Le support mhash dans PHP (paquet php5-mhash dans Debian Lenny, intégré à php-common dans les versions supérieurs)
* Le support json dans PHP (pear install pecl/json sur RedHat, intégré au paquet php5-common précédement)
* Net_LDAP2 (paquet php-net-ldap2 dans Debian ou pear install net_ldap2)
* Le support mbstring dans PHP (paquet php-mbstring depuis Debian Stretch, intégré au paquet php-common dans Debian)
* Smarty (paquet smarty3 dans Debian)
* La librairie File_CSV_DataSource (paquet php-file-csv-datasource dans Debian)
* La librairie Console_Table (nécessaire pour le fonctionnement de l'outil CLI, paquet php-console-table dans Debian)
* Les librairies Mail et Mail_Mime (nécessaire pour l'envoi de courriels, paquets php-mail et php-mail-mime dans Debian)
* L'extension PHP ftp (nécessaire pour le fonctionnement du LSaddon FTP, paquet php-ftp dans Debian)
* La librairie PhpSecLib (nécessaire pour le fonctionnement du LSaddon SSH, paquet php-phpseclib dans Debian)
2020-04-29 15:54:21 +02:00
#################
# Avertissement #
#################
#
2020-05-06 12:31:24 +02:00
# La librairie Net_LDAP2 oblige le fait que la racine DSE de l'annuaire soit lisible en anonyme sinon la connexion à
# l'annuaire échouera systématiquement.
#
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
2. Téléchargement
=================
2020-05-06 12:31:24 +02:00
2.1. A partir du paquet Debian
------------------------------
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
2020-05-06 12:31:24 +02:00
L'installation à partir du paquet Debian peut être réalisée soit en téléchargeant manuellement le paquet, soit en
déclarant le dépôt APT suivant dans votre fichier /etc/apt/sources.list :
deb http://ldapsaisie.org/debian stable main
2020-05-06 12:31:24 +02:00
Il ne vous restera ensuite plus qu'a installer le paquet ldapsaisie avec la commande suivante :
apt-get install ldapsaisie
Le fichier /etc/ldapsaisie/apache.conf est un example de configuration du serveur web Apache. La configuration du
logiciel ce fera ensuite dans le dossier /etc/ldapsaisie/local/.
2.2. A partir de Git
--------------------
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
Le dépôt Git peut être récupéré anonymement en utilisant la commande suivante :
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git
2020-04-29 15:54:21 +02:00
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
2020-05-06 12:31:24 +02:00
La racine web de l'application se trouvera alors dans le dossier /ldapsaisie/src/public_html/.
2.3. A partir des snapshot
--------------------------
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
2020-05-06 12:31:24 +02:00
Toutes les nuits, un snapshot de l'arbre Git est réalisé et est téléchargeable au format tar.gz à l'adresse suivante :
http://ldapsaisie.org/download/ldapsaisie-snapshoot.tar.gz
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
3. Arborescence du projet
=========================
Racine
doc/
2023-10-13 19:10:55 +02:00
Les fichiers sources de la documentation (Markdown).
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
lsexample/
Les fichiers relatifs à l'annuaire d'exemple.
2020-05-06 12:31:24 +02:00
src/
Les sources de l'application.
2020-05-06 12:31:24 +02:00
public_html/
La racine web de l'application : celle-ci ne contient que les fichiers .htaccess et index.php qui configure et déclenche la réécriture d'URL.
conf/
Contient les fichiers de configuration.
LSobjects/
Configuration des LSobjects.
LSaddons/
Configuration des LSaddons.
LSauth/
2020-05-06 12:31:24 +02:00
Configuration des LSauthMethod.
includes/
Contient les fichiers des ressources.
addons/
Les addons au projet.
class/
Les fichiers de définition des classes PHP.
js/
Les fichiers Javascript.
libs/
Les librairies utilisées.
lang/
Les fichiers d'internationalisation.
templates/
Les fichiers template de l'interface. Il y a un sous-dossier par template.
css/
Les fichiers css de l'interface. Il y a un sous-dossier par template CSS.
images/
Les images de l'interface. Il y a un sous-dossier par template d'image.
2020-05-06 12:31:24 +02:00
local/
Les fichiers personnalisés de l'installation.
tmp/
Les fichiers temporaires (y compris le cache des templates).
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
4. Tutoriel d'installation
==========================
2020-05-06 12:31:24 +02:00
Cette section décrit les différentes étapes de l'installation de LdapSaisie. Deux méthodes d'installation sont présentées
ici, l'une à partir des sources du projet et l'autre à partir du paquet Debian.
Dans ce tutoriel, nous partirons du principe que vous avez pleinement la main sur votre serveur (installation de nouveau
paquet et configuration de votre serveur web). Nous partons également du principe que votre annuaire LDAP est déjà en
place. Nous utiliserons pour cette exemple de mise ne oeuvre l'annuaire correspondant au schéma et à la configuration
présente dans les sources du projet dans le dossier lsexample.
1. La première étape consiste à installer le locigiel en tant que tel. Pour cela, référez vous au chapitre
Téléchargement.
En cas d'installation à à partir du paquet Debian, la configuration du logiciel se fera dans le dossier
/etc/ldapsaisie/local/. Les fichiers placés dans ce dossier prévaleront toujours aux fichiers fournis par le paquet
Debian, vous permettant facilement de modifier un composant existant ou dans écrire de nouveaux. Ainsi, pour modifier
un fichier CSS par exemple, il vous suffira de le placer dans le dossier /etc/ldapsaisie/local/css/.
2020-05-06 12:31:24 +02:00
Pour une installation à partir du code source, il vous faut cloner le dépôt Git du projet dans le dossier
/var/www/ldapsaisie. Pour cela il vous faut avoir installés les outils de Git contenu, dans Debian, dans le paquet
git-core. Le dépôt Git doit ensuite être récupéré anonymement en utilisant la commande suivante :
2020-05-06 12:31:24 +02:00
git clone https://gitlab.easter-eggs.com/ee/ldapsaisie.git /var/www/ldapsaisie
2020-04-29 15:54:21 +02:00
########
# Note #
########
#
2020-05-06 12:31:24 +02:00
# Pour que cette commande se déroule correctement, vous devez avoir accès au port TCP 443 du serveur
# gitlab.easter-eggs.com. En cas de problème vérifiez votre parefeu.
#
2020-05-06 12:31:24 +02:00
La suite des opérations se déroulera donc maintenant dans le dossier /var/www/ldapsaisie. Pour avoir plus de détails
sur les élements qu'on retrouve dans ce dossier, vous pouvez consulter la section concernée. Nous allons nous
instérésser plus particulièrement :
2020-05-06 12:31:24 +02:00
* au script upgradeFromGit.sh permettant la mise à jour de votre repos tout en concervant les adaptations que nous
ferons pour l'usage d'LdapSaisie adapté à notre annuaire ;
* au dossier config.local dans lequel seront stockés vos fichiers et vos adaptations de l'application ;
* au dossier src/public_html qui correspond à la futur racine du site web de l'application.
2020-05-06 12:31:24 +02:00
Le principe de l'adaptation est ici de mettre vos fichiers personnalisés dans le dossier config.local, de les déclarer
dans votre fichier config.local/local.sh contenant la liste des fichiers devant être installés. Le fichier local.sh est
la source de configuration du script upgradeFromGit.sh. Il faut donc dans un premier temps créer votre fichier local.sh
en copiant le fichier d'example local.sh.example. Ce fichier est un script bash déclarant les variables de
configurations suivantes :
2020-05-06 12:31:24 +02:00
LOCAL_FILES
2020-05-06 12:31:24 +02:00
La liste des chemins des fichiers à installer dans l'arboressence du site. Cette élément doivent être séparés par
des espaces ou des retour à la liste. Exemple :
2020-05-06 12:31:24 +02:00
public_html/conf/config.inc.php
public_html/lang/fr_FR.UTF8/lang.php
2020-05-06 12:31:24 +02:00
LOG_FILE
Nom du fichier de log des mises à jour.
THEME
Le nom du theme à installer (facultatif et non traité dans ce tutoriel).
########
# Note #
########
#
2020-05-06 12:31:24 +02:00
# * Il est possible d'utiliser dans ce fichier de configuration la variable bash $ROOT_DIR correspondant au chemin
# du dossier d'installation, c'est à dire dans notre exemple /var/www/ldapsaisie.
#
2020-05-06 12:31:24 +02:00
2. La deuxième étape concerne la configuration globale de l'application : Cette partie est principalement contenue dans
le fichier conf/config.inc.php (ou /etc/ldapsaisie/local/conf/config.inc.php en cas d'installation à partir du paquet
Debian). Il faut donc dans un premier temps copier ce fichier dans le dossier config.local et le déclarer dans la liste
des fichiers à déployer lors des mises à jour (variable LOCAL_FILES dans le fichier local.sh). Il s'agit en particulier
dans ce fichier de configurer la connexion à votre annuaire. Vous pouvez vous inspirer du fichier d'exemple fourni et
pour plus de détails, consulter la documentation du projet. [1]
########
# Note #
########
#
# Notez qu'il est possible de passer l'application en mode debug ce qui peut être utile par la suite.
#
2020-05-06 12:31:24 +02:00
3. La troisième étape concerne la configuration des types de LSobjects : Chaque type d'objet manipulé par LdapSaisie
doit correspondre avec un type de LSobject.
a. Création du fichier de classe :
2020-05-06 12:31:24 +02:00
Ce fichier contient la déclaration de la classe PHP correspondant au type de LSobject. Cette classe étend la classe
LSldapObject qui contient pour ainsi dire toute les méthodes et proprités nécessaires pour les types de LSobject simples
(sans LSrelation). Les fichiers des classes sont contenus dans le dossier /includes/class/ et portent les noms composés
de la manière suivante :
class.LSobjects.[nom du type d'LSobject].php
2020-05-06 12:31:24 +02:00
Le plus simple pour cette étape est de copier un des fichiers d'exemple dans le dossier config.local et de l'adapter en
changeant le nom du type d'objet dans l'ensemble du fichier. Pour cela, le fichier de classe du type LSpeople est le
plus simple car il ne contient que le strict minimum. Pour un fichier de classe ayant des LSrelations à gérer, le
fichier de classe LSgroup contient déjà les méthodes nécéssaires pour gérer ces cas.
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
b. Configurer vos LSobject :
2020-05-06 12:31:24 +02:00
Cette partie est certainement la plus longue et consiste à déclarer l'ensemble des informations relatives aux types des
objets LDAP manipulés. Les fichiers d'exemples fournis vous seront alors d'une aide précieuse. basé vous sur l'un de
pour créer le votre. Pour cela le fichier de configuration du type d'LSobjet LSpeople est le plus complet et est un bon
point de départ. Pour plus de détails sur les élements de configuration de ce fichier, consulter la documentation du
projet. [1]
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
c. Configurer si nécessaire les relations entre les objets appelés LSrelations :
2020-05-06 12:31:24 +02:00
Cette opération consiste dans un premier temps à écrire les méthodes PHP nécessaires pour gérer ces relations : pour
cela regardez le fichier de classe du type LSgroup. Il faudra ensuite déclarer ces relations dans la configuration des
types d'LSobjects : Pour plus de détails, consulter la documentation du projet. [1]
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
#############
# Important #
#############
#
2020-05-06 12:31:24 +02:00
# Pensez à déclarer les fichiers que vous venez de créer dans la variable LOCAL_FILES du fichier local.sh. Exemple
# pour le type d'LSobjet portant comme nom LSexample :
#
2020-05-06 12:31:24 +02:00
# src/conf/LSobjects/config.LSobjects.LSexample.php
# src/includes/class/class.LSobjects.LSexample.php
#
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
########
# Note #
########
#
2020-05-06 12:31:24 +02:00
# Vous pouvez également personnaliser l'interface : Il est possible de personnaliser à votre goût l'interface en
# écrivant votre template ou en modifiant simplement
# les fichiers CSS. Une partie de cette documentation concernera bientôt cette problématique. Patience...
#
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
2020-05-06 12:31:24 +02:00
4. La dernière étape à ce niveau consiste à lancer le script upgradeFromGit.sh pour qu'il installe les fichiers que
vous venez de créer. Ce script est conçu pour dire tout ce qu'il fait donc en cas de problème vous devriez
rapidement comprendre où cela coince. Dans tout les cas, n'hésitez pas à poser vos questions à la communauté sur la
liste <ldapsaisie-users@lists.ldapsaisie.org>.
- functions : -> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang et gettext pour traduire les messages qu'on lui passe. -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable smarty. - LSexample : -> Utilisation de la traduction via __() plutôt que gettext - LSdefault : -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...) -> Ajout de méthode de gestion de LSlang - LSsession : - Login/RecoverPassword : Utilisation du template LSdefault - Gestion de la traduction : -> Ajout de la méthode setLocale() définissant la langue de l'interface. -> Ajout des méthodes getLangList() et localeExist() -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté) -> Méthode setLdapServer() : rédifinition de la locale avec setLocale() -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue - Config : -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les chaînes sont données non traduite, et la traduction se fera lors de leur utilisation. -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la fonction __() -> L'enconding et la langue sont désormais géré indépendament - ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à cause de leur mise en cache. - Documentation : -> Mise à jour relative en changement de paramètres de configuration -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 18:42:51 +01:00
Liens
=====
1. Documentation du projet : http://ldapsaisie.org/doc