Documentation développeur |
La structure du logiciel
Le programme phpMyLab est découpé en 26 fichiers :
Fichiers généraux
- index.php (30 lignes): redirige vers "configuration/index.php" si l'installation n'a pas été faite, sinon redirige vers "reception.php".
- config.php: contenant les variables de configuration du programme (généré automatiquement).
- connectionPHPMYLABDB.php: information de connection à la base de données (généré automatiquement).
- reception.php (940 lignes): gestion de l'identification, du choix du module et initialisation de la session PHP.
- calendrier_variables.php (30 lignes): variables pour les calendriers, ex: jours fériés en statique en fonction des années.
- javascript.js (50 lignes): contient les fonctions utilisées pour afficher l'heure, initialiser la date des calendriers (CONGES,MISSIONS) et limiter le nombre de caractères.
- mdp.js (140 lignes): contient les fonctions nécessaires pour déterminer la complexité d'un mot de passe (reception.php).
- securitecode.php (60 lignes): génère un captcha pour protéger la demande d'identifiants du spam.
- en_tete.php (150 lignes): contient l'en-tête des pages (inclut dans les pages des modules).
- pied_page.php (30 lignes): contient le pied de page (inclut dans les pages des modules).
- style.php (2000 lignes): style de l'application.
Fichiers d'installation (dans le répertoire "configuration")
- index.php (300 lignes): détermine si les ré-requis sont respectés.
- etape1.php (220 lignes): étape 1 de l'installation, renseignement des paramètres relatifs à l'organisme.
- etape2.php (260 lignes): étape 2 de l'installation, création de la base de données.
- etape3.php (800 lignes): étape 3 de l'installation, choix des modules.
- etape4.php (480 lignes): étape 4 de l'installation, renseignement des derniers paramètres nécessaires, configuration de CAS.
- finConfig.php (500 lignes): génération des fichiers de configuration.
- style_config.css (380 lignes): style de la procédure d'intallation automatisée.
Fichiers AJAX (dans le répertoire "AJAX")
- ajax_valid_multi_conges.php (450 lignes): valide les congés sélectionnés.
- ajax_calcNbJours.php (100 lignes): calcul le nombre de jours ouvrés.
Fichiers CAS (dans le répertoire "CAS")
- CAS.php (2000 lignes): bibliothèque CAS
- config_cas.php (10 lignes): contient la configuration du serveur CAS
- identification.php (150 lignes): identifie l'utilisateur et le fait accèder au logiciel.
Dossier "expedition_attachments"
- Contient :
- les pièces jointes uploadées sur le serveur pour les expéditions,
- un fichier .htaccess permettant de protéger ce dossier.
Dossier "jquery-ui"
- Contient :
- la bibliothèque JQuery,
- le code source pour le FullCalendar (planning vue calendaire).
Module MISSIONS
- missions.php (1471 lignes): gestion des missions.
- calendrier_missions.php (244 lignes): dessin du calendrier des missions avec la bibliothèque graphique GD.
Module CONGES
- conges.php (2100 lignes): gestion des congés.
- calendrier_conges.php (230 lignes): dessin du calendrier des congés avec la bibliothèque graphique GD.
Module PLANNING
- planning.php (400 lignes): gestion des absences, planning en vue calendaire.
- planning_global.php (420 lignes): gestion des absences, planning en vue globale.
- planning_fullcalendar.php (320 lignes): code permettant de générer le planning en vue calendaire (fullcalendar).
- calendrier_absences.php (530 lignes): dessin du calendrier des absences avec la bibliothèque graphique GD.
- absences_imprimable.php (180 lignes): Mise en forme pour l'impression en vue calendaire.
- absences_globales_imprimable.php (160 lignes): Mise en forme pour l'impression en vue globale.
Module EXPEDITIONS
- expeditions.php (1600 lignes): gestion des expéditions, envoi de colis.
Page Administration
- administration.php (2195 lignes): administration de phpMyLab.
- administration_imprimable.php (198 lignes): Mise en forme pour l'impression des congés.
Liasons entre les fichiers du programme
Les inclusions des variables du fichier "connectionPHPMYLABDB.php" ne sont pas représentées pour des raisons de lisibilité. Ce fichier est inclus dès que le programme fait appel à la base données.
PhpMyLab a été développé à partir du programme MISSIONS qui n'est plus maintenu.
Cependant, phpMyLab a hérité de la structure interne du programme MISSIONS sauf que la partie
identification a été reécrite dans le fichier "reception.php".
le fichier "missions.php" contenait 1727 lignes.
Voici l'exemple de structure interne du programme MISSIONS(v1.1) :
Partie | Titre | Ligne | Nb lignes | Proportion | Langages |
A | Fonction sendmail() | 24 | 81 | 5.3% | PHP |
B | Initialisations générales (configuration du logiciel et configuration PHP) | 105 | 30 | 2% | PHP |
C | Initialisation de la session PHP et des variables du programme (tableau de connexion, de missions et de correspondance) | 135 | 63 | 4.2% | PHP/MySQL |
D | Gestion des mots de passe | 298 | 142 | 9.4% | PHP/MySQL |
E | Gestion des variables de recherche | 440 | 43 | 2.8% | PHP |
F | Gestion des variables de mission | 483 | 40 | 2.6% | PHP |
G1 | Recherche simple des missions | 526 | 131 | 8.7% | PHP/MySQL |
G2 | Recherche évoluée des missions | 657 | 132 | 8.7% | PHP/MySQL |
G3 | Reinitialiser, page suivante et precedente la Recherche evoluee | 789 | 23 | 1.5% | PHP |
G4 | Ajout d'une demande | 812 | 181 | 11.9% | PHP/MySQL |
G5 | Nouvelle demande mission | 933 | 74 | 4.9 | PHP |
G6 | Valider demande mission | 1007 | 73 | 4.8 | PHP/MySQL |
G7 | Annuler demande mission | 1080 | 81 | 5.4% | PHP/MySQL |
H1 | Script affichage heure | 1179 | 44 | 2.9% | Javascript |
H2 | Script CSS | 1223 | 48 | 3.2% | CSS |
H3 | Affichage non connecté | 1288 | 100 | 6.6% | PHP/HTML |
H4 | Affichage entête connecté | 1388 | 10 | 0.7% | PHP/HTML |
H5 | Partie recherche des missions | 1398 | 99 | 6.6% | PHP/HTML |
H6 | Affichage des résultats de la recherche evoluée | 1497 | 66 | 4.4% | PHP/HTML |
H7 | Partie demande de mission | 1563 | 53 | 3.5% | PHP/HTML |
Pourcentage d'occupation de code source par partie
Types de langages utilisés
PHP | |
PHP/Mysql | |
PHP/HTML | |
CSS | |
Javascript |