Application développée avec les technologies suivantes :
Le projet se compose de 2 modules :
Module composé de deux pages HTML, architecture MVC. Situé dans ./modules/Application
Technologies
HTML5. CSS, PHP, jQuery, D3.js
Structure de base
Interfaces système
Interface avec le module Api, qui consomme les services Web exposés via une série de points de terminaison qui renvoient JSON, avec lesquels les graphiques du rapport sont construits dynamiquement.
Couche de services Web RESTful. Situé dans ./modules/Api
Technologies
PHP, MySQL, Doctrine
Il se compose d'une série de points de terminaison consultés par la page de résultats qui fournissent des données pour les graphiques de la page de résultats.
Points de terminaison exposés
$ git clone [email protected]:diegoangel/informe-gei.git
$ cd informe-gei
$ git checkout zf3-version
$ composer install
Modifiez les informations de connexion, le cas échéant, et exécutez :
mysql -u root -proot -e " CREATE SCHEMA informe_gei "
Les données de configuration de la connexion doivent être placées dans le fichier config/autoload/local.php
.
. . .
return [
' doctrine ' => [
' connection ' => [
' orm_default ' => [
' driverClass ' => PDOMySqlDriver::class,
' params ' => [
' host ' => ' 127.0.0.1 ' ,
' user ' => ' root ' ,
' password ' => ' root ' ,
' dbname ' => ' informe_gei ' ,
' charset ' => ' utf8 ' ,
]
],
],
],
];
Ce fichier n'existera pas, vous devez donc le créer en copiant, collant et renommant le fichier config/autoload/local.php.dist
.
cp config/autoload/local.php.dist config/autoload/local.php
De plus, ce fichier est ignoré dans le référentiel de contrôle de version et donc les informations de connexion ne seront jamais partagées accidentellement et resteront sécurisées.
La fonctionnalité du projet Doctrine Migrations est utilisée pour gérer les modifications et le versionnage de la base de données. Pour en savoir plus sur les possibilités ou le fonctionnement de cet outil, nous vous suggérons de visiter le lien vers la documentation du projet.
Une fois la base de données configurée, procédez au chargement initial des données.
Exécutez la commande suivante pour le démarrer :
./vendor/bin/doctrine-module migrations:migrate
Vous serez alors informé que la commande est sur le point d'être exécutée et de son éventuelle criticité et vous devrez la confirmer.
Loading configuration from the integration code of your framework (setter).
Doctrine Database Migrations
WARNING ! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish to continue ? (y/n)
Appuyez sur la lettre et
Les paramètres de configuration de Doctrine Migration se trouvent dans le fichier config/autoload/global.php
. . .
return [
' doctrine ' => [
// migrations configuration
' migrations_configuration ' => [
' orm_default ' => [
' directory ' => ' data/Migrations ' ,
' name ' => ' Doctrine Database Migrations ' ,
' namespace ' => ' Migrations ' ,
' table ' => ' migrations ' ,
],
],
],
];
Démarrez le serveur de console sur le port 8080 et accédez à http://localhost:8080/ pour vérifier le fonctionnement normal du site Web.
Remarque : Le serveur PHP embarqué est uniquement destiné au développement , en production utilisez Apache, Nginx ou un autre qui répond à vos exigences.
$ php -S 0.0.0.0:8080 -t public/ public/index.php
# O utilizar el alias definido en la sección scripts de composer.json:
$ composer serve
Le projet est livré avec un mode de développement par défaut, utile pour déclarer une configuration qui ne s'exécutera que dans l'environnement local du développeur afin de pouvoir, par exemple, établir une connexion à une base de données de test entre autres. Fournit trois alias pour activer, désactiver et interroger l'état :
$ composer development-enable # habilita el modo desarrollo
$ composer development-disable # deshabilita el modo desarrollo
$ composer development-status # informa sobre si esta o no habilitado el modo desarrollo
Deux suites de tests unitaires ont été créées à l'aide de PHPUnit.
./module/Api/test
./module/Application/test
Exécutez la commande suivante dans la console.
$ ./vendor/bin/phpunit -v --debug --testsuite Api
$ ./vendor/bin/phpunit -v --debug --testsuite Application
Vous pouvez exécuter les deux suites avec la commande :
$ ./vendor/bin/phpunit -v --debug
Pour générer le rapport de couverture de test, exécutez la commande suivante dans la console, puis ouvrez le fichier ./data/coverage/index.html
dans le navigateur.
$ ./vendor/bin/phpunit -v --debug --coverage-html data/coverage
Si vous devez ajouter des modifications locales à la configuration PHPUnit, copiez phpunit.xml.dist
dans phpunit.xml
et éditez le nouveau fichier ; ce dernier a priorité sur le premier lors de l'exécution des tests et est ignoré par le système de contrôle de version. Si vous souhaitez modifier définitivement la configuration, modifiez le fichier phpunit.xml.dist
.
Utilisé Scrutinizer CI pour exécuter :
Vous pouvez trouver le fichier de configuration scrutinizer.yml
, que nous utilisons sur le serveur d'intégration continue Scrutinizer.
L'évaluation de la qualité du code, la couverture des tests et l'état de la dernière build peuvent être consultés grâce aux badges trouvés sous le titre du document.
REMARQUE : Des informations supplémentaires telles que des images, des documents techniques et des captures d'écran contenant des informations sur le rapport de projet sont accessibles dans le dossier ./doc.
Exemple de configuration fonctionnelle dans Apache.
Cet exemple n'envisage pas la déclaration des niveaux de journalisation, l'emplacement des fichiers journaux ou les règles de réécriture spéciales, par exemple.
< VirtualHost *:80>
ServerName informe-gei.local
DocumentRoot /var/www/html/informe-gei/public
< Directory /var/www/html/informe-gei/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
< IfModule mod_authz_core.c>
Require all granted
IfModule >
Directory >
VirtualHost >