Giter Site home page Giter Site logo

pegase_rnpv's Introduction

Prototype de RNPV pour Pégase (PVs seulement)

Description

Pégase ne permet actuellement que d'exporter un PV sous format CSV. Cela induit qu'à chaque génération d'un PV, le gestionnaire doit effectuer manuellement un certain nombre d'opérations pour le remettre en forme avant de l'imprimer pour le jury.

Ce développement est un prototype qui permet de fusionner 1/ un fichier de données CSV exporté de Pégase et 2/ un fichier modèle XLSX.

Pré-requis

  • Python 3.11

Image Docker

Une image Docker est disponible. Pour l'utiliser :

docker build -t pegase_rnpv .
docker run --rm -p 5000:5000 pegase_rnpv

Installation

git clone https://github.com/kaisersly/pegase_rnpv
cd pegase_rnpv
pip install -r requirements.txt

Lancement

flask run (en localhost:5000)
ou
flask run -h 0.0.0.0 -p 5001

Puis ouvrir l'URL indiquée

Fonctionnement

Une fois sur la page web, deux options sont disponibles :

  1. Lister les champs de fusion : charge un fichier CSV généré par Pégase et liste les balises utilisables dans un fichier modèle XLSX
  2. Fusionner les fichiers : fusionne un fichier CSV généré par Pégase et un fichier modèle XLSX

Fichiers de démonstration

Les fichiers de démonstration (CSV et XLSX) sont disponibles sur le forum du projet PC-SCOL. Chercher le sujet "Prototype Pégase RNPV".

Balises

Deux types de balises existent :

  • GLOBAL : ces balises peuvent être n'importe où dans le tableau SAUF dans la ligne étudiant. Il est possible d'ajouter du texte autour de la balise qui sera rendu tel quel après la fusion (par ex. "Type de session : #SESSION_LIBELLE#" sera fusionné en "Type de session : Session 1")
  • LIGNE ETUDIANT : ces balises ne peuvent être utilisées QUE sur la ligne étudiant. Il n'est pas possible d'ajouter du texte autour de la balise. Si du texte apparaît en plus de la balise, il disparaît lors de la fusion (par ex. "Nom : #NOM#" n'affichera au final que le nom de l'étudiant)

Format

Le format global du classeur est préservé lors de la fusion. Le format de la ligne étudiant et de la ligne en-dessous sont utilisés pour générer des lignes paires et impaires en alternant le format.

En-tête et pied de page

L'en-tête et le pied de page du modèle ne sont pas conserver lors de la fusion (limitation de la libraire openpyxl utilisée pour lire le fichier modèle et générer le fichier fusionné).

pegase_rnpv's People

Contributors

kaisersly 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.