Matériels et documents autorisés :
Barème :
La compagnie Atlantik est une compagnie maritime implantée sur la côte ouest de la France. Ayant obtenu plusieurs contrats avec des conseils généraux, la compagnie assure la desserte maritime d'îles du littoral français par délégation de service public.
Parmi les îles desservies à partir du continent, on trouve, par exemple, Belle-Île-en-mer, Houat, Ile de Groix, Ouessant, Molène, Sein, Bréhat, Batz, Aix ou encore Yeu.
L'activité de la compagnie se décompose en deux pôles :
Documents à utiliser : annexes 1A, 1B, 1C, 1D.
Pour son activité de transport de voyageurs, la compagnie Atlantik souhaite présenter toute l'information concernant les liaisons maritimes qu'elle assure sur un même portail internet. Les informations du site seront générées dynamiquement à partir d'une base de données. Ce portail doit notamment proposer aux internautes les services suivants :
a) Organisation des liaisons
La compagnie assure la desserte maritime de plusieurs secteurs. Les liaisons sont regroupées par secteur pour faciliter l'accès aux informations. Un extrait des liaisons est présenté en annexe 1A.
b) Tarifs
Un extrait des tarifs est présenté en annexe 1B. Les tarifs dépendent de la liaison, de la période du voyage, et du type du passager ou du véhicule transporté. Les types sont classés en 3 catégories principales susceptibles d'évolution :
c) Horaires des traversées
La maquette présentée en annexe 1C montre comment un internaute visualise les traversées disponibles pour une liaison et pour une date précise. Une planification des traversées est effectuée : chaque traversée est enregistrée avec un numéro identifiant, une date et une heure de départ, et un bateau prévu.
Pour éviter qu'un internaute ne commence inutilement une démarche de réservation sur une traversée dont le nombre de places serait insuffisant, on affiche en temps réel le nombre de places disponibles sur chaque bateau. Cet affichage est mis à jour après chaque réservation enregistrée. Pour chaque bateau, il faut donc mémoriser la capacité maximale dans chacune des catégories ; exemple : la capacité maximale de la catégorie "Passager" sur le bateau "Maëllys" est 250.
d) Réservation en ligne
Après que l'internaute ait choisi sa traversée, il aboutit à l'écran de réservation présenté en annexe 1D. Sur cet écran, il doit préciser les informations relatives à sa réservation et notamment les types de places réservées et leur nombre. Après enregistrement, le numéro identifiant de la réservation et un récapitulatif sont communiqués à l'internaute. La mise en paiement sort du cadre de cette étude.
1.1. Proposer une modélisation des données nécessaires à la gestion des quatre domaines décrits : organisation des liaisons, tarifs, horaires des traversées et réservation en ligne.
Documents à utiliser : annexes 2A, 2B.
La compagnie Atlantik a réorganisé l'infrastructure matérielle et logicielle de son réseau. L'ensemble du service informatique et les serveurs sont implantés au siège social de la compagnie, à Lorient. Le réseau de la compagnie s'étend également sur le site de Quiberon qui héberge un point de vente des billets et un service de maintenance des bateaux.
Les ultimes travaux pour rendre cette infrastructure opérationnelle portent sur l'installation et le paramétrage d'un nouveau serveur DNS (servdns) pour la compagnie.
L'annexe 2A présente un extrait du schéma du réseau de la compagnie.
Étude du réseau de la compagnie
Des erreurs, dans la configuration de la table de routage du routeur R2, empêchent le serveur DNS de répondre aux demandes émises par les stations du site de Quiberon.
Extrait de la table de routage du routeur R2 :
Réseau de destination | Masque sous-réseau | Interface | Passerelle |
192.168.75.0 | 255.255.255.0 | 172.16.0.100 | 192.168.75.248 |
Configuration du serveur DNS
Le serveur DNS répond aux requêtes DNS des machines (serveurs et stations) du réseau de la compagnie qui souhaitent connaître :
Pour assurer cette correspondance entre une adresse IP et un nom de machine, le serveur DNS utilise 2 fichiers de zone :
La déclaration inverse est importante sur les adresses IP puisque l'absence d'une résolution inverse peut entraîner le refus d'accès à un service pour des raisons de sécurité. Par exemple, un serveur de messagerie électronique se présentant en envoi avec une adresse IP n'ayant pas de nom associé, a de grandes chances de se voir refuser la transmission du courrier par l'hôte distant.
L'annexe 2B présente un extrait des fichiers de recherche des zones directe et inverse du serveur DNS.
Une nouvelle station doit être installée sur le site de Quiberon. Elle portera le nom quib-13.
2.3. Indiquer la configuration IP (adresse IP, masque de sous-réseau, adresse de passerelle par défaut et adresse du serveur DNS) à attribuer à la station quib-13.
2.4. Compléter les fichiers de recherche de zone directe et inverse du serveur DNS pour identifier cette station sur le domaine DNS atlantik.fr.
La compagnie Atlantik souhaite mettre en place une solution pour maintenir le fonctionnement de la résolution de noms en cas de panne du serveur DNS « servdns ».
2.5. Proposer une solution pour assurer le fonctionnement de la résolution de noms en cas d'arrêt complet du serveur DNS « servdns ».
Documents à utiliser : annexes 3A, 3B, 3C, 3D, 3E.
Dans le cadre de son activité de transport de voyageurs, la compagnie Atlantik souhaite éditer une brochure au format PDF, destinée à sa clientèle, présentant les caractéristiques des bateaux réservés aux voyageurs.
Un extrait de cette brochure est fourni en annexe 3A. Vous êtes chargé(e) de l'automatisation de l'édition de ce document au format PDF.
Le diagramme partiel des classes métiers est présenté en annexe 3B et la description textuelle associée est présentée en annexe 3C. Une classe technique Collection est également fournie en annexe 3D.
3.1. Écrire le constructeur de la classe BateauVoyageur.
3.2. Écrire la méthode versChaine() de la classe BateauVoyageur.
Un document PDF, dont un extrait est présenté en annexe 3A, référence tous les bateaux voyageurs, avec leurs équipements. Un extrait de la classe PDF est fourni en annexe 3D.
Une classe technique Passerelle est utilisée pour instancier les objets métiers à partir des données issues de la base de données "dbBat", dont un extrait du schéma relationnel est présenté en annexe 3E. Une classe technique JeuEnregistrement est utilisée pour accéder à la base de données. La description textuelle de ces deux classes techniques est présentée en annexe 3D.
L'application de gestion des traversées utilise une procédure nommée BrochurePDF qui édite le document BateauVoyageur.pdf contenant le détail des bateaux voyageurs avec leurs équipements.
3.3. Écrire la procédure BrochurePDF.
3.4. Écrire la méthode chargerLesBateauxVoyageurs de la classe Passerelle.
Document à utiliser : annexe 4.
La compagnie Atlantik propose également une activité de fret. Cette activité correspond au transport de marchandises (denrées alimentaires, matériaux de construction ou encore combustibles) en utilisant des bateaux spécifiques.
Ce dossier concerne plus particulièrement la rentabilité d'une des liaisons de fret pour laquelle on dispose d'informations issues de la base de données "dbFret" (annexe 4). Plusieurs affrètements sont planifiés par semaine. Un affrètement correspond au départ d'un bateau de fret à une date et une heure précises. Ce service est facturé aux clients en fonction des lots transportés, chacun des lots étant associé à une tranche tarifaire.
Dans un premier temps, on s'intéresse à la rentabilité de l'affrètement n°459629, représentatif de l'ensemble des affrètements. On dispose pour celui-ci de son chiffre d'affaires, ainsi que du montant total des charges qui lui sont imputées.
4.1. Écrire la requête SQL permettant de connaître le chiffre d'affaires de l'affrètement n°459629.
Cette requête retourne un chiffre d'affaires de 4 000 euros pour l'affrètement n°459629. Le total des charges imputées à cet affrètement étant supérieur, il présente donc une rentabilité négative. Pour améliorer la rentabilité des affrètements, la compagnie Atlantik émet l'hypothèse d'augmenter ses tarifs de 5%.
Il semble que tous les affrètements du mois de mars 2011 n'ont pas été enregistrés dans la base de données.
4.3. Écrire la requête SQL permettant de connaître les identifiants des bateaux pour lesquels aucun affrètement n'a été enregistré au mois de mars 2011.
Ayant observé que le taux de remplissage moyen des affrètements était d'environ 40%, une autre hypothèse étudiée serait l'optimisation du taux de remplissage des affrètements. Le taux de remplissage d'un affrètement est calculé en divisant le poids total affrété par le poids maximum autorisé de chargement du bateau.
4.4. Écrire l'ensemble des requêtes SQL permettant de connaître la moyenne des taux de remplissage des affrètements de 2010. Le candidat s'appuiera sur l'écriture d'une vue intermédiaire pour la résolution de cette question.
Document à utiliser : annexe 5.
L'édition de documents contractuels à partir du site de la compagnie ATLANTIK est un projet de grande envergure dont la création de brochures au format PDF était la première étape.
Il s'agit d'un projet plus global qui traite du processus de réservation en ligne des traversées et du fret. C'est la direction commerciale de l'entreprise qui a commandé ce service à la direction des systèmes d'information d'ATLANTIK.
Le processus de réservation en ligne se déroule schématiquement en 3 étapes :
La fourniture des services de réalisation des documents contractuels, d'horodatage, et de paiement en ligne fait l'objet d'une mise en concurrence avec une SSII.
On vous demande donc de comparer avec la fourniture de ces services en interne.
5.1. Présenter le calcul du coût de traitement d'une réservation de passager en ligne, sur la base de la répartition présentée en annexe 5.
5.2. Présenter le calcul du montant du budget global à allouer aux services de paiement en ligne, compte tenu de la volumétrie de l'activité.
5.3. Calculer le budget global à allouer aux services de réalisation des documents contractuels et horodatage compte tenu des volumes constatés de l'activité.
Un prestataire extérieur propose la prise en charge des services d'horodatage et de paiement en ligne, pour les trois processus présentés pour un montant de 300 000 € sur la base des volumes d'activités constatés.
5.4. Présenter les avantages et les inconvénients de chacun des modes de fourniture de ces services.
Secteur | Liaison | |||
---|---|---|---|---|
Code Liaison | Distance en milles marin | Port de départ | Port d'arrivée | |
Belle-Ile-en-Mer | 15 | 8.3 | Quiberon | Le Palais |
24 | 9 | Le Palais | Quiberon | |
16 | 8.0 | Quiberon | Sauzon | |
17 | 7.9 | Sauzon | Quiberon | |
19 | 23.7 | Vannes | Le Palais | |
11 | 25.1 | Le Palais | Vannes | |
Houat | 25 | 8.8 | Quiberon | Port St Gildas |
30 | 8.8 | Port St Gildas | Quiberon | |
Ile de Groix | 21 | 7.7 | Lorient | Port-Tudy |
22 | 7.4 | Port-Tudy | Lorient | |
etc... |
La partie gauche de l'écran présente les secteurs. En cliquant sur le secteur souhaité, la liste déroulante des liaisons est alors remise à jour en fonction du secteur sélectionné.
Extrait de fichier de recherche directe de la zone atlantik.fr
; Enregistrements NS : zone des serveurs @ NS servdns.atlantik.fr ; Enregistrements A : zone des machines servweb A 192.168. 50.200 servbd A 192.168. 50.210 servdns A 192.168. 50.220 quib-10 A 192.168.75.10 quib-11 A 192.168. 75.11 quib-12 A 192.168. 75.12 |
@ : Variable contenant le nom de la zone, soit atlantik.fr NS : Enregistrement indiquant le nom d'un serveur DNS du réseau local. A : Enregistrement indiquant l'adresse IP d'une machine (serveur ou station) du réseau local. ; : Indique un commentaire. |
Extrait de fichier de recherche de zone inverse
; Enregistrements PTR : réseau 192.168.50.0 200.50.168.192 PTR servweb.atlantik.fr. 210.50.168.192 PTR servbd. atlantik.fr. 220.50.168.192 PTR servdns. atlantik.fr. ; Enregistrements PTR : réseau 192.168.75.0 10.75.168.192 PTR quib-10. atlantik.fr. 11.75.168.192 PTR quib-11. atlantik.fr. 12.75.168.192 PTR quib-12. atlantik.fr. |
PTR : Enregistrement indiquant le nom d'une machine du réseau local associée à une adresse IP. |
Remarque : Les constructeurs et paramètres des méthodes ne sont pas présentés sur ce diagramme.
Classe Bateau Privé : idBat : Chaîne nomBat : Chaîne longueurBat : Réel largeurBat : Réel Public : Bateau(unId : Chaîne, unNom : Chaîne, uneLongueur : Réel, uneLargeur : Réel) // Constructeur de la classe. Fonction versChaine() : Chaîne // Retourne sous la forme d'une chaîne de caractères toutes les valeurs concaténées // des attributs de la classe précédées de leurs libellés. // Exemple : Nom du bateau : Luce isle Longueur : 37,20 mètres Largeur : 8,60 mètres FinClasse
Classe BateauVoyageur hérite de Bateau Privé : vitesseBatVoy : Réel // Indique la vitesse moyenne en noeuds du bateau. imageBatVoy : Chaîne // Contient le chemin d'accès vers le fichier représentant l'image du bateau. // Exemple : /images/bateauvoyageur/luceisle.jpg lesEquipements : Collection de Equipement // Indique tous les équipements présents sur le bateau. Public : BateauVoyageur (unId : Chaîne, unNom : Chaîne, uneLongueur : Réel, uneLargeur : Réel, uneVitesse : Réel, uneImage : Chaîne, uneCollEquip : Collection de Equipement) // Constructeur Fonction versChaine() : Chaîne // Retourne sous la forme d'une chaîne toutes les valeurs concaténées des attributs de la // classe, sauf l'attribut imageBatVoy qui n'est pas inséré dans la chaîne concaténée. // Chaque valeur est précédée de son libellé. // Exemple : Nom du bateau : Luce isle Longueur : 37,20 mètres Largeur : 8,60 mètres Vitesse : 26 noeuds Liste des équipements du bateau : - Accès Handicapé - Bar - Pont Promenade - Salon Vidéo // On utilisera l'opérateur "+" pour concaténer des valeurs de type Chaîne et // le mot-clé "SautLigne" pour marquer une fin de ligne. // Exemple : str ← "Liste des équipements du bateau : " + SautLigne Fonction getImageBatVoy() : Chaîne // Retourne l'attribut privé imageBatVoy. FinClasse
Classe Equipement Privé : idEquip : Chaîne libEquip : Chaîne Public : Equipement(unId : Chaîne, unLib : Chaîne) // Constructeur de la classe. Fonction versChaine() : Chaîne // Retourne sous la forme d'une chaîne la valeur de l'attribut libEquip de la classe. // L'identifiant de l'équipement n'est pas inséré dans la chaîne. FinClasse
Classe Collection de <nom de la classe> Public : Fonction cardinal() : Entier // Renvoie le nombre d'objets de la collection. Fonction obtenirObjet(unIndex : Entier) : <nom de la classe> // Retourne l'objet d'index unIndex, le premier objet de la collection a pour index 1. Procédure ajouter(unObjet : <nom de la classe>) // Ajoute un objet à la collection. FinClasse
uneCollection : Collection de <classe> uneCollection ← new Collection() de <classe>
Pour chaque <objet> dans <collection> faire // Instructions avec <objet> FinPour
Classe JeuEnregistrement Public : JeuEnregistrement(chaîneSQL : Chaîne) // Constructeur de la classe. Positionne le curseur sur le premier enregistrement. Procédure suivant() // Avance le curseur sur l'enregistrement suivant. Fonction fin() : Booléen // Indique si la marque de fin est atteinte. Fonction getValeur(nomChamp : Chaîne) : Variant // Renvoie la valeur du champ nomChamp de l'enregistrement courant. Variant est un type // générique pouvant contenir tout type de valeur. On peut utiliser l'opérateur "+" pour // concaténer des valeurs ou variables de type Chaîne ou Variant. Procédure fermer() // Ferme le curseur et libère les ressources. FinClasse
jeu : JeuEnregistrement jeu ← new JeuEnregistrement ("select ...")
Classe Passerelle Public à portée de classe (statique) Fonction chargerLesEquipements(unIdBateau : Entier) : Collection d'Equipement // Retourne la collection des Equipements du bateau dont l'identifiant est passé en paramètre. Fonction chargerLesBateauxVoyageurs() : Collection de BateauVoyageur // Instancie et retourne une collection d'objets de la classe BateauVoyageur, à partir des // données lues dans la base de données "dbBat". Cette méthode instancie également // la collection lesEquipements de chaque objet de la classe BateauVoyageur. FinClasse
Classe PDF Public : PDF(nomDocument : Chaîne) // Constructeur de la classe. Crée le document PDF vierge "nomDocument" Procédure ecrireTexte(leTexte : Chaîne) // Écrit le contenu de la chaîne de caractères leTexte dans le document PDF Procédure chargerImage(chemin : Chaîne) // Insère dans le document l'image dont le chemin d'accès est passé en paramètre Procédure fermer() // Ferme le document FinClasse
BATEAU (id, nom, longueur, largeur, vitesse, image, poidsMax, type) Clé primaire : id image : chemin d'accès vers le fichier représentant l'image du bateau voyageur type : type du bateau, 'f' pour fret ou 'v' pour voyageur EQUIPEMENT (id, lib) Clé primaire : id lib : libellé de l'équipement POSSEDER (idBat, idEquip) Clé primaire : idBat, idEquip Clé étrangère : idBat en référence à id de BATEAU Clé étrangère : idEquip en référence à id de EQUIPEMENT
BATEAUFRET (id, poidsMax) Clé primaire : id poidsMax : poids maximum autorisé de chargement du bateau (exprimé en Kg) AFFRETEMENT (id, date, heure, idBatFret) Clé primaire : id Clé étrangère : idBatFret en référence à id de BATEAUFRET date : date de départ du bateau affrété heure : heure de départ du bateau affrété TRANCHE (id, tarifunit) Clé primaire : id tarifunit : tarif unitaire du kg transporté (exprimé en euros), permettant le calcul de la facturation des lots. LOT (idAff, idLot, poids, idTran) Clé primaire : idAff, idLot Clé étrangère : idAff en référence à id de AFFRETEMENT Clé étrangère : idTran en référence à id de TRANCHE poids : poids du lot à transporter (exprimé en kg)
Logistique
|
DSI
|
Finance et Comptabilité
|
||||||
Services rendus | Chargement des consommables | Acheminement des passagers |
Utilisation dapplications métier |
Maintenance et surveillance de linfrastructure réseau |
Réalisation des documents contractuels et horodatage |
Paiement en ligne | Suivi comptabilité client |
Contrôle |
Unité de mesure (UO) retenue |
Nombre de tonnes chargées |
Nombre de personnes acheminées |
Nombre dheures dutilisation |
Nombre dheures de fonctionnement |
Nombre de documents |
Nombre de paiements |
Nombre décritures |
Nombre dheures |
Coût de revient complet dune UO |
5 € | 10 € | 15 € | 15 € | 5 € | 5 € | 1 € | 25 € |
Processus étudié | ||||||||
Traitement dune réservation passager en ligne |
1 UO | 1 UO | 1 UO | 1 UO | 5 UO | 0,1 UO | ||
Traitement dune réservation fret en ligne |
2 UO | 1,5 UO | 8 UO | 1 UO | 10 UO | 2 UO | ||
Réception dun passager | 1 | 0,5 UO | 3 UO | 4 UO | ||||
BUDGET TOTAL A RÉPARTIR |
? | 32 500,00 € |
Calcul des coûts associés
Processus | Logistique | DSI | Finance et comptabilité | Total | |||||
Traitement dune réservation passager en ligne |
A présenter
|
47,50 € | |||||||
Traitement dune réservation fret en ligne | 30 | 22,5 | 40 | 5 | 10 | 50 | 157,50 € | ||
Réception dun passager | 10 | 7,50 | 45 | 20 | 82,50 € |
Volumes constatés :
Processus | Volume annuel |
- Traitement dune réservation passager en ligne | 5 000 |
- Traitement dune réservation fret en ligne | 1 500 |
- Réception dun passager | 7 500 |