Giter VIP home page Giter VIP logo

sae_pompier's Introduction

Pinpon 45

Sommaire

Présentation

PinPon45 est une application web permettant la gestion efficace des documentations techniques et réglementaires exploitables avec facilité par les sapeurs-pompiers du Loiret. L'application permet une interrogation rapide et exhaustive des documents par mots-clés (tags), par catégories, par type de document, par favoris, par date consultation, etc. Les documents sont stockés sur une base de données locale au serveur, et sont accessibles depuis l'application web. Les documents y sont centralisés, historisés et consultables par les utilisateurs autorisés.

Installation

Prérequis

  • Python 3.10 ou supérieur
  • pip
  • virtualenv (optionnel mais recommandé, peut être installé avec pip : pip install virtualenv)
  • git

Exécution de l'application

  • Pour installer l'applicaion, il suffit de cloner le dépôt git et de se placer dans le répertoire de l'application :

    git clone https://github.com/Nathan-Etave/PinPon45.git
    cd PinPon45
  • Pour créer un environnement virtuel, permettant d'isoler les dépendances de l'application, il suffit de lancer la commande suivante (optionnel) :

    virtualenv -p python3 env
  • Pour activer l'environnement virtuel, il suffit de lancer la commande suivante :

    source env/bin/activate # Linux
    # ou
    env\Scripts\activate # Windows
  • Pour installer les dépendances nécessaires a l'application, il suffit de lancer la commande suivante (l'installation peut prendre quelques minutes) :

    pip install -r requirements.txt
  • IMPORTANT ! Avant de lancer l'application, il faut déclarer une clé secrète pour l'application et créer la base de données :

    Pour déclarer la clé secrète, il faut se rendre dans le fichier PinPon45/app/__init__.py et modifier la ligne suivante :

    app.config['SECRET_KEY'] = '' # Modifier la valeur entre les guillemets
  • Pour créer la base de données, il faut lancer la commande suivante (la base de données sera prérémplie avec des données de test disponibles dans le fichier PinPon45/app/static/csv/):

    flask init_database # Linux
    # ou
    flask --app app init_database # Windows

    Il est essentielle de garder les rôles "Administrateur" et "Désactivé" dans une version de production. Il est également essentiel de garder la catégorie "Non catégorisé" dans une version de production.

  • Enfin, pour lancer l'application, il suffit de lancer la commande suivante :

    flask run --host=<ip> --port=<port> # Linux
    # ou
    flask --app app run --host=<ip> --port=<port> # Windows

    L'application est maintenant accessible depuis un navigateur web à l'adresse http://<ip>:<port>.

Se connecter à l'application

Pour se connecter à l'application, il faut se rendre sur l'adresse http://<ip>:<port>/login et entrer les identifiants d'un compte utilisateur.

Comptes de test

Différents comptes de test sont disponibles pour tester l'application :

Identifiant Mot de passe Rôle
[email protected] admin Administrateur
[email protected] michel Utilisateur
[email protected] marguerite Utilisateur

Structure de l'application

Répertoire app

  • Le répertoire app contient l'ensemble des fichiers python nécessaires au fonctionnement de l'application.
  • Le fichier __init__.py permet d'initialiser l'application et de définir les variables d'environnement.
  • Le fichier database.py permet de créer les tables de la base de données.
  • Le fichier forms.py permet de créer les formulaires de l'application.
  • Le fichier models.py permet de définir la structure de la base de données.
  • Le fichier nlp.py permet de générer les tags automatiquement grâce à un algorithme de NLP.
  • Le fichier requests.py permet de définir les requêtes à la base de données.
  • Le fichier view.py permet de définir les routes de l'application.

Répertoire app/static

  • Le répertoire app/static contient l'ensemble des fichiers statiques de l'application.
  • Le répertoire app/static/css contient l'ensemble des fichiers css de l'application.
  • Le répertoire app/static/csv contient l'ensemble des fichiers csv de l'application.
  • Le répertoire app/static/js contient l'ensemble des fichiers JavaScript de l'application.
  • Le répertoire app/static/temp contient l'ensemble des fichiers temporaires de l'application (celui-ci est créé automatiquement lorsque nécessaire).

Répertoire app/templates

  • Le répertoire app/templates contient l'ensemble des fichiers html de l'application.
  • Le répertoire app/templates/components contient l'ensemble des fichiers html de composants de l'application.

Répertoire database

  • Le répertoire database contient le fichier de la base de données de l'application.

Répertoire docs

  • Le répertoire docs contient l'ensemble des documents de conception de l'application.

Équipe de développement

sae_pompier's People

Contributors

nathan-etave avatar romainmechain avatar norikokonut avatar arthurvillette avatar louisl18 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.