Skip to content
This repository has been archived by the owner on Sep 10, 2024. It is now read-only.

README_FR

Huby Franck edited this page Nov 28, 2020 · 2 revisions

l-extended_todo

La version Anglaise de cette documentation peut être trouvée ici.

English version of this documentation can be found at here.

Table des matières

Description :

l-_todo est une liste de tâches étendue avec gestion du temps.

Le nom de l'application sera également abrégé en let or LET dans cette documentation.

Dépendances logicielles et pré-requis :

LET est une application web, application mobile utilisant les technologies suivantes:

LET est basé sur la version 5 du framework Symfony.

Prérequis :

Dépendances de Symfony :

Allez à (https://flex.symfony.com/) pour plus de détails sur ces dépendances.

LET a besoin et utilise les composants suivants du framework Symfony :

  • profiler (recommandé uniquement dans l'environnement de développement) (symfony/profiler-pack)
  • debug (recommandé uniquement dans l'environnement de développement) (symfony/debug-pack)
  • maker (recommandé uniquement dans l'environnement de développement) (symfony/maker-bundle)
  • orm (symfony/orm-pack)
  • api (api-platform/api-pack)
  • sensio/framework-extra-bundle
  • logger (symfony/monolog-bundle)

Autres dépendances :

  • Ramsey Uuid Doctrine Type (ramsey/uuid-doctrine): Fournit des uuid comme types de base de données.
    • Ramsey Uuid: cette dépendance est automatiquement installée par Uuid-Doctrine.
  • doctrine-extensions: Ces extensions sont un moyen simple d'utiliser certains comportements représentant de bonnes pratiques:
    • blameable : Blâmez l'utilisateur qui a apporté une modification (vraiment utile pour prouver qui a causé un bug).
    • loggable : Enregistrez ce qui arrive à vos entités et suivez les modifications.
    • sluggable : Lorsque vous n'utilisez pas les uuid pour les entités, il est utile de disposer d'une belle URL avec le titre par exemple au lieu de l'ID de la ressource.
    • timestampable : Avec les autres extensions on garde qui a fait quoi, celle-ci vous dit quand.
    • translatable : Un moyen simple de conserver le contenu traduit dans la base de données.
  • doctrine2-spatial : Manipuler des données spatiales (géométriques et géographiques), nous allons l'utiliser pour des informations géographiques avec lat et long et pour calculer les distances en surface. Oui, la géolocalisation sera une fonctionnalité importante de cette application.

Base de données :

Schema :

Database schema

Vous trouverez le schema complet de base de données au format xml dans le fichier /doc/l-extended_todo_database_Schema.xml, ce fichier est utilisable dans ondras / wwwsqldesigner.

Le schéma actuel de base de données est disponible sous cette forme dans un container Docker du projet à l'adresse : http://localhost:8002/?keyword=l_extended_todo.

Vous pouvez aussi utiliser les fonctions de wwwsqldesigner dans ce container ou depuis une autre instance via le fichier XML fournit.

Voir la section Docker : pour plus d'informations.

Docker :

Containers :

LET défini et utilise des images Docker utiles pour le développement.

Le premier container database est indispensable au développement car il héberge la base de données pour la phase de développement.

Les 2 suivants sont utiles si votre hôte de développement n'est pas configuré pour faire tourner PHP 7.4. Ils définissent un container PHP-FPM et un container NGINX.

Les 2 derniers containers sont des outils optionnels pour aider au développement.

Voici un descriptif de ces images :

Configuration :

Pour faire fonctionner ces instances Docker vous aurez besoin de définir un ensemble de variables de configuration dans votre fichier .env (.env.local n'est pas pris en charge par docker).

Le détail de chaque variable est indiqué ici en commentaire :

###> docker ###
# Fuseau horaire applicable
TIMEZONE=Europe/Paris
### nom du réseau docker à utiliser ###
# Réseau Docker à créer au préalable avec la commande "docker network create l-extended_todo_default" 
# ou quel que soit le nom du réseau que vous souhaitez
DOCKER_NETWORK=l-extended_todo_default
###Mysql ###
# port d'accès externe
MYSQL_EXT_PORT=8086
# mot de passe root
MYSQL_ROOT_PASSWORD=changeme
# base de données pour LET
MYSQL_DATABASE=let
# utilisateur pour LET
MYSQL_USER=let_user
# mot de passe utilisateur pour LET
MYSQL_PASSWORD=changeme_let_passwd
###Nginx ###
# port externe NGINX
# votre instance de LET sera accessible par http://localhost:8000 où 8000 est le port externe configuré
NGINX_EXT_PORT=8000
###PhpMyAdmin ###
# port externe PhpMyAdmin
# votre instance de PhpMyAdmin pour LET sera accessible par http://localhost:8001 où 8001 est le port externe configuré
PMA_EXT_PORT=8001
###SQLD ###
# port externe wwwsqldesigner
# votre instance de wwwsqldesigner pour LET sera accessible par http://localhost:8002 où 8002 est le port externe configuré
SQLD_EXT_PORT=8002
### Proxy conf ###
# configuration proxy
# laissez commenté ou vide si vous n'utilisez pas de proxy
# proxy http définit tel que : http://plop:[email protected]:8080
#PROXY=''
# proxy https définit tel que : http://plop:[email protected]:8080
#PROXYS=''
# configuration 'no_proxy' pour accès direct
#NO_PROXY='localhost,127.*'
###< docker ###