Par Déromba Serge Bissari
- Symfony 2 (PHP)
- MySQL
- HTML + CSS + JS
- Twitter Bootstrap
- PHP 5.6 au moins
- Configuration de PHP
date.timezone
doit être défini ('Europe/Paris' par exemple)
- Configuration de Apache
mod_rewrite
doit être activé etAllowOverride
doit être àAll
dans la configuration duVirtualHost
(Pas obligatoire)
- Composer
- Bower
- Peut nécessiter npm
- Droits de l'utilisateur du service apache sur les répertoires de cache et de logs
- Vérifier les pré-requis
- Créer une base de données MySQL vide pour le projet
- Placer le projet dans le répertoire public du serveur apache
- Ouvrir un terminal et se placer dans le répertoire du projet
- Exécuter
./deploy.sh
- Remplir les informations demandées durant l'exécution du script à savoir :
- L'hôte du serveur MySQL
- Le port du serveur MySQL
- Le nom de la base de données créée précédemment
- Le nom d'utilisateur pour se connecter à la base de données
- Le mot de passe pour se connecter à la base de données
- Lancer votre serveur apache
- Ouvrir un navigateur vous rendre à l'accueil de l'application :
- Si
mod_rewrite
est activé etAllowOverride
àAll
dans la configuration duVirtualHost
de Apache{adresse du serveur}:{port du serveur}/{repertoire du projet}/web
- Exemple :
localhost:80/test-wenius/web
- Sinon
{adresse du serveur}:{port du serveur}/{repertoire du projet}/web/app.php
- Exemple :
localhost:80/test-wenius/web/app.php
- Si
Pour que vous puissiez tester sans soucis, les routes de l'api REST n'ont pas été sécurisées.
Voici la liste des routes de l'api REST :
api/users
: La liste des utilisateursapi/users/{id}
: Les détails de l'utilisateur {id}api/cars
: La liste des véhiculesapi/cars/{id}
: Les détails du véhicule {id}api/cars/{id}/problems
: La liste des problèmes du véhicule {id}api/problems/{id}
: Les détails du problème {id}api/cars/{id}/operations
: La liste des opérations du véhicule {id}api/operations/{id}
: Les détails de l'opération {id}api/operations/{id}/interventions
: La liste des interventions de l'opération {id}api/interventions/{id}
: Les détails de l'intervention {id}
- Création des deux types d'utilisateur via un même formulaire
- Récupération des données et statistiques pour le tableau de bord
- Réalisation de l'api REST car n'ayant jamais fait celà auparavant
- Apprentissage de nouvelles choses
- Première réalisation d'une api REST
- Challenge imposé par le temps limite et les autres occupations
-
Structure MVC (Model - View - Controller)
-
Code source dans le répertoire
src
- Les routes ont été déninies au fur et à mesure en Annotations dans les fichiers controller
AppBundle
contient le code source lié à l'application webController
contient les ControllerSecurity
référence aux utilisateurs et au loginWork
référence aux traitements métiers
Entity
contient les classes ModelSecurity
référence aux utilisateursWork
référence aux traitements métiersMedia
référence aux médias traités
Repository
contient des dépôts où sont mises les requêtes sur les données de nos modelSecurity
référence aux utilisateursWork
référence aux traitements métiersMedia
référence aux médias traités
Resources/views
contient les fichiers de vue retournés par les controllerSecurity
référence aux utilisateursWork
référence aux traitements métiersDefault
référence à l'accueil ou au tableau de bord
Form
contient les formulaires types affichés dans les vues et traités dans les controllerSecurity
référence aux utilisateursWork
référence aux traitements métiersMedia
référence aux médias traités
ApiBundle
contient le code source lié à l'apiController
contient les ControllerSecurity
référence aux utilisateurs et au loginWork
référence aux traitements métiers
-
Assets (CSS et JS)
- Dépendances récupérées via bower dans le répertoire
web/assets
- Personnalisations dans le répertoire
web/custom
- Dépendances récupérées via bower dans le répertoire
-
Uploads dans le répertoire
web/uploads