Matériels et documents autorisés :
Liste des dossiers :
Liste des documents à exploiter :
Si le texte du sujet, de ses questions ou de ses annexes vous conduit à formuler une ou plusieurs hypothèses, il vous est demandé de la (ou les) mentionner explicitement dans votre copie.
Nantes Habitat
Nantes Habitat est un Office Public d'Habitation à Loyer Modéré (OPHLM), établissement public à caractère industriel et commercial, qui gère un patrimoine de 24 000 logements sur les 31 000 logements sociaux que compte la ville de Nantes ; il loge ainsi 1 nantais sur 5, soit environ 66 000 personnes.
« Loger les nantaises et les nantais pour un coût modéré, c'est la mission de Nantes Habitat. Leur offrir un cadre de vie agréable, c'est son ambition. »
Dans les années 1990, Nantes Habitat est passé d'un métier de gestion du patrimoine à une démarche de qualité des services rendus. Être à l'écoute des locataires nécessite une proximité qu'a permis la création de 7 agences décentralisées réparties dans toute la ville. Le système d'information demeure quant à lui unifié autour du progiciel de gestion intégré (PGI), Immoware, édité par Sylogis, spécialement conçu pour gérer un patrimoine immobilier.
L'entretien et la propreté des parties communes (halls d'entrée, cages d'escalier, paliers, …) est un point sur lequel les locataires portent une attention particulière. La réponse à cette préoccupation constitue un métier à part entière. C'est sur cet aspect de l'activité de Nantes Habitat que va porter cette étude.
Nantes Habitat a ainsi créé 530 postes d'AGP (Agents de Gérance de Proximité) qui travaillent à l'entretien des parties communes et à la maintenance des équipements. Nantes a été découpée en 21 secteurs géographiques gérés par les 7 agences décentralisées. Chaque AGP est rattaché à un secteur.
Nantes Habitat souhaite faire évoluer son système d'information afin d'améliorer sa qualité de service. Cela nécessite notamment une meilleure connaissance des parties communes des bâtiments. Elle en attend aussi une utilisation plus efficace des ressources humaines et matérielles.
Documents à exploiter
Document 1 : Processus de planification de l’entretien des parties communes
Document 2: Extrait du schéma relationnel
Document 3 : Entretien avec une secrétaire d'agence
Le vendredi, chaque secrétaire d’agence établit manuellement le planning des AGP pour la semaine suivante. Ce planning est distribué aux AGP à leur retour dans l’agence le vendredi soir.
Pour établir ce planning une secrétaire se base sur les éléments suivants :
La secrétaire doit ensuite répartir la charge d’entretien entre les agents en fonction :
Le responsable de secteur adresse une fiche d’état de propreté à la direction de l’agence qui l’utilisera pour établir des statistiques et contrôler l’activité des responsables de secteur.
Le document 1 représente le processus de planification de ces interventions.
1.1. Toutes les activités du processus ont-elles systématiquement lieu ? Justifier.
1.2. Comment l'évènement-résultat « demande d'intervention ponctuelle en attente » est-il pris en compte dans la suite du processus ?
Nantes Habitat utilise actuellement pour la gestion de son parc locatif le progiciel Immoware de l’éditeur Sylogis. Ce progiciel utilise une base de données Oracle dont un extrait du schéma relationnel est présenté dans le document 2.
1.3. Le schéma relationnel du document 2 permet-il de prendre en compte le cas d'un bâtiment comportant plusieurs escaliers ? Justifier.
La secrétaire utilise deux sources d’information afin d’établir le planning :
Elle a notamment besoin de connaître la liste des bâtiments de plus de 7 étages car, dans ce cas, elle doit programmer deux entretiens dans la semaine. Elle a demandé à Sylogis d’automatiser l’obtention de cette information.
1.4. Écrire la requête SQL que Sylogis doit intégrer dans le progiciel afin d’obtenir cette liste.
1.5. Une plus grande souplesse dans l'élaboration du planning pourrait être permise par l'intervention possible de plusieurs agents pour un même bâtiment. Écrire, sur votre copie, la partie modifiée du schéma relationnel permettant d'intégrer cette nouvelle règle.
Des locataires se plaignent des délais d’intervention faisant suite au signalement de certains problèmes.
1.6. Quel est le délai maximum séparant une demande ponctuelle d’intervention et l’intervention elle-même ? Justifier.
Ce délai n’est pas satisfaisant : une cage d’escalier dans un état de saleté exceptionnel ne peut pas rester ainsi plusieurs jours. Désormais, dès la réception d’une demande d’intervention ponctuelle, la secrétaire modifiera le planning en fonction des disponibilités.
1.7. Présenter sur la copie la partie modifiée du schéma événement-résultat du processus "Planification de l’entretien des parties communes".
Une secrétaire d'agence témoigne dans le document 3 des difficultés rencontrées dans l'élaboration du planning.
1.8. Certaines fonctions assurées par le système d’information présentent une insuffisance majeure. Indiquer la ou les fonctions concernées et expliquer l’insuffisance constatée.
Documents à exploiter
Document 2 : Extrait du schéma relationnel
Document 4 : Diagramme de Gantt du projet
Document 5 : Liste des solutions envisageables
Les insuffisances actuelles du système d'information ont amené la direction de Nantes Habitat à initier un projet dont le but est d’établir des normes de propreté des parties communes des bâtiments afin d'offrir un meilleur service et de rationaliser le travail des AGP.
L'évolution du système d'information, qui concerne l’ensemble des bâtiments gérés par Nantes Habitat, est une démarche en 3 étapes :
Le document 5 présente les solutions et variantes possibles pour les étapes 1 et 3.
2.1. Écrire, à partir du document 2, la requête SQL permettant de calculer le nombre de bâtiments gérés par Nantes Habitat et donc concernés par le projet.
2.2. Sachant que le résultat de la requête précédente est 650, indiquer pourquoi la solution 1.a pour l’étape d’inventaire n’a pas été retenue.
2.3. Quels auraient été les inconvénients de la solution 1.b ?
Pour l'inventaire détaillé des parties communes, la solution retenue est la 1.c. Elle nécessite le développement d’un nouveau module, nommé Inventimmo, dans le PGI Immoware, à déployer dans les 7 agences. Ce projet a naturellement été confié à Sylogis, sous la direction de Mme Beaujoire, chef de projet chez cet éditeur. Un diagramme de Gantt relatif au projet est présenté dans le document 4.
2.4. Par qui et dans quels buts ce diagramme de Gantt a-t-il été établi ?
2.5. Indiquer pour chaque tâche du projet (document 4), qui de la MOA (maîtrise d’ouvrage) et/ou de la MOE (maîtrise d’œuvre) est concerné.
Contrairement aux prévisions, Sylogis ne pourra pas commencer le développement du module Inventimmo en janvier 2010, mais seulement en mars 2010.
Pour l'étape 3 du projet, la solution retenue est la 3.b. Les ordinateurs de poche devront pouvoir se connecter au réseau de l’agence pour transférer les données. Dans un premier temps, il est décidé d'attribuer des adresses IP fixes à ces ordinateurs de poche. Nantes Habitat dispose d’un plan d’adressage IP décrit ci-dessous :
2.7. Quels sont le principal avantage et le principal inconvénient de l’utilisation des ordinateurs de poche plutôt qu’une fiche papier ?
2.8. Selon le plan d’adressage défini, quelle plage d’adresses IP est utilisable pour les ordinateurs de poche dans l’agence n°7, sachant qu’il y a déjà dans cette agence 10 ordinateurs de bureau qui utilisent dans l’ordre les 10 premières adresses IP utilisables pour cette agence ? Justifier.
2.9. Quelle est l'autre solution pour attribuer des adresses IP aux ordinateurs de poche ? Quelle information, contenue dans l'adresse IP avec la solution précédente, serait ainsi perdue ?
Documents à exploiter
Document 2 : Extrait du schéma relationnel
Document 3 : Entretien avec une secrétaire d'agence
Document 6 : Interface du module de calcul de surface et procédure associée
L’inventaire des parties communes consiste à métrer (mesurer en mètres) les surfaces ainsi qu'à recenser les types de revêtement des sols et des murs. Pour que ces informations soient intégrées à la base de données, cela nécessite de modifier sa structure. Le nouveau schéma relationnel est présenté à la fin du document 2 et le contenu de ces nouvelles tables est présenté ci-dessous.
Contenu de la table Revetement
code | libelle |
---|---|
BET | Beton |
CAR | Carrelage |
DAL | Dalles PVC |
PEI | Peinture |
PAP | Papier |
Contenu de la table DetailBatiment (extrait)
codeBatiment | codePartiesCommunes | numero | surface | codeRevetementSol | codeRevetementMur |
---|---|---|---|---|---|
10 | HAL | 1 | 14 | DAL | PAP |
10 | HAL | 2 | 17 | CAR | PEI |
10 | ESC | 1 | 10 | PEI | PAP |
10 | ESC | 2 | 15 | CAR | PEI |
10 | PAL | 1 | 20 | CAR | CAR |
10 | PAL | 2 | 35 | CAR | CAR |
10 | PAL | 3 | 20 | CAR | CAR |
10 | PAL | 4 | 35 | CAR | CAR |
10 | PAL | 5 | 20 | CAR | CAR |
10 | PAL | 6 | 35 | CAR | CAR |
10 | PAL | 7 | 20 | CAR | CAR |
10 | PAL | 8 | 35 | CAR | CAR |
... | ... | ... | ... | ... | ... |
3.1. Expliquer la suppression de l'attribut nombre et la création de l'attribut numero dans la relation DetailBatiment.
3.2. Écrire, à partir du document 2, les requêtes SQL permettant de :
a) créer la table Revetement,
Nantes Habitat veut notamment utiliser tous les relevés des surfaces afin de calculer les surfaces totales à nettoyer pour un bâtiment donné ainsi que le temps de nettoyage. Pour cela, une application est en cours de développement (document 6) dans le nouveau module Inventimmo. L’évaluation de cette charge de travail sera ensuite affinée en tenant compte aussi du type de revêtement.
3.3. Sur quel événement de quel contrôle graphique la procédure présentée dans le document 6 se déclenche-t-elle ?
3.4. Présenter sur la copie la première ligne du résultat de la requête reqPartCom (ligne 70 du document 6) pour l'extrait de table ci-dessus et le bâtiment n°10.
3.5. À quelles occasions la condition testée ligne 120 est-elle vérifiée ?
3.6. Quelle est la valeur contenue par la variable nomZone à l'issue du premier passage par la ligne 140 de la procédure du document 6 ?
Le temps nécessaire pour nettoyer une partie commune (escalier, palier) comporte un temps forfaitaire et incompressible quelle que soit la surface (préparation du matériel, ...) et un temps proportionnel à la surface. Il en résulte le tableau d’estimation suivant :
Surface | Entre 1 et 10 m² | >= 11 m² |
---|---|---|
Palier | 12 minutes | 1 minute par m² supplémentaire |
Escalier | 15 minutes | 2 minutes par m² supplémentaire |
Exemple :
Une fonction qui doit permettre de calculer ce temps sera utilisée dans le module d’Immoware décrit précédemment.
Spécification de la fonction CalculTemps :
Nom de la fonction | CalculTemps |
---|---|
Service rendu | Calcule le temps nécessaire (en minutes) pour nettoyer une partie commune (palier ou escalier) en fonction de sa surface. |
Valeur retournée | Réel correspondant au nombre de minutes |
Arguments | 3 |
Nature et rôle des arguments |
|
Exemple dutilisation | CalculTemps (40,12,1) permet de calculer le temps estimé pour nettoyer les paliers du bâtiment 20 |
Function CalculTemps (uneSurface As Single, unTempsDeBase As Integer, unTempsSup As Integer) As Single … End Function
3.7. Écrire sur votre copie le corps de la fonction CalculTemps décrite ci-dessus.
3.8. Écrire sur votre copie, en les complétant, les lignes 190, 210, 230, 240 de la procédure du document 6.
La base de données du PGI Immoware a été mise à jour (structure et nouvelles données) sur le serveur central au siège social de Nantes Habitat afin de prendre en compte les nouvelles fonctionnalités du module Inventimmo, déployé dans les 7 agences.
Schéma relationnel initial (dossiers 1 et 2) :
Agence (code, nom, adresseRue, telephone) clé primaire : code Secteur (code, nom, codeAgence) clé primaire : code clé étrangère : - codeAgence en référence à code de Agence Batiment (code, adresse, nbEtages, nbLogements, codeAGPaffecte, codeAgence ) clé primaire : code clés étrangères : - codeAgence en référence à code de la relation Agence - codeAGPaffecte en référence à code de la relation AGP AGP (code, nom, prenom, codeSecteur) clé primaire : code clé étrangère : - codeSecteur en référence à code de Secteur PartiesCommunes (code, libelle) clé primaire : code DetailBatiment (codeBatiment, codePartiesCommunes, nombre) clé primaire : codeBatiment, codePartiesCommunes clés étrangères : - codeBatiment en référence à code de la relation Batiment - codePartiesCommunes en référence à code de la relation PartiesCommunes
Contenu de la table PartiesCommunes (en totalité) :
code | libelle |
---|---|
Hal | Hall |
Pal | Palier |
Esc | Escalier |
Évolution du schéma relationnel (dossier 3) :
Une relation Revetement est créée :
Revetement (code, libelle) clé primaire : code
La relation DetailBatiment ci-dessous remplace la précédente (modifications en gras) :
DetailBatiment (codeBatiment, codePartiesCommunes, numero, surface, codeRevetementSol, codeRevetementMur) clé primaire : codeBatiment, codePartiesCommunes, numero clés étrangères : codeBatiment en référence à code de la relation Batiment codePartiesCommunes en référence à code de la relation PartiesCommunes codeRevêtementSol en référence à code de la relation Revetement codeRevêtementMur en référence à code de la relation Revetement
Question : Chaque vendredi vous procédez à l'élaboration du planning hebdomadaire. N'est-ce pas un peu rébarbatif ?
Réponse : Si, j’y passe beaucoup de temps et pourtant le planning auquel j’aboutis est loin d’être optimal.
Q : Pourquoi ?
R : Certains AGP me signalent à la fin de leur journée qu'ils ont eu du mal à effectuer les tâches prévues dans les temps.
Q : Vous ne disposez pas d’une évaluation de la charge de travail pour le nettoyage des parties communes ?
R : Si, mais de manière très approximative, on pourrait simplifier en disant : c’est grand donc il faut tant d’heures de nettoyage. C’est petit donc il faut tant d’heures. Il faudrait avoir une information précise sur la surface à nettoyer pour chaque partie commune et ne pas se contenter de "c’est grand ou c’est petit". De plus, le type de surface peut avoir une influence sur le temps de nettoyage et les moyens à utiliser.
Q : Il faudrait donc que vous ayez une meilleure connaissance de ces parties communes ?
R : Oui, bien sûr mais puisqu'il s'agit d'un travail répétitif, on pourrait définir des temps prévisionnels de nettoyage associés à des surfaces et des revêtements. Cela concerne seulement les escaliers et les paliers puisque le nettoyage des halls est confié, pour l'instant, à une société externe.
Q : Qu’en est-il de la satisfaction des locataires ?
R : On ne peut pas faire de généralités. Il y a des réclamations qui arrivent directement dans les agences ou d’autres qui sont transmises par le responsable de site. Notre but est bien sûr d’atteindre un niveau de réclamation le plus bas possible. Notre volonté première est d’offrir à nos locataires un cadre de vie agréable.
Phase 1 : Inventaire des parties communes (surfaces, revêtements, …) par les AGP
Solution n°1.a :
Une feuille de calcul serait développée sous un tableur, comportant des données saisies (relevées par les responsables de secteur) et des données calculées (surface à partir d’une longueur et d’une largeur, …), puis imprimée en autant d’exemplaires qu’il y a de bâtiments à inventorier.
Les responsables de secteur effectueraient les relevés sur place, les noteraient sur la feuille précédente imprimée, puis les saisiraient sous le tableur à leur retour à l’agence.
Solution n°1.b :
L’inventaire sera fait dans un premier temps sur un formulaire papier puis saisi dans un formulaire web.
Cette solution nécessite un développement en interne d’une application web en liaison avec une base de données qui lui est propre.
Solution n°1.c :
L’inventaire sera fait dans un premier temps sur un formulaire papier puis saisi dans un nouveau module, à développer par Sylogis, de l’application Immoware.
Phase 2 : Définition des standards de propreté (non présentée ici)
Phase 3 : Contrôle des services rendus
Sur le même principe que l’inventaire, il est nécessaire de mettre en place une procédure et des outils afin de pouvoir évaluer :
Solution n°3.a :
L’usage d’une feuille de calcul imprimée à remplir manuellement par le responsable de secteur, puis ressaisie sous tableur au retour à l’agence.
Solution n°3.b :
La saisie par le responsable de secteur de ses observations, directement sur place, à l’aide d’un ordinateur de poche (terminal de type PDA qui tient dans la main et s’utilise avec un stylet), puis, au retour dans l’agence, la connexion de cet ordinateur sur le réseau afin de transférer les données dans le nouveau module de l’application Immoware.
Private Sub cmdCalculTemps_Click()
10. Dim rsPartCom As Recordset ' déclaration d’un jeu d’enregistrements 20. Dim reqPartCom As String ' variable destinée à stocker une requête SQL 30. Dim nomZone As String ' variable destinée à stocker le nom d’un contrôle graphique 40. Dim typePartCom As String ' type de partie commune 50. Dim temps As Integer ' temps de nettoyage d'une partie commune 60. Dim cumulTemps As Integer ' temps de nettoyage total d'un type de partie commune 70. reqPartCom = "SELECT surface, codePartiesCommunes FROM detailBatiment WHERE codeBatiment = ' " & txt_Code & " ' AND codePartiesCommunes < > 'HAL' ORDER BY codePartiesCommunes ASC, numero ASC" 80. Set rsPartCom = CurrentDb.OpenRecordset (reqPartCom) ' exécution d’une requête sur la base de données ouverte et affectation du jeu d’enregistrements résultat à la variable rsePartCom 90. rsPartCom.MoveFirst ' positionnement sur le 1er enregistrement de rsPartCom 100. typePartCom = "" 110. While rsPartCom.EOF = False ' EOF (Enf Of File) est une propriété booléenne qui prend la valeur False lorsque la fin du jeu d’enregistrements est atteinte ' nomJeuEnr!nomChamp renvoie la valeur du champ nomChamp pour l’enregistrement en cours de lecture du jeu d’enregistrement nomJeuEnr 120. If typePartCom < > rsPartCom!codePartiesCommunes Then 130. typePartCom = rsPartCom!codePartiesCommunes 140. nomZone = "txt_Temps" & typePartCom 150. cumulTemps = 0 160. End If 170. Select Case rsPartCom!codePartiesCommunes 180. Case "PAL" 190. temps = … ' affectation du calcul de temps retourné par la fonction 200. Case "ESC" 210. temps = … ' affectation du calcul de temps retourné par la fonction 220. End Select 230. … ' Me.Controls(nomContr) permet de désigner le contrôle graphique nomContr du formulaire courant (Me) 240. Me.Controls(nomZone) = … 250. rsPartCom.MoveNext ' positionnement sur l’enregistrement suivant de rsPartCom 260. WendEnd Sub