290 lines
7.5 KiB
Plaintext
290 lines
7.5 KiB
Plaintext
README
|
|
======
|
|
|
|
- Project
|
|
- System Requirements
|
|
- Installation
|
|
- Library
|
|
- Translate
|
|
|
|
Note : Project are define to be use on Linux Server, so take care about path and file name.
|
|
|
|
|
|
PROJECT
|
|
=======
|
|
|
|
This application is a frontend for the WebService and it's display information graphically.
|
|
|
|
|
|
SYSTEM REQUIREMENTS
|
|
===================
|
|
|
|
- Apache 2.4
|
|
- PHP 5.5.x
|
|
- Chartdir library
|
|
- browscap.ini (http://tempdownloads.browserscap.com/, http://browscap.org/)
|
|
- wkhtmltopdf (http://wkhtmltopdf.org/)
|
|
|
|
|
|
INSTALLATION
|
|
============
|
|
|
|
See the file scripts/build/configure.php
|
|
|
|
On server this script is automatically called with the install option.
|
|
configure.php --install
|
|
|
|
Each servers are reference with a directory, name as the hostname, in config dir and all configure
|
|
file is list here
|
|
|
|
|
|
Environment configuration
|
|
-------------------------
|
|
|
|
- Variables
|
|
|
|
Define application environment in the vhost. This mode activate special features and debugging mode.
|
|
|
|
SetEnv APPLICATION_ENV "production" => Production
|
|
SetEnv APPLICATION_ENV "staging" => Recette
|
|
SetEnv APPLICATION_ENV "development" => Developpement
|
|
|
|
- Persistent Storage
|
|
|
|
data/asso
|
|
data/association
|
|
data/bilanclient
|
|
data/bodacc
|
|
data/courrier
|
|
data/giant
|
|
data/greffes
|
|
data/groupes
|
|
data/iris
|
|
data/log
|
|
data/logos
|
|
data/marques
|
|
data/nouveautes
|
|
data/wkhtml
|
|
|
|
- Temporary storage
|
|
|
|
[projet]/data/
|
|
cache
|
|
files
|
|
pages
|
|
sessions
|
|
wsdl
|
|
|
|
|
|
Apache configuration
|
|
--------------------
|
|
|
|
=> Development example
|
|
|
|
<VirtualHost *:80>
|
|
ServerName extranet.sd.dev
|
|
AddDefaultCharset utf-8
|
|
DocumentRoot "WORKSPACE/extranet/public"
|
|
SetEnv APPLICATION_ENV "development"
|
|
<Directory "WORKSPACE/extranet/public/">
|
|
AllowOverride All
|
|
Order allow,deny
|
|
Allow from all
|
|
<IfModule mod_rewrite.c>
|
|
RewriteEngine On
|
|
RewriteCond %{REQUEST_URI} ^/favicon.ico$ [OR]
|
|
RewriteCond %{REQUEST_FILENAME} -s [OR]
|
|
RewriteCond %{REQUEST_FILENAME} -l [OR]
|
|
RewriteCond %{REQUEST_FILENAME} -d
|
|
RewriteRule ^.*$ - [NC,L]
|
|
RewriteRule ^.*$ index.php [NC,L]
|
|
</IfModule>
|
|
</Directory>
|
|
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
|
|
LogLevel debug
|
|
ErrorLog "logs/extranet-error.log"
|
|
CustomLog "logs/extranet-access.log" common
|
|
</VirtualHost>
|
|
|
|
=> Production configuration
|
|
|
|
See VHOST file
|
|
|
|
|
|
PHP Configuration
|
|
-----------------
|
|
|
|
File upload
|
|
-----------
|
|
post_max_size = 50M
|
|
file_uploads = On
|
|
upload_max_filesize = 40M
|
|
max_file_uploads = 10
|
|
|
|
Session
|
|
-------
|
|
On sharing plateform, these parameters must be specified to the best value for all web application
|
|
|
|
session.gc_maxlifetime = 86400
|
|
session.cookie_lifetime = 86400
|
|
|
|
Application must override the session.save_path, soap.wsdl_cache_dir to define it's own path.
|
|
|
|
Project Configuration
|
|
---------------------
|
|
|
|
- Autoloader
|
|
See in the public/index.php. We use Classmpap Autloader which store Class Key and his file
|
|
path.
|
|
To generate classmap file use bin/classmap_generator.php
|
|
|
|
-
|
|
|
|
|
|
WKHTMLTOPDF
|
|
-----------
|
|
- Get the static version of wkhtmltopdf
|
|
- On Ubuntu :
|
|
sudo apt-get install libxrender1 libfontconfig
|
|
- Set execution flag (chmod +x)
|
|
- Test on command line
|
|
|
|
Page Break with WkhtmlToPdf :
|
|
In print CSS use all theses page-break-* properties
|
|
|
|
page-break-before,
|
|
page-break-after
|
|
Auto Pas de règle particulière en ce qui concerne les sauts de page.
|
|
Always Force un saut de page systématiquement avant ou après l'élément.
|
|
Avoid Evite dans la mesure du possible un saut de page avant ou après l'élément.
|
|
Left Définit que le prochain saut de page se fera sur la page de gauche.
|
|
Right Définit que le prochain saut de page se fera sur la page de droite.
|
|
Inherit Valeur identique à celle de l'élément parent.
|
|
|
|
page-break-inside
|
|
Auto Pas de règle particulière en ce qui concerne les sauts de page.
|
|
Avoid Evite dans la mesure du possible un saut de page au milieu l'élément.
|
|
Inherit Valeur identique à celle de l'élément parent.
|
|
|
|
|
|
WebService
|
|
----------
|
|
|
|
|
|
Partners
|
|
--------
|
|
|
|
|
|
LIBRARY
|
|
=======
|
|
|
|
|
|
|
|
TRANSLATE
|
|
=========
|
|
|
|
1. Creating PO file
|
|
--------------------
|
|
To create a PO file for different applications, first we need to download and install poedit,
|
|
here is the download link http://www.poedit.net/download.php
|
|
|
|
2. Set the poedit preferences
|
|
-----------------------------
|
|
File->Preferences : Fill fields to set our identies
|
|
tab Parsers, edit PHP settings, in the list of extension add *.phtml
|
|
|
|
3. Open a po file
|
|
------------------
|
|
PO file configuration for each project. As project as to be share use path that could work everywhere.
|
|
Catalogue->Properties, Set the Base paht to "../../" (to read under the whole project, if po
|
|
files is located under PROJECT/application/languages/)
|
|
|
|
Add supplemental paths to look in (application, library,....)
|
|
Add more precise search string by configuring in the Sources keywords these items
|
|
|
|
translate
|
|
_
|
|
setLabel
|
|
setValue
|
|
setMessage
|
|
setLegend
|
|
_refresh
|
|
append
|
|
prepend
|
|
|
|
In PHP source embrace all strings only with these functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gestion des sessions
|
|
====================
|
|
Pour la gestion des sessions, il est nécessaire de faire une configuration spéciale afin d'éviter
|
|
les conflits entre les différents vhosts.
|
|
|
|
Les sessions sont stockées dans le même repertoire, les valeurs gc_maxlifetime, cookie_lifetime
|
|
définissent les limites de validité des sessions.
|
|
Il faut savoir que chaque modification faites par chaque application, dans chaque vhosts modifie le
|
|
fonctionnement général de PHP.
|
|
Pour eviter d'avoir des conflits sur la gestion des sessions, nous stockons les sessions dans un
|
|
répertoire définit.
|
|
|
|
Voir la configuration dans le fichier application.ini
|
|
|
|
resources.session.save_path = APPLICATION_PATH "/../cache/sessions"
|
|
resources.session.gc_maxlifetime = 86400
|
|
resources.session.cookie_lifetime = 86400
|
|
resources.session.remember_me_seconds = 86400
|
|
|
|
Debuggage
|
|
=================
|
|
Firebug et ChromePHP sont disponible.
|
|
Voir dans le fichier Bootstrap pour activer ou non le debuggage.
|
|
|
|
CONFIGURATION APC
|
|
=================
|
|
apc.cache_by_default = On
|
|
apc.enable_cli = Off
|
|
apc.enabled = On
|
|
apc.shm_size = 60
|
|
apc.max_file_size = 1M
|
|
apc.include_once_override = On
|
|
apc.stat = Off
|
|
apc.stat_ctime = Off
|
|
|
|
apc.shm_size : Taille du cache en Mo.
|
|
apc.num_files_hint : La valeur du nombre maximum de fichiers à cacher est conseillée.
|
|
apc.user_entries_hint : La valeur du nombre maximum d'entrées utilisateur
|
|
(cache utilisateur) à stocker est conseillée.
|
|
|
|
Il n'est pas conseillé de tenter de leurrer APC en doublant (par exemple)
|
|
ces valeurs. APC double déja en interne les valeurs spécifiées, et le gain en
|
|
performances est fortement réduit avec des valeurs non adaptées.
|
|
|
|
apc.stat : Se base sur les dates de modifications pour recharger le fichier
|
|
apc.stat_ctime : Se base sur les dates de création pour recharger le fichier
|
|
|
|
apc.max_file_size : Restriction sur la taille maximum d'un fichier à cacher.
|
|
Ceci peut créer des problèmes de performance lors de la demande en cache de ces
|
|
fichiers-là, mais si la mémoire est limitée, l'option demeure intéressante
|
|
|
|
apc.filters : Expression régulière utilisée pour exclure tout fichier dont le
|
|
nom a une correspondance.
|
|
|
|
apc.cache_by_default : Inverse la tendance de apc.filters : APC cachera
|
|
uniquement les fichiers qui ont une correspondance sur le filtre, au lieu de les ignorer.
|
|
|
|
apc.cache_by_default = Off
|
|
apc.filters = "+\.php$"
|
|
|
|
Dans le vhosts d'apache :
|
|
php_flag apc.cache_by_default On
|
|
|
|
|
|
|