SlideShare a Scribd company logo
1 of 36
Download to read offline
Gestion des absences de l’Université d’Angers




               Présentation d’UnivAbsences

     Par MONJAL Guillaume, LAURENT Corentin, RAFAILLAC Maxime, RAOULT Benoit
                                                                       1
Pourquoi ce sujet ?
             Sans ce projet
             Gestion des absences par tableur
             Emargement sur papier
             Saisie des absences manuellement par l’administration

             Avec les applications UnivAbsences
             Application accessible depuis tout support*
             Gestion de l’historique
POURQUOI ?




             Pour l’étudiant, historique de ses absences
             Simplification de l’appel
             Gain de temps pour le personnel administratif




             *possédant un accès internet
                                                                     2
UnivAbsences plan



Gestion de
  projet
                      Base de
                      données
                                          Application
                                          web JQuery
                                                                4
                                                               Application
                                                                 IPhone




1000 heures, 10000 lignes d’application web, 3500 lignes d’application IPhone



                                                                            3
Gestion de projet



   Versionning, Issues, Méthode AGILE



                                   4
Comment tous travailler sur le même
             repository?
             -   Utilisation des commandes Mercurial
             -   Repository hébergé sur Bitbucket
             -   Travaille sur le même projet
             -   Gain de temps
VERSIONING




                                                       5
Comment se répartir les taches ?
                         -   Création de tâches sur Bitbucket
ISSUES & METHODE AGILE


                         -   Assignation à une personne
                         -   Mémorisation des bugs/erreurs rencontrés
                         -   Conserver un fil conducteur




                         Méthode AGILE
                         - Méthode SCRUM
                         - Réunion quotidienne


                                                                        6
Répartition des taches
              Calculé en fonction du temps passé
REPARTITION




                                                   7
Base de données



Tables, Trigger, Scheduler, Problèmes rencontrés



                                              8
TABLES ANNUABSENCE
TABLES




                              9
TYPES D’ABSENCE
              - 4 types d’absence
                 PRESENCE_JUSTIFICATIF   IS_JUSTIFIE    EN_ATTENTE                        Description

                           0                 0                 1                 En attente de justification
                           0                 0                 0                           Injustifié
                           1                 0                 0            Injustifié avec justificatif non valide
                           1                 1                 0                           Justifiée



              JUSTIFICATION
                                             Justificatif valide

                                         Justificatif valide
TABLES




                        Justificatif
                                                                   Justificatif valide
                          valide
                                                                                                                      temps
                                            Absence

         Justificatif
                                                                                         Justificatif invalide
          invalide
                                                                                                                        10
TRIGGER ou DECLENCHEUR
          Exécute un script après un évènement (Insertion, Modification,
          Suppression) sur une table



          Permet l’auto-ajout des tables d’historisation

          Conserve l’ancienne et la nouvelle valeur après modification
TRIGGER




          Justifie les absences APRES l’ajout d’un justificatif




                                                                         11
SCHEDULER ou PLANIFICATEUR
            Exécute un script planifié
            Université d’Angers  Gérée en batch via le planificateur Unix
            Permet le passage des absences de en attentes à injustifiées
            Répondre au cahier des charges du livret de l’étudiant
SCHEDULER




                                                                        12
TABLE MUTANTE
                       Vérification des justificatifs lors de l’ajout d’une absence  cas
PROBLEMES RENCONTRES


                       d’une absence déjà justifiée
                       Trigger impossible
                       L’application requête pour vérifier si un justificatif est déjà
                       présent avant l’ajout d’une absence




                                                                                      13
Application web
 Jquery Mobile


   Requêtes Oracle, JSON, JSP, Servlet



                                    14
ARCHITECTURE GLOBALE




                            Serveur de
                            l’université
ARCHITECTURE




                                                                              Base de données
                                                                               ANNUABSENCE




                                                Conteneur web   Service web
                                                   (Tomcat)       IPhone




               Ordinateur ou Smartphone



                                                                                 Application native iPhone
                                                                                                   15
LE SERVEUR   LES CARACTERISTIQUES DU SERVEUR




                                               16
COMMUNICATION AVEC LE SERVEUR




                      Requête HTTP (GET ou POST)             Instruction SQL




             Client          Réponse (?)                       Données         BDD
                                                   Serveur
