# S5.A.01 Développement avancé

> [!NOTE]
> **Objectif :** La problématique professionnelle est de créer, **en équipe**, une application en suivant une démarche itérative ou incrémentale, avec une intégration continue de l'application.

Le développement de l'application devra utiliser des **technologies avancées** et s'inscrire dans une démarche d'**amélioration continue**.

En partant d'un besoin <ins>décrit de manière imprécise ou incomplète par un client</ins>, l'objectif est de **clarifier** ou compléter, collecter et formaliser le besoin puis de développer une **application communicante** intégrant la **manipulation des données** et respectant les paradigmes de qualité (ergonomie des IHM, qualité logicielle…).

### Descriptif

Cette SAÉ permet, après avoir collecté et formalisé les besoins d'un client, de développer une application complexe, en respectant les paradigmes de qualité et en s'inscrivant dans une démarche d'amélioration continue.

L'application devra utiliser des **API complexes** (framework, ...), interroger une base de données et s'appuyer sur un serveur.

## Compétences ciblées

- Développer — c'est-à-dire concevoir, coder, tester et intégrer — une solution informatique pour un client.
- Proposer des applications informatiques optimisées en fonction de critères spécifiques : temps d'exécution, précision,
consommation de ressources..
- Acquérir, développer et exploiter les aptitudes nécessaires pour travailler efficacement dans une équipe informatique

### Compétence 1 : Adapter des applications sur un ensemble de supports (embarqué, web, mobile, IoT…)

- AC31.01 Choisir et implémenter les architectures adaptées
- AC31.03 Intégrer des solutions dans un environnement de production

### Compétence 2 : Analyser et optimiser des applications

