Skip to content

Lycee-Experimental/django-lxp

Repository files navigation

django-lxp

Un site élaboré avec Django pour gérer les inscriptions au Lycée Expérimental.

TODO

  • Formulaire d'inscription [#1] : Aboutir à un formulaire permettant le renseignement de toutes les données nécessaires à l'inscription.

  • Fiche d'inscription [#9] : Générer un PDF de fiche d'inscription qu'il ne restera plus qu'à imprimer et faire signer par élève et familles.

  • Recherche dans les inscriptions : Travailler à une interface permettant de faire des recherches dans la base.

  • Génération d'autres fichiers utiles au secret : Générer différentes vues (views.py) qui nous seront utiles (liste d'élèves par Spé, par niveau, par GB, GECCO...) et ainsi les PDF correspondants. Traitement des données pour créer des graphiques (évolution du nombre d'inscriptions, diagrammes par genre, par niveau, géolocalisation...), dans l'interface admin.

  • Menu d'administration : Modifier l'interface admin pour y intégrer différents menus pour accéder aux différentes fonctionalités : modification de fiches, validation des inscriptions, assignation à un groupe de base/ecco, désinscriptions, recherche élèves, génération de divers PDF, statistiques, cartographie...)

  • Exports de la base : Exporter la base élève dans les formats convenant à un import dans les bases Siecle et Cyclade du rectorat.

Informations techniques

Hébergement et CI/CD

Le code est hébergé sur Github, et l'intégration et le déploiement continu (CI/CD) est assuré par les Github Actions.

L'application est automatiquement déployée sur Heroku, les fichiers statiques sont hébergés sur AWS S3, par la librarie storages (backends s3boto3), la base de donnée Posgresql sur [AWS RDS](https://aws.amazon.com/fr/rds).

Depuis qu'Heroku est devenu payant, l'application est déployée sur Oracle qui offre des ressources gratuites.

Le nom de domaine a été reservé chez Freenom et transite par le CDN (content delivery network) Cloudflare qui fournit le SSL (https) ainsi qu'une protection du site contre d'éventuelles attaques.

Les js et css sont hébergés par jsdelivr :

L'ensemble de ces services sont gratuits pour une utilisation basique.

Django

La gestion des dépendances se fait avec Poetry.

L'application est contruite avec la version 4 du framework web django.

Le formulaire est mis en forme avec la librairie Crispy-form

La génération d'un formulaire en plusieurs étapes (wizard) est obtenue grâce à la librairie Formtools.

Le champ Adresse avec assistance de Google Map (c'est mââââl mais bien pratique!) est apporté par la librairie django-address.

La visualisation de tableaux est simplifiée par la librairie django-tables2.

L'export de pages web sous forme de PDF est réalisé par la librairie Weasyprint.

La cartographie est obtenue avec django-leaflet.

L'autompletion de certains champs (commune naissance, département...) est obtenue avec django-autocomplete-light.

La vérification du format des numéros de téléphone se fait avec django-phonenumber-field

La possibilité d'avoir une sélection multiple de checkboxes est obtenue avec la librairie django-multiselectfield.

Boostrap

Bootstrap est un framwork css / js développé initialement pour twitter qui permet l'afficahge de site web responsive. On utilise ici un thème dark de bootstrap mis au point par Vino Rodrigues

Bulma

npm install bulma-o-steps bulma-switch

About

Un site pour les inscriptions au LXP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published