Installer Centre SIS sous Windows

Publié le 19 avril 2012 par Menerve
Voici un tutoriel pour installer sous Windows, le système d'administration d'école open source Centre SIS, plus les traductions francaise et espagnole.
Voir mon article précédent sur les différents School Information Systems: http://www.alternative.free.fr/blog/?2012/02/07/27-systemes-d-administration-d-ecole-gratuits-en-php-mysql
Centre utilise les technologies PostgreSQL et PHP. Pour cela, nous allons d'abord...
1. Installer EasyPHP + PostgreSQL + phpPgAdmin
  1.1 Installer EasyPHP: www.easyphp.org
  1.2 Installer PostgreSQL en suivant le tuto du Site du zéro :
http://www.siteduzero.com/tutoriel-3-116766-installation-de-postgresql-et-de-phppgadmin-avec-easyphp-wampserver.html
Mais erreur:
Your PHP installation does not support PostgreSQL. You need to recompile PHP using the --with-pgsql configure option.
Qui correspond à l'erreur suivante dans le log Apache:
php_pgsql.dll' - The specified module could not be found.

La solution est la même que pour WampServer:
http://forum.wampserver.com/read.php?2,79156,79156
Soit ajouter les deux lignes suivantes après le bloc LoadModule dans le fichier /conf_files/httpd.conf
Loadfile "${path}/php/php539x120418163228/php5ts.dll"
Loadfile "${path}/php/php539x120418163228/libpq.dll"

2. Extraire les fichiers de l'archive de Centre dans le dossier www/ de EasyPHP
3. Créer un utilisateur pour la base de donnees
  3.1 Se connecter au serveur postgreSQL via phpPgAdmin avec l'utilisateur "postgres"
  3.2 Aller sur la section "Roles", puis Create Role. J'ai seulement coché "Superuser" et "Can login", car cela est nécessaire.
  3.3 Aller sur la section "Databases",puis Create Database. La, créer une base "centre" en UTF-8
  3.4 Cliquer sur "Privileges" pour que notre utilisateur centre puisse se connecter à la base: CREATE, TEMPORARY, CONNECT
--a partir d'ici, je reprend les instructions presentes dans le fichier INSTALL de Centre--
4. Edit the config.inc.php file to set the configuration variables
$DatabaseServer is the host name or ip for the database server
$DatabaseUsername: centre
$DatabasePassword: le mot de passe de l'utilisateur
$DatabaseName: centre
$DatabasePort: 5432
$htmldocPath: quelquechose comme 'C:\\Program Files\\PostgreSQL\\bin\\htmldoc'
$DefaultSyear: 2011 (important!)
$CentreLocales: ajouter les langues qui seront utilisees, ex: 'fra_FRA', 'esp'
5. Les packs de langue additionnels peuvent être obtenus en envoyant un email a info@centresis.org
Note: après des semaines, je n'ai rien recu. Et le site http://translate.centresis.org est mort maintenant... Mais j'ai quand même réussi à y récupérer les fichier du Pootle, à savoir les *.po pour les traductions francaises (à 80%) et espagnoles (à 14%...)
Voici au téléchargement les fichiers que vous devrez mettre dans le dossier /locale de Centre, il s'agit des packs de langue francaise et espagnole: http://www.alternative.free.fr/blog/fichiers/locale_fr_es_centre.zip
Pour en savoir plus sur le systeme d'internationalisation utilisé par Centre: http://www.alternative.free.fr/blog/?2012/04/19/31-internationalisation-i18n-de-projet-php-avec-gettext-et-poedit
6. Retour à phpPgAdmin, aller sur la base centre, cliquer sur SQL, et de la, aller chercher le fichier centre.sql dans le dossier de Centre. Executer le fichier.
A la fin de la page de résultat, vous devrier avoir "SQL executed.", et avant cela, aucune erreur gênante.
Cliquer sur "Tables" pour voir si les tables ont bien ete créées.
7. Tout est bon, ou presque...
Rendez-vous sur votre projet centre via le navigateur.
Si vous avez l'erreur
Fatal error: Call to undefined function bindtextdomain() in C:\wamp\www\centre\Warehouse.php on line 44
Il faut activer l'extension PHP php_gettext, enlever le ";" devant la ligne extension=php_gettext.dll dans php.ini (dans le dossier /conf_files d'EasyPHP)
8. Si vous avez aussi les lignes
Mac OS X  2??ATTR??M?Mcom.apple.quarantineq/0001;4cb75935;Safari;20FFB6EF-FA2D-46E5-BA6A-08CFFE0D8803|com.apple.Safari
qui apparaissent a l'écran, c'est à cause du fait que l'archive de Centre a été créé sous Mac OS. De ce fait nous avons des fichiers clones de chaque fichier, ce sont tous les fichiers commencants par "._"
Nous allons les supprimer avec Windows: dans la fenêtre de l'explorateur qui pointe sur le répertoire de Centre, chercher "._", et supprimer tout.
9. Ouf..., la page de login apparait enfin!!
Je vous laisse le soin de vous logger avec 'admin':'admin'
Si ca ne marche pas, c'est que l'année $DefaultSyear du config.inc.php ne correspond pas avec celle de la table staff, champ syear
10. Enfin, première mesure de sécurité: changer le login/mot de passe de l'admin.
Rendez-vous dans la section user, chercher admin par son username et changer les informations.