Archives mensuelles : février 2014

PHPUnit sous Windows 7 et la couleur sur la console

Lors des tests unitaires avec PHPUnit, un code couleur (code ANSI) apparaît en fin de message mais n'est pas interprété par la console windows.
D:\www\projet\tests>phpunit
..........
Time: 98 ms, Memory: 9.75Mb
←[30;42m←[2KOK (11 tests, 18 assertions)
←[0m←[2K
D:\www\projet\tests>

Pour obtenir la couleur, on peut utiliser le programme ansicon.

Décompresser ce zip et copier le contenu du répertoire x64 ou x86 (respectivement pour systèmes 64 bits ou 32 bits) dans un dossier référencé dans le path.

A chaque ouverture d'une console, exécuter ansicon avant de lancer les phpunit.
C:\Users\moi>ansicon
Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.
C:\Users\moi>d:
D:\>cd www\projet\tests
D:\www\projet\tests>phpunit
..........
Time: 98 ms, Memory: 9.75Mb
OK (11 tests, 18 assertions)D:\www\projet\tests>

Zend Framework 2 Tool

Qu'est-ce que ZFTool ?

ZFTool est un utilitaire qui facilite la gestion d'un projet ZF2 lors du développement.
Cet outil permet de :

  • créer un projet de ZF2 par l'installation d'une application squelette;
  • créer un nouveau module dans une application de ZF2 existante;
  • obtenir la liste de tous les modules installés à l'intérieur d'une application;
  • obtenir le fichier de configuration d'une application ZF2;
  • installer la bibliothèque ZF2 en précisant une version spécifique.

Comment l'installer pour l'utiliser dans un projet ?

Sous windows, il faut placer le fichier zftool.phar dans la répertoire qui va contenir le projet.

php composer.phar require zendframework/zftool:dev-master

En savoir plus…

On obtient le résultat suivant :

./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing zendframework/zendframework (2.2.5)
Loading from cache

- Installing zendframework/zftool (dev-master d73bf6f)
Cloning d73bf6f0ae6ce9b92acc72ecc8f336e2352f3ae0

zendframework/zendframework suggests installing doctrine/annotations (Doctrine Annotations >=1.0 for annotation features)
zendframework/zendframework suggests installing ircmaxell/random-lib (Fallback random byte generator for Zend\Math\Rand if OpenSSL/Mcrypt extensions are unavail
able)
zendframework/zendframework suggests installing ocramius/proxy-manager (ProxyManager to handle lazy initialization of services)
zendframework/zendframework suggests installing zendframework/zendpdf (ZendPdf for creating PDF representations of barcodes)
zendframework/zendframework suggests installing zendframework/zendservice-recaptcha (ZendService\ReCaptcha for rendering ReCaptchas in Zend\Captcha and/or Zend\
Form)
Writing lock file
Generating autoload files

D:\www\monprojet>

Utilisation de ZFTool

L'installation de ZFToll a créé un dossier vendor\zendframework\zftool\.
On lancera les commandes en exécutant le fichier zf.php de ce dossier.

Liste des modules du projet
php vendor\zendframework\zftool\zf.php modules list

Version de ZendFramework
php vendor\zendframework\zftool\zf.php version
Diagnostic
php vendor\zendframework\zftool\zf.php diag [options] [module name]
[module name] (Optionnel) nom du module à tester.
-v --verbose Affiche des informations détaillées.
-b --break Arrête le test à la première erreur.
-q --quiet N'affiche rien sauf les erreurs.
--debug Affiche les information de débogage provenant des tests.
Création d'un projet
php vendor\zendframework\zftool\zf.php create project <path>
<path> Dossier dans lequel on veut créer le projet.
Création d'un module
php vendor\zendframework\zftool\zf.php create module <name> [<path>]
<name> Nom du module à créer.
<path> (Optionnel) Dossier racine de l'application ZF2.
Création d'un contrôleur
php vendor\zendframework\zftool\zf.php create controller <name> <module> [<path>]
<name> Nom du module à créer.
<module> Le module dans lequel le contrôleur doit être créé.
<path> (Optionnel) Dossier racine de l'application ZF2.
Création d'une action
php vendor\zendframework\zftool\zf.php create action <name> <controller> <module> [<path>]
<name> Nom du module à créer.
<controller> Nom du contrôleur dans lequel l'action doit être créée.
<module> Le module dans lequel le contrôleur doit être créé.
<path> (Optionnel) Dossier racine de l'application ZF2.
Configuration de l'application
php vendor\zendframework\zftool\zf.php config list
liste des options de configuration.
php vendor\zendframework\zftool\zf.php config get <name>
affiche la valeur de l'option demandée.
php vendor\zendframework\zftool\zf.php config set <name> <value>
enregistre une option et l'affecte de sa valeur.
Générateur de classmap
php vendor\zendframework\zftool\zf.php classmap generate <directory> <classmap file> [--append|-a] [--overwrite|-w]
<directory> Le répertoire à scanner pour les classes PHP (mettre "." pour analyser le répertoire courrant)
<classmap file> Nom du fichier à generer. S'il n'est pas fourni, par défaut ce sera 'autoload_classmap.php' dans .
--append | -a Ajoute au fichier s'il existe.
--overwrite | -w Indique si on remplacera le fichier s'il existe.
Installation de la bibliothèque ZF2
php vendor\zendframework\zftool\zf.php zf <path> [<version>]
<path> Le répertoire où doit être installé la bibliothèque ZF2.
<version> La version à installer, si non spécifiée la dernière version disponible sera installée.

School Bus Manager – Les scénarios

Utilisateurs anonymes

U1 : Page d'accueil
Elle présente un flash-info, des infos défilantes, l'accès à la carte, aux documents, au règlement du service, un lien pour s'identifier ou demander un compte.
U2 : Page des informations
Elle présente les articles publiés par le service, paginés, du plus récent au plus ancien.
U3 : Carte du service et horaires
Elle présente une carte interactive, un formulaire de recherche pour obtenir les circuits et les horaires à partir d'un point d'arrêt.
U4 : Page des documents à télécharger
Elle présente une liste de documents à télécharger, avec, pour chacun, une description.

Parents

P1 : Page d'accueil
Elle présente la liste des enfants inscrits et la liste des sommes dues. Un menu permet d'accéder aux différentes fonctions.
P2 : Page d'inscription
Elle permet d'inscrire un enfant ou de modifier son inscription (si c'est possible).
P3 : Page du compte du parent
Elle présente un formulaire permettant de modifier les renseignements (emails, mot de passe, adresse, téléphone).
P4 : Page de paiement des sommes dues
Elle propose de payer les sommes dues s'il y en a.

Gestionnaires

G1 : Page d'accueil
Elle présente un menu général et des données statistiques.
G2 : Page de gestion des élèves
Affichage de la fiche des élèves en mode consultation et d'un menu pour accéder aux différentes fonctions.
G3 : Page de gestion financière
Affichage de données sur les sommes facturées, les impayés, les sommes payées avec répartition par mode de paiement. Un menu permet d'accéder aux différentes fonctions.
G4 : Page de gestion du réseau de transport
Accès aux différentes tables annexes en consultation, modification. Edition des données. Composition des circuits à partir de ces données.
G5 : Page de simulation de scénarios sur le réseau de transport
à décrire

Administrateurs

A1 : Page d'accueil
Elle présente un tableau de données sur le service et un menu d'accès aux différentes fonctions.
A2 : Page de préparation d'une année scolaire
Elle présente un formulaire de paramétrage.

Cette liste est à compléter ...

School Bus Manager – Les utilisateurs

Le site sera accessible aux utilisateurs suivants :

  • utilisateurs anonymes.  Ils arrivent sur la page d'accueil qui propose de s'identifier, de consulter la carte des circuits, les horaires, les informations et le règlement du service, de télécharger les documents et formulaires mis à disposition.
  • parents. Ils peuvent inscrire leurs enfants, consulter la fiche de leurs enfants, payer les sommes dues, modifier leur compte.
  • gestionnaires. Ils peuvent gérer les tables annexes, inscrire les élèves, modifier le réseau de transport en déplaçant les élèves inscrits, effectuer la gestion financière, éditer des documents, extraire des données comptables (prélèvements, rôles).
  • administrateurs. Ils peuvent paramétrer les documents, changer d'année scolaire, accéder en ajout et modification à toutes les tables.

Les scénarios seront notés U pour les utilisateurs anonymes, P pour les parents, G pour les gestionnaires et A pour les administrateurs.