- AC32.01 Anticiper les résultats de diverses métriques (temps d'exécution, occupation mémoire, montée en charge...)
- AC32.03 Choisir et utiliser des bibliothèques et méthodes dédiées au domaine d'application (imagerie, immersion, intelligence artificielle, jeux vidéos, parallélisme, calcul formel...)

### Compétence 6 : Manager une équipe informatique

- AC36.01 Organiser et partager une veille technologique et informationnelle

## Volume horaire

Situation|Parcours|saé dev|saé math
---|---|--:|--:
Formation initiale | Insertion professionnelle | 180 | 20
Formation initiale | Poursuite d'études        | 130 | 70
Apprentissage      | Insertion professionnelle | 80  | 10
Apprentissage      | Poursuite d'études        | 55  | 35

## Jeu de rôle

### Les acteurs

La Situation d'Apprentissage et d'Évaluation (SAÉ) est un jeu de rôle.

Vous (étudiants) êtes employés par l'entreprise SAÉ (Software Architecture Évolutions). C’est une entreprise spécialisée dans le développement logiciel de 25 personnes située à Saint-Dié des Vosges.

Vous êtes des développeurs juniors avec déjà un an d’expérience.

Ce projet est le premier projet d’ampleur que l’on vous confie.Et vous allez devoir travailler en binôme avec un autre collègue, lui aussi développeur junior.

Un nouveau client  (le réseau Cocagne)  a demandé à Software Architecture Évolutions de prendre en charge son projet de développement d'une nouvelle application à destination de ses adhérents.

Les différents **enseignants** représentent les bénévoles, employés, consultants ou fournisseurs tiers qui travaillent pour le réseau Cocagne.

Vous devrez régulièrement fournir des **rendus** à ces personnes en suivant scrupuleusement leurs exigences.

## Rendus

### Rendu 1 : Analyse comparative

Faire une analyse comparative et prospective du secteur des Jardins de Cocagne. Rendre un rapport en **anglais* de 6/7 pages présentant les différents acteurs et en conclusion un tableau comparatifs des plus et des moins de chaque acteur.

Contraintes : Répertorier des acteurs locaux non français, anglophones de préférence.

- **Étudiants concernés :** tous
- **Correctrice :** Aline Caspary
- **Compétence :** 6 - Collaborer
- **Coefficients :** 	7 / 50 (3.5 / 50 pour l'écrit - 3.5 / 50 pour l'oral)
- **Date de rendu:** [16/09/2025](https://arche.univ-lorraine.fr/mod/assign/view.php?id=1622610)

### Rendu 2 : Communication commerciale

> [!WARNING]
> Énoncé non définitif, soumis à modification

<del>Transcrire la réunion avec les personnes des Jardins de Cogagne en un cahier des charges clair et compréhensible par des non professionnels du développement. Celui-ci sera soumis aux personnes du réseau Cocagne.</del>

Contraintes : Présentation sous forme d'un diaporama visuellement riche avec des schémas de l'organisation et du fonctionnement.

- **Étudiants concernés :** tous
- **Correctrice :** Alexandra Doennlen
- **Compétence :** 6 - Collaborer
- **Coefficients :** 	8 / 50

### Rendu 3 : Cahier des charges technique

Établir un document détaillant les solutions techniques que vous avez retenues pour répondre au besoin du client. Quelle architecture ? Base de données ? Support des applications ? Langage de développement ? Cadriciels utilisés ?

Ne pas oublier : la solution pour la carte, l'itinéraire et le calendrier

Contraintes : Présentation sous forme d'un **diaporama visuellement riche** avec des schémas de l'organisation et du fonctionnement.

- **Étudiants concernés :** tous
- **Correcteur :** Emmanuel Medina
- **Compétence :** 6 - Collaborer
- **Coefficients :** 	7 / 50
- **Date de rendu:** [15/10/2025](https://arche.univ-lorraine.fr/mod/assign/view.php?id=1720363)

### Rendu 4 : Proposition financière

Établir un **devis chiffré** de la solution. Le devis sera détaillé de telle façon que le client soit en mesure d'évaluer chaque partie : étude, réalisation, modules complémentaires, infrastructure, matériel, installation, prise en main, formation ...
Garder à l'esprit l'hypothèse de fonctionnement de la SAÉ

Contraintes : Mise en place d'outil de gestion de projet permettant de quantifier le temps passé.

- **Étudiants concernés :** tous
- **Correcteur :** Boris Davin
- **Compétence :** 6 - Collaborer
- **Coefficients :** 	7 / 50

### Rendu 5 : Gestion de projet

Compte rendu de la réunion de lancement du projet

- **Étudiants concernés :** tous
- **Correcteur :** Marc Minot
- **Compétence :** 6 - Collaborer
- **Coefficients :** 3 / 50

### Rendu 6 : Base de données

Proposer une modélisation de la base de données

- **Étudiants concernés :** tous
- **Correcteur :** Stéphane Dieudonné
- **Compétence :** 2 - Optimiser
- **Coefficients :**
  - 9/50 : FI Insertion professionnelle
  - 6/50 : FI Poursuite d'études
  - 10/50 : App Insertion professionnelle
  - 9/50 : App Poursuite d'études

### Rendu 7 : Environnement de développement

Proposer un environnement de développement collaboratif.

- **Étudiants concernés :** tous
- **Correcteur :** Hugo Rositi
- **Compétence :** 6 - Collaborer
- **Coefficients :** 18 / 50

### Rendu 8 : Web Service

Développer un web service permettant d'accéder aux données de manière universelle.

- **Étudiants concernés :** formation initiale et apprentis parcours insertion professionnelle
- **Correcteur :** Émilien Micard
- **Compétence :** 2 - Optimiser
- **Coefficients :**
  - 15/50 FI Insertion professionnelle
  - 12/50 FI Poursuite d'études
  - 17/50 FA Insertion professionnelle

### Rendu 9 : Programmation avancée

Développement d'une application de reconnaissance automatique de fruit en IA par la méthode d'apprentissage profond en python.

- **Étudiants concernés :** tous
- **Correcteur :** Pierre-Frédéric Villard
- **Compétence :** 1 - Réaliser
- **Coefficients :**
  - 5/50 FI Insertion professionnelle
  - 4/50 FI Poursuite d'études
  - 6/50 App Insertion professionnelle
  - 2/50 App Poursuite d'études

### Rendu 10 : Programmation multimédia

Développement d'une application de visite virtuelle d'un jardin fruitier avec le logiciel Unity.
L'objectif est de créer ce jardin au milieu d'une île avec modélisation du terrain et de l'environnement.

- **Étudiants concernés :** tous
- **Correcteur :** Pierre-Frédéric Villard
- **Compétence :** 1 - Réaliser
- **Coefficients :**
  - 5/50 FI Insertion professionnelle
  - 3/50 FI Poursuite d'études
  - 6/50 App Insertion professionnelle
  - 2/50 App Poursuite d'études

### Rendu 11 : Compléments d'algèbre linéaire et d'analyse

- **Étudiants concernés :** parcours poursuite d'études
- **Correcteur :** Patrick Adelbrecht
- **Compétence :** 1 - Réaliser
- **Coefficients :** 19/50 Formation initiale ; 13/50 Apprentis

### Rendu 12 : Méthodes d'optimisation pour l'aide à la décision

- **Étudiants concernés :** tous
- **Correcteur :** Patrick Adelbrecht
- **Compétence :** 2 - Optimiser
- **Coefficients :**
  - 6/50 FI Insertion professionnelle
  - 5/50 FI Poursuite d'études
  - 3/50 App Insertion professionnelle
  - 3/50 App Poursuite d'études

### Rendu 13 : Modélisations mathématiques

- **Étudiants concernés :** tous
- **Correcteur :** Patrick Adelbrecht
- **Compétence :** 2 - Optimiser
- **Coefficients :**
  - 9/50 FI Insertion professionnelle
  - 10/50 FI Poursuite d'études
  - 8/50 FA Insertion professionnelle
  - 8/50 FA Poursuite d'études

### Rendu 14 : Compléments de probabilités et statistique

- **Étudiants concernés :** parcours poursuite d'études
- **Correcteur :** Patrick Adelbrecht
- **Compétence :** 2 - Optimiser
- **Coefficients :** 17/50 FI ; 13/50 FA

___

### Rendu 15 : Développement Back-office 1

Concevoir l'interface permettant de créer les tournées de livraison. Sur une carte dessiner l'itinéraire de la tournée en fonction des dépôts sélectionnés pour faire partie de cette livraison.

- **Étudiants concernés :** formation initiale
- **Correcteur :** Emmanuel Medina
- **Compétence :** 1 - Réaliser
- **Coefficients :** 12/50

### Rendu 16 : Développement Back-office 2

#### Sujet A

Concevoir l'interface permettant de spécifier les calendriers de livraison en fonction de la tournée et des fréquences.

- **Étudiants concernés :** formation initiale parcours insertion professionnelle

#### Sujet B

Conception d'un outil permettant de créer la composition des paniers. Il existe plusieurs types de paniers. Chaque mois les jardins possède un stock de légumes. Il faut répartir les légumes dans les paniers de façon à écouler le stock au mieux tout en garantissant la valeur du panier.

- **Étudiants concernés :** formation initiale parcours poursuite d'études

- **Correcteur :** Emmanuel Medina
- **Compétence :** 1 - Réaliser
- **Coefficients :** 12/50

### Rendu 17 : Développement Front Office

Concevoir la partie font office de l'application c'est à dire l'inscription des adhérents et le tunnel de commande  permettant à un adhérent de choisir un abonnement et son point de dépôt.

- **Étudiants concernés :** formation initiale parcours insertion professionnelle
- **Correcteur :** Emmanuel Medina
- **Compétence :** 1 - Réaliser
- **Coefficients :** 16/50

___

### Rendu 18 : Tests / Profilage / Mesures

- **Étudiants concernés :** formation initiale parcours insertion professionnelle
- **Correcteur :** Olivier Caspary
- **Compétence :** 2 - Optimiser
- **Coefficients :** 11/50

### Rendu 19 : Apprentissage

- **Étudiants concernés :** apprentis
- **Correcteurs :** jury de stage
- **Compétence :** 1 - Réaliser
  - **Coefficients :** Insertion professionnelle 38/50 ; poursuite d'études 33/50
- **Compétence :** 2 - Optimiser
  - **Coefficients :**  Insertion professionnelle 12/50 ; poursuite d'études 17/50

## Notation

### Coefficients

<table>
<tr>
  <td>N°</td><td>Compétences</td>
  <td colspan="4" text-align="center">Compétence 1 (50)</td>
  <td colspan="4" text-align="center">Compétence 2 (50)</td>
  <td colspan="4" text-align="center">Compétence 6 (50)</td>
</tr>
<tr><td></td><td>Situation</td>
  <td colspan="2" text-align="center">FI</td><td colspan="2" text-align="center">App</td>
  <td colspan="2" text-align="center">FI</td><td colspan="2" text-align="center">App</td>
  <td colspan="2" text-align="center">FI</td><td colspan="2" text-align="center">App</td>
</tr>
<tr>
  <td>N°</td><td>Rendu</td>
  <td>IP</td><td>PE</td><td>IP</td><td>PE</td>
  <td>IP</td><td>PE</td><td>IP</td><td>PE</td>
  <td>IP</td><td>PE</td><td>IP</td><td>PE</td>
</tr>
<tr><td>1</td><td>Analyse comparative</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td>7</td><td>7</td><td>7</td><td>7</td>
</tr>
<tr><td>2</td><td>Cahier des charges fonctionnels</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td>8</td><td>8</td><td>8</td><td>8</td>
</tr>
<tr><td>3</td><td>Cahier des charges technique</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td>7</td><td>7</td><td>7</td><td>7</td>
</tr>
<tr><td>4</td><td>Proposition financière</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td>7</td><td>7</td><td>7</td><td>7</td>
</tr>
<tr><td>5</td><td>Gestion de projet</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td>3</td><td>3</td><td>3</td><td>3</td>
</tr>
<tr><td>6</td><td>Base de données</td>
  <td></td><td></td><td></td><td></td>
  <td>9</td><td>6</td><td>10</td><td>9</td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>7</td><td>Environnement de développement</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td>18</td><td>18</td><td>18</td><td>18</td>
</tr>
<tr><td>8</td><td>Web Service</td>
  <td></td><td></td><td></td><td></td>
  <td>15</td><td>12</td><td>17</td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>9</td><td>Programmation avancée</td>
  <td>5</td><td>4</td><td>6</td><td>2</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>10</td><td>Programmation multimédia</td>
  <td>5</td><td>3</td><td>6</td><td>2</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>11</td><td>Compléments d'algèbre linéaire et d'analyse</td>
  <td></td><td>19</td><td></td><td>13</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>12</td><td>Méthodes d'optimisation pour l'aide à la décision</td>
  <td></td><td></td><td></td><td></td>
  <td>6</td><td>5</td><td>3</td><td>3</td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>13</td><td>Modélisations mathématiques</td>
  <td></td><td></td><td></td><td></td>
  <td>9</td><td>10</td><td>8</td><td>8</td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>14</td><td>Compléments de probabilités et statistique</td>
  <td></td><td></td><td></td><td></td>
  <td></td><td>17</td><td></td><td>13</td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>15</td><td> Développement Back-office 1</td>
  <td>12</td><td>12</td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>16</td><td>Développement Back-office 2</td>
  <td>12</td><td>12</td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>17</td><td>Développement Front Office</td>
  <td>16</td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>18</td><td>Tests</td>
  <td></td><td></td><td></td><td></td>
  <td>11</td><td></td><td></td><td></td>
  <td></td><td></td><td></td><td></td>
</tr>
<tr><td>19</td><td>Apprentissage</td>
  <td></td><td></td><td>38</td><td>33</td>
  <td></td><td></td><td>12</td><td>17</td>
  <td></td><td></td><td></td><td></td>
</tr>
</table>

### Barème

Niveau | Note approx. | Description
:-:    |:-:    | ---
A      | 17-20 | Excellent : dépasse les normes requises et mérite une mention particulière.
B      | 13-16 | Bon : dépasse les normes requises.
C      | 10-12 | Moyen : correspond aux normes requises.
D      | 6-9   | Insuffisant : est en dessous des normes, nécessite une amélioration.
E      | 0-5   | Très Insuffisant : ne répond pas de toute évidence aux normes.

### Pénalités

Diverses pénalités pourront être appliquées

**Rendu en retard :** 1pt en moins par tranche de 6 heures de retard entamée.

**Absence des informations d’identification sur les rendus** : 1 pt en moins.
Doivent être présents sur la première page : les noms des étudiants, l'année universitaire, le titre du rendu, le logo de l'Université de Lorraine.

**Non respect du format de fichier :** 1 pt en moins.
Par exemple un fichier éditable Microsoft Word (.docx) à la place d'un fichier de présentation portable (.pdf)

**Noms du binôme absents du nom de fichier :** 1 pt en moins.

**Mise en forme de document incorrecte :** 2 pts en moins.
Par exemple rendre un texte rédigé à la place d’un diaporama, un script sql à la place d’un schéma ER.

## Énoncé

- [Contexte et cadre du projet](Contexte.md)
- [Cahier des charges](Specifications.md)
- [Modifications](Modifications.md) du cahier des charges suite à réunion avec le client

## Groupes

### Insertion Professionnelle (6 groupes)

<table>
<tr>
  <td>PHILIPPON-CHAMPROUX Florentin<br>RATTI Martin</td>
  <td>https://github.com/flo0s/Cocagne
  <br>docker : ✅
  <br>Base de données : PostgreSQL (latest)
  <br>.Net 9.0 - Blazor
  <br>Liste des dépôts : ✅ Itinéraire : ✅ crud Tournée : ☹</td>
</tr>
<tr>
  <td>MATEJKA Milan<br>MAURICE Simon</td>
  <td>https://github.com/VoidOma/SAE5_Developpement_avance
  <br>docker :  ☹
  <br>Base de données : MySQL 8.0
  <br>PHP 8.2 - Symfony 7.3
  </td></tr>
<tr>
  <td>ALVARIZA BILLAR Felipe<br>KANY Thomas</td>
  <td>https://github.com/tureisss/Sae5_Jardin_de_Cocagne
    <br>docker :  ❌
    <br>Base de données : MySQL 8
    <br>PHP 8.3 - Symfony 7.3
  </td></tr>
<tr>
  <td>DUBREUIL Eliot<br>ERRAES Mehdi</td>
  <td>https://gitlab.univ-lorraine.fr/erraes5u/sae-5
    <br>docker : ✅
    <br>Base de données : PostgreSQL 18.0
    <br>Liste des dépôts : ✅ Itinéraire : ✅ crud Tournée : ✅
  </td></tr>
<tr>
  <td>MEHIAOUI Mohamed<br>MERIMI Ayat</td>
  <td>https://github.com/MehiaouiMoh/SAE5_JardinCocagne
  <br>docker : ❌
  <br>Base de données : PostgreSQL 17.0
  <br>NodeJS 20 - Express
  </td></tr>
<tr>
  <td>HERRY Elwyn<br>HERRY	Matteo</td>
  <td>https://github.com/MoaKarov/Herry_Matteo_Herry_Elwyn_Sae5
  <br>docker :  ✅
  <br>Base de données : MySQL 8.0
  <br>NodeJS 18 - Express
  Liste des dépôts : ✅ crud tournée : ✅ ordre par glisser-déposer : ✅
  </td></tr>
</table>

### Poursuite d'études (4 groupes)

<table>
<tr>
  <td>GAILLIEGUE Ewan <br>VINCENT Teo</td>
  <td>https://github.com/EwanGailliegue/Les-Jardins-de-Cocagne
  <br>docker frontend: ✅ backend : ❌
  <br>Base de données ?
  <br>NodeJS 18 - Express
  </td>
</tr>
<tr>
  <td>MEHRAZ Chayimaa<br>RIFI 	ZAYNAB</td>
  <td>https://github.com/Chayimaa/SEA5-RIFI-MEHRAZ
    <br>docker : ❌
    <br>Base de données SQLite
    <br>PHP 8.2 - Laravel 12
  </td></tr>
<tr>
  <td>ALGUL Sefer<br>GRANDGIRARD Louis</td>
  <td>https://gitlab.univ-lorraine.fr/algul12u/sae-s5
  <br>docker : ❌
  <br>Base de données : MySQL 8.0
  <br>PHP 8.3 - Symfony 7.3</td></tr>
<tr>
  <td>COGNET Mattheo<br>BECERRA BARBA Erik <sup>(IP)</sup></td>
  <td>https://github.com/MattheoCo/JardinDeCocagne
  <br>docker : ❌
  <br>Base de données : PostgreSQL 16
  <br>PHP 8.3 - Symfony 6.1</td></tr>
</table>

### Apprentis Insertion professionnelle (2 groupes)

<table>
<tr>
  <td>COLIN Gabin<br>DE RYCKE Leanne</td>
  <td>https://gitlab.univ-lorraine.fr/derycke4u/sae-5-colin-derycke</td>
</tr>
<tr>
  <td>DESERT Romain<br>NIRRENGARTEN Tom</td><td>https://github.com/Rom444d/SAE-5</td>
</tr>
</table>

### Apprentis Poursuite d'Études (4 groupes)

<table>
<tr>
  <td>GIL Jérémie<br>PETRAZOLLER Johan</td>
</tr>
<tr>
  <td>NGUYEN Quang-Liem<br>RALLI	Clément</td></tr>
<tr>
  <td>DUFOUR Louise<br>MARTIN Mathis</td></tr>
<tr>
  <td>ROBAIL Alexandre</td>
</tr>
</table>