LE SERVEUR




                Mais de quel type est la réponse du serveur?


                                                                               17
LES PAGES JSP


                         Requête




             Client                   Conteneur Web
LE SERVEUR




                        PAGE JSP




                                                 18
Java Server Pages



                          Java
             HTML



                    JavaScript
LE SERVEUR




                    JSP
                                 19
JQuery Mobile

                Qu’est ce que Jquery mobile?
                   •   Framework javascript
                   •   Basé sur les technologies web les plus performantes
                        • Jquery
                        • Ajax
JQUERY MOBILE




                Pourquoi l’avoir choisi?
                   • CSS généré par JQM
                   • Auto-redimensionnement


                Challenge
                   • Framework très récent (première release stable: 16/11/11)
                   • Surtout utilisé avec du PHP comme langage serveur
JQuery Mobile

                Diapo avec différentes taille d’écran : meme URL avec 2 affichages différents
JQUERY MOBILE




                                                                                        User agent
JQuery Mobile… dans les jsp
                                                        Scriptlet Java



                                                                  JSP


                                                    HTML (JQM)
JQUERY MOBILE




                                                     JavaScript




                (Par ordre d’exécution)
JQUERY MOBILE                JQuery Mobile … et AJAX




                          - Ajout d’absences
                          - Visualisation absence déjà justifiée
                          - Auto-complétion
                          - Navigation entre les pages




                Pas de validation, dynamique, sans rechargement intégrale de page
Les plugins




                                                            Infobulles (SimpleDialog)
JQUERY MOBILE




                Calendrier (datebox)




                                       Graphique (JQPlot)
CAS PRATIQUE
                                     « Ajout d’une absence par l’administration »
LE SERVEUR – EXEMPLE




                       Liste des promotions
                        Recherche élève par auto-complétion
                          Choix de la date




                          Génération automatique de l’emploi du temps de l’étudiant



                                                                                      25
Perspectives d’évolution

             ₋ Suppression d’un justificatif

             ₋ Gestion des droits

             ₋ Gestion des cours dont l’appel a été effectué

             ₋ Validation automatique dans le calendrier
LE SERVEUR




             ₋ Impression des rapports du tableau de bord

             ₋ Envoi d’e-mail à l’étudiant au-delà d’un certain nombre d’absences

             ₋ Internationalisation (I18N)


                                                                            26
4   Application iPhone



         xCode, Objective-C, Service web



                                      27
Développement iOS, comment ca marche ?




                                           SDK iOS



                xCode (MAC)
IPHONE




4          Langage                    Simulateur     28
Web service IPhone


                  {
                  "cours":
                  [{"nomMatiere":"EI5 AGI Optimisation",
                       "nomJour":"Lundi",
                  Requête HTTP (uniquement GET)
                       "hDebut":"09:30",
                         avec paramètres
                       "hFin":"10:50",
                       "typeCours":"TD",
                       "nomGroupe":"EI5 AGI-IAIE TD G2",   Traitement divers
                       "isAppelEffectue":"false",
                       "no_etape":"5EI5",
                    Réponse au format JSON
         IPhone        "no_individu":"3390", Service
                                                Web
                       "no_evenement":"70688",
                       "no_base":"ISTIA",
IPHONE




                       "no_annee":"2011",
                       "no_semaine":"6",
                       "salle":"E23"}
                  ]}



4                                                                   29
Fonctionnalités

          Etudiant


                Liste des absences avec leur état



                Liste des justificatifs éventuels



                Détails des justificatifs
IPHONE




4                                                     30
Fonctionnalités

          Professeur


             Effectuer l’appel

                        Liste des cours de la journée
                        Liste des étudiants participant au
                        cours
             Visualiser différentes statistiques

                        Liste des matières enseignées
IPHONE




                        Liste des 10 étudiants les plus
                        absents
                        Ratio des absences justifiées/
                        non-justifiées/en attentes



4                                                            31
Perspectives d’évolution


         ₋ Authentification CAS ou LDAP (Obligatoire)

         ₋ Encodage des requêtes et décodage des réponses

         ₋ Améliorations graphiques (CoverFlow)
IPHONE




4                                                           32
Difficultés rencontrées

             ₋ Adaptation à JQuery Mobile (JavaScript, syntaxe, etc.)

             ₋ Base de données de l’Université d’Angers

             ₋ Gestion des performances de l’application

             ₋ Développement Iphone
CONCLUSION




             ₋ Authentification (passer par le CAS)

             ₋ Déploiement

             ₋ Gestion du temps
                                                                        33
Conclusion


             ₋ Projet professionnel

             ₋ Problématique du projet

             ₋ Adaptation aux remarques
CONCLUSION




             ₋ Réponse aux besoins des utilisateurs




                                                      34
Démonstration Intérêt de l’application




                                         35
?                 Questions …



                   Merci de votre attention

http://frontal.univ-angers.fr/Absence    36

More Related Content

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Présentation projet UnivAbsences

  • 1. Gestion des absences de l’Université d’Angers Présentation d’UnivAbsences Par MONJAL Guillaume, LAURENT Corentin, RAFAILLAC Maxime, RAOULT Benoit 1
  • 2. Pourquoi ce sujet ? Sans ce projet Gestion des absences par tableur Emargement sur papier Saisie des absences manuellement par l’administration Avec les applications UnivAbsences Application accessible depuis tout support* Gestion de l’historique POURQUOI ? Pour l’étudiant, historique de ses absences Simplification de l’appel Gain de temps pour le personnel administratif *possédant un accès internet 2
  • 3. UnivAbsences plan Gestion de projet Base de données Application web JQuery 4 Application IPhone 1000 heures, 10000 lignes d’application web, 3500 lignes d’application IPhone 3
  • 4. Gestion de projet Versionning, Issues, Méthode AGILE 4
  • 5. Comment tous travailler sur le même repository? - Utilisation des commandes Mercurial - Repository hébergé sur Bitbucket - Travaille sur le même projet - Gain de temps VERSIONING 5
  • 6. Comment se répartir les taches ? - Création de tâches sur Bitbucket ISSUES & METHODE AGILE - Assignation à une personne - Mémorisation des bugs/erreurs rencontrés - Conserver un fil conducteur Méthode AGILE - Méthode SCRUM - Réunion quotidienne 6
  • 7. Répartition des taches Calculé en fonction du temps passé REPARTITION 7
  • 8. Base de données Tables, Trigger, Scheduler, Problèmes rencontrés 8
  • 10. TYPES D’ABSENCE - 4 types d’absence PRESENCE_JUSTIFICATIF IS_JUSTIFIE EN_ATTENTE Description 0 0 1 En attente de justification 0 0 0 Injustifié 1 0 0 Injustifié avec justificatif non valide 1 1 0 Justifiée JUSTIFICATION Justificatif valide Justificatif valide TABLES Justificatif Justificatif valide valide temps Absence Justificatif Justificatif invalide invalide 10
  • 11. TRIGGER ou DECLENCHEUR Exécute un script après un évènement (Insertion, Modification, Suppression) sur une table Permet l’auto-ajout des tables d’historisation Conserve l’ancienne et la nouvelle valeur après modification TRIGGER Justifie les absences APRES l’ajout d’un justificatif 11
  • 12. SCHEDULER ou PLANIFICATEUR Exécute un script planifié Université d’Angers  Gérée en batch via le planificateur Unix Permet le passage des absences de en attentes à injustifiées Répondre au cahier des charges du livret de l’étudiant SCHEDULER 12
  • 13. TABLE MUTANTE Vérification des justificatifs lors de l’ajout d’une absence  cas PROBLEMES RENCONTRES d’une absence déjà justifiée Trigger impossible L’application requête pour vérifier si un justificatif est déjà présent avant l’ajout d’une absence 13
  • 14. Application web Jquery Mobile Requêtes Oracle, JSON, JSP, Servlet 14
  • 15. ARCHITECTURE GLOBALE Serveur de l’université ARCHITECTURE Base de données ANNUABSENCE Conteneur web Service web (Tomcat) IPhone Ordinateur ou Smartphone Application native iPhone 15
  • 16. LE SERVEUR LES CARACTERISTIQUES DU SERVEUR 16
  • 17. COMMUNICATION AVEC LE SERVEUR Requête HTTP (GET ou POST) Instruction SQL Client Réponse (?) Données BDD Serveur LE SERVEUR Mais de quel type est la réponse du serveur? 17
  • 18. LES PAGES JSP Requête Client Conteneur Web LE SERVEUR PAGE JSP 18
  • 19. Java Server Pages Java HTML JavaScript LE SERVEUR JSP 19
  • 20. JQuery Mobile Qu’est ce que Jquery mobile? • Framework javascript • Basé sur les technologies web les plus performantes • Jquery • Ajax JQUERY MOBILE Pourquoi l’avoir choisi? • CSS généré par JQM • Auto-redimensionnement Challenge • Framework très récent (première release stable: 16/11/11) • Surtout utilisé avec du PHP comme langage serveur
  • 21. JQuery Mobile Diapo avec différentes taille d’écran : meme URL avec 2 affichages différents JQUERY MOBILE User agent
  • 22. JQuery Mobile… dans les jsp Scriptlet Java JSP HTML (JQM) JQUERY MOBILE JavaScript (Par ordre d’exécution)
  • 23. JQUERY MOBILE JQuery Mobile … et AJAX - Ajout d’absences - Visualisation absence déjà justifiée - Auto-complétion - Navigation entre les pages Pas de validation, dynamique, sans rechargement intégrale de page
  • 24. Les plugins Infobulles (SimpleDialog) JQUERY MOBILE Calendrier (datebox) Graphique (JQPlot)
  • 25. CAS PRATIQUE « Ajout d’une absence par l’administration » LE SERVEUR – EXEMPLE Liste des promotions Recherche élève par auto-complétion Choix de la date Génération automatique de l’emploi du temps de l’étudiant 25
  • 26. Perspectives d’évolution ₋ Suppression d’un justificatif ₋ Gestion des droits ₋ Gestion des cours dont l’appel a été effectué ₋ Validation automatique dans le calendrier LE SERVEUR ₋ Impression des rapports du tableau de bord ₋ Envoi d’e-mail à l’étudiant au-delà d’un certain nombre d’absences ₋ Internationalisation (I18N) 26
  • 27. 4 Application iPhone xCode, Objective-C, Service web 27
  • 28. Développement iOS, comment ca marche ? SDK iOS xCode (MAC) IPHONE 4 Langage Simulateur 28
  • 29. Web service IPhone { "cours": [{"nomMatiere":"EI5 AGI Optimisation", "nomJour":"Lundi", Requête HTTP (uniquement GET) "hDebut":"09:30", avec paramètres "hFin":"10:50", "typeCours":"TD", "nomGroupe":"EI5 AGI-IAIE TD G2", Traitement divers "isAppelEffectue":"false", "no_etape":"5EI5", Réponse au format JSON IPhone "no_individu":"3390", Service Web "no_evenement":"70688", "no_base":"ISTIA", IPHONE "no_annee":"2011", "no_semaine":"6", "salle":"E23"} ]} 4 29
  • 30. Fonctionnalités  Etudiant Liste des absences avec leur état Liste des justificatifs éventuels Détails des justificatifs IPHONE 4 30
  • 31. Fonctionnalités  Professeur Effectuer l’appel Liste des cours de la journée Liste des étudiants participant au cours Visualiser différentes statistiques Liste des matières enseignées IPHONE Liste des 10 étudiants les plus absents Ratio des absences justifiées/ non-justifiées/en attentes 4 31
  • 32. Perspectives d’évolution ₋ Authentification CAS ou LDAP (Obligatoire) ₋ Encodage des requêtes et décodage des réponses ₋ Améliorations graphiques (CoverFlow) IPHONE 4 32
  • 33. Difficultés rencontrées ₋ Adaptation à JQuery Mobile (JavaScript, syntaxe, etc.) ₋ Base de données de l’Université d’Angers ₋ Gestion des performances de l’application ₋ Développement Iphone CONCLUSION ₋ Authentification (passer par le CAS) ₋ Déploiement ₋ Gestion du temps 33
  • 34. Conclusion ₋ Projet professionnel ₋ Problématique du projet ₋ Adaptation aux remarques CONCLUSION ₋ Réponse aux besoins des utilisateurs 34
  • 35. Démonstration Intérêt de l’application 35
  • 36. ? Questions … Merci de votre attention http://frontal.univ-angers.fr/Absence 36