Correction BTS SIO SLAM 2014 SUPMaster

Une correction de l’étude de cas SUPMaster BTS SIO SLAM 2014. La correction peut comporter des erreurs.

question 1

CREATE OR REPLACE TRIGGER ‘majNbEtude’
BEFORE INSERT ON ‘CONTRAT’
FOR EACH ROW
UPDATE Etudiant
SET nbContratsEtud= nbContratsEtud+1
WHERE id= : new . idEtudiant;

Question 2:

Il faut aussi rajouter des déclencheurs si un contrat est supprimé pour mettre à jour nbContratetud et nbcontratOrg.

Question 3 :

1er select select organisation . nom, organisation.ville, etudiant.nom, etudiant.prenom, dateContrat from organisation contrat, etudiant where organisation.id = idOrg and idetudiant = etudiant.id order by organisation.nom, datecontrat.

Il faut plutôt utiliser les join

2ème select select organisation .nom, nbcontratOrg from organisation where nbcontratOrg > 5; //Fallait-il reprendre la question 1 ou faire une nouvelle requête ?

Question 4 :

// To do faire le schéma avec un logiciel.

Question 5 :

Fichier CSV ou XLS : Cout = (320 * 2) + (2500 * 0.3) + 5 = 1395

Liste papier : Cout = (150 * 4) + ( 2500 * 0.2) + 30 = 1130

Le Fichier CSV est moins intéressant mais on peut surement réutiliser ensuite les procédures informatiques.

Question 6 :

La liste lesVisites est simplement déclarée mais elle n’est jamais instanciée dans la classe Organisation, il faut ajouter la commande new dans le constructeur.

Question 7 :

Visite uneVisite = new Visite( txtSaisieDateVisite.getText());
// utilisation du constructeur avec un paramètre.
public void ajoutVisite(Visite plaVisite) {
	//On recherche le prospecteur
	String leProspecteur = laRegion. getleEtablissement().getProspecteur();
	//On ajoute le prospecteur à la visite
	Plavisite.setProspecteur(leProspecteur) ;
	lesVisites.add(plaVisite) ;
}

Question 8 :

Dans la classe Region :

En C#

public double CalculIndice()
{
	double nbEtablissementVisite = 0 ;
	foreach (Organisation item in lesOrganisations)
	{
		If (lesOrganisation. getlesVisites().Count() > 0)
		{
			nbEtablissementVisite++ ;
		}
	}
	return nbEtablissamentvisite / lesOrganisations.Count();
}

Question 9 :

Ajout de l’image dans le cas du PC

faut rajouter les lignes PHP suivantes après Accueil entreprises

include_once("Mobile_Detect.php");
$detect= new Mobile_Detect();
if (!$detect->isMobile())
echo ‘Entreprises';

Question 10 :

Prise en compte dest tailles différentes du menu.

$detect= new Mobile_Detect();
if ($detect->isMobile())
{
	echo "ul li { width : 220px; }";
}
else
{
	echo "ul li { width : 160px; }" ;
}

Modification pour PC.

Il suffit de rajouter une ligne dans la boucle en changeant la position et modifier le compteur.

$top =40;
for ($i=1; $i<4; $i++) {
                 echo "#lien" . $i . " {left 260px; top:" . $top."px; position absolute;}"; />/ Génération des styles CSS pour les éléments “lien1” à “lien6”
	echo "#lien" . ($i+3) . " {left: 450px; top:" . $top."px; position: absolute;}";
	$top = $top + 80;
}

Question 11:

Site Web mobile

Coût unique car il suffit de le développer une seule fois. S’adapte à tous les appareils. Le site peut être rapidement mis à jour. Difficulté pour s’adapter à tous les appareils (taille d’écran). Impossible d’avoir accès à certaines fonctions du téléphone ou de la tablette (carnet d’adresse…). Facilité d’indexation par les moteurs de recherche.

Application

Développement autant de fois qu’il existe de systèmes d’exploitation mobiles. L’application doit être validée par l’Apple Store ou Market Place. Le mobinaute doit aller sur son magasin d’applications, vous chercher, vous trouver et vous télécharger. Indispensable pour les photos, le carnet d’adresse où les jeux : interactions fortes. Ergonomie plus poussée. Permet de développer des applications impossibles à réaliser sur le web. Peut être payante pour le mobinaute.

Développer deux sites web distincts demande plus de développement et de maintenance.