6 pièce(s) jointe(s)
Projet de création d'une application web
Bonjour tout le monde,
Je me permets de poster ici mon projet afin d'avoir vos avis, vos conseils, vos astuces pour que je puisse réaliser mon projet. Un travail long et conséquent m'attend pour les prochains mois et c'est avec beaucoup de motivation que je me lance sur cette voie. Je poste cela ici car j'ai surement vocation à ce que mon programme (s'il aboutit), devienne un logiciel open-source :)
Mon parcours et mes compétences :
Je suis diplômé en Astrophysique et de ce fait je manipule beaucoup l'outil informatique. N'ayant jamais eu de réels cours de programmation, j'ai pu apprendre à 99,99% par moi-même grâce au web... Je me suis très vite intéressé au langage Python qui pour moi, dans mon domaine m'offrait une "facilité" de codage que je n'ai pas retrouvé dans les autres langages. Je me débrouille donc un petit peu en Python, mais également en MySQL. Sur ce dernier, j'ai également appris par moi-même en faisant des tutoriels, essais, et je gère maintenant la base de données d'un logiciel ERP-CRM appelé "Dolibarr". Je m'attèle enfin à un troisième langage, proche du premier, qui est le framework Django. Pourquoi ? Parce que l'objectif de mon projet peut être réalisé de façon efficace avec ce framework et que j'ai déjà quelques connaissances Python ;) Vous me suivez jusque là ? Alors on passe au projet ..
Mon projet informatique :
J'ai pour projet de concevoir une application web permettant de gérer l'état civil d'une mairie. Cela sous-entend la création des différents actes municipaux (actes de naissance, mariage, ...), des fiches individuelles et familiales des personnes, les tables annuelles et décennales, une API de messagerie et d'agenda, ...
L'ensemble des documents PDF qui seront crées s'exporteront vers une GED (je pense à LogicalDoc car j'ai quelques connaissances sur ce logiciel open-source) pour sécuriser les documents, mais également faire office de bibliothèque d'archivage.
Une partie BackOffice sera développée pour tous le personnel de la mairie par exemple, et une partie FrontOffice sera accessible à toute personne se connectant sur le site de la mairie et pourra effectuer des demandes : prise de RDV, demande de copie ou d'extrait d'un acte, visualisation des infos de la mairie, ...
Les langages et technologies utilisées :
L'application web sera développée à l'aide du framework Django.
La base de données sera développée par MySQL ou MariaDB (préférence personnelle).
Le serveur d'application permettant de faire tourner cela sera sans aucuns doutes : Apache2.
Les ajax seront quant à eux développés à l'aide de jQuery (que je n'ai encore jamais manipulé).
Enfin, les modifications apportées à la GED seront effectuées avec Java.
Déroulement du projet :
J'ai commencé à travailler sur le projet depuis maintenant une semaine. N'ayant jamais développé de programmes (seulement des codes permettant la recherche en astrophysique : par ici (petite pub sur mon article récemment publié), je suis totalement novice sur la démarche à adopter pour s'organiser du mieux possible.
A travers différentes lectures, j'ai pu constater que l'on pouvait découper les phases de travail de la façon suivante :
- Ecrire des "Use Case" permettant de définir l'architecture globale du projet (phase que je suis entrain de finir)
- Recensement des différentes fonctions qui composeront le programme
- Définition de la base de données
- Phase d'écriture du code
Certains parlent également de schéma UML (j'avoue ne pas trop avoir compris la façon pour s'y prendre), ni si cela s'avère pertinent.
En réalité, je suis un peu perdu sur la façon dont je dois m'y prendre. N'ayant jamais eu un projet de la sorte, j'espère pouvoir être un petit peu guidé sur mes démarches de construction et de programmation ;)
Etat actuel de mon travail :
Je pense avoir fait un petit peu le tour des "Use Case" de mon projet côté API utilisateur. Certains nécessitent encore quelques améliorations/précisions. Est-ce un bon début de commencer par là ?
USE CASE GLOBAL :
Pièce jointe 225007
USE CASE FICHE INDIVIDUELLE :
Pièce jointe 225008
USE CASE FICHE FAMILIALE :
Pièce jointe 225009
USE CASE ACTES (à revoir) :
Pièce jointe 225010
USE CASE API GED :
Pièce jointe 225011
USE CASE TABLES ANNUELLES ET DECENNALES :
Pièce jointe 225012
Je suis actuellement entrain de réfléchir à toute la base de données derrière. Je pense que ce sera des tables plus ou moins indépendantes les unes des autres pour le moment, sauf quand on fera du requêtage par exemple pour avoir tous les actes d'une personnes.
Une fois ma BDD terminé, je m'attaquerai alors aux classes et objets à créer avant de commencer la programmation.
Suis-je toujours dans la bonne optique pour développer un programme ou me conseilleriez-vous une autre approche ?
Voilà pour mon projet, sa présentation et les objectifs que je me fixe.
J'espère qu'il correspond bien à la section, ainsi qu'à la philosophie du forum :)
En espérant vous lire, je vous remercie par avance,
Cordialement
Valentin