Epreuve de spécialité STG GSI, 2010, outre-mer :
Cas Nantes Habitat.
Réponse AJAX

CAS Nantes Habitat

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.

Dossier 1 : Le processus d’entretien des parties communes

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.

Votre réponse n°1

1.2. Comment l'évènement-résultat « demande d'intervention ponctuelle en attente » est-il pris en compte dans la suite du processus ?

Votre réponse n°2

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.

Votre réponse n°3

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.

Votre réponse n°4

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.

Votre réponse n°5

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.

Votre réponse n°6

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".

Votre réponse n°7

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.

Votre réponse n°8

Dossier 2 : Le projet de gestion de l’entretien des parties communes

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 :

  1. inventorier les parties communes (surfaces, revêtements, …),
  2. définir des standards de propreté (charge en temps et besoin en moyens) pondérés par bâtiment,
  3. contrôler / évaluer la qualité du service rendu (interne et/ou externe).

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.

Votre réponse n°9

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.

Votre réponse n°10

2.3. Quels auraient été les inconvénients de la solution 1.b ?

Votre réponse n°11

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 ?

Votre réponse n°12

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é.

Votre réponse n°13

Contrairement aux prévisions, Sylogis ne pourra pas commencer le développement du module Inventimmo en janvier 2010, mais seulement en mars 2010.

2.6. Quelle incidence ce décalage aura-t-il sur le projet ?

Votre réponse n°14

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 ?

Votre réponse n°15

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.

Votre réponse n°16

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 ?

Votre réponse n°17

Dossier 3 : L’inventaire des parties communes

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
codelibelle
BETBeton
CARCarrelage
DALDalles PVC
PEIPeinture
PAPPapier

Contenu de la table DetailBatiment (extrait)
codeBatimentcodePartiesCommunesnumerosurfacecodeRevetementSolcodeRevetementMur
10HAL
114DALPAP
10HAL217CARPEI
10ESC110PEIPAP
10ESC215CARPEI
10PAL120CARCAR
10PAL235CARCAR
10PAL320CARCAR
10PAL435CARCAR
10PAL520CARCAR
10PAL635CARCAR
10PAL720CARCAR
10PAL835CARCAR
..................

3.1. Expliquer la suppression de l'attribut nombre et la création de l'attribut numero dans la relation DetailBatiment.

Votre réponse n°18

3.2. Écrire, à partir du document 2, les requêtes SQL permettant de :
a) créer la table Revetement,

Votre réponse n°19
b) supprimer le(s) champ(s) de la table DetailBatiment devenu(s) inutile(s),
Votre réponse n°20
c) créer les champs ajoutés à la structure de la table DetailBatiment,
Votre réponse n°21
d) créer les nouvelles clés étrangères de la table DetailBatiment.
Votre réponse n°22
Les requêtes de modification de la clé primaire de la table DetailBatiment ne sont pas exigées.

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 ?

Votre réponse n°23

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.

Votre réponse n°24

3.5. À quelles occasions la condition testée ligne 120 est-elle vérifiée ?

Votre réponse n°25

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 ?

Votre réponse n°26

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 :

SurfaceEntre 1 et 10 m²>= 11 m²
Palier12 minutes1 minute par m² supplémentaire
Escalier15 minutes2 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 fonctionCalculTemps
Service renduCalcule le temps nécessaire (en minutes) pour nettoyer une partie commune (palier ou escalier) en fonction de sa surface.
Valeur retournéeRéel correspondant au nombre de minutes
Arguments3
Nature et rôle des arguments
  • réel qui correspond à la surface de la partie commune
  • entier qui correspond au temps nécessaire pour une surface entre 1 et 10m²
  • entier qui correspond au temps nécessaire par m² supplémentaire au dessus de 10m²
Exemple d’utilisationCalculTemps (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.

Votre réponse n°27

3.8. Écrire sur votre copie, en les complétant, les lignes 190, 210, 230, 240 de la procédure du document 6.

Votre réponse n°28

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.

3.9. Indiquer le type d'architecture d'application du PGI Immoware. Justifier.

Votre réponse n°29

Documents

Document 1 : Processus de planification de l’entretien des parties communes

Document 2 : Extrait du schéma relationnel

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é) :
codelibelle
HalHall
PalPalier
EscEscalier

É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

Document 3 : Entretien avec une secrétaire d'agence

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.

Document 4 : Diagramme de Gantt du projet

Document 5 : Liste des solutions envisageables

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 :

Deux solutions similaires à celles prévues pour la phase d’inventaire sont envisagées.

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.

Document 6 : Interface du module de calcul de surface et procédure associée

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.	Wend
End Sub