Développement
Projet robots
Deux projets robots sont proposés en collaboration avec Pierre Fabien du club Robot. Il ne peut y avoir qu'un seul binôme par projet. Ils remplacent les rendus 15 et 16. Ils devront néanmoins être composés de deux parties distinctes : la réalisation robotique et un interface utilisateur sur PC.
Sujet Robotique 1
Concevoir un robot capable de suivre une ligne de culture, identifier les menaces et les éliminer.
Sujet Robotique 2
Concevoir un robot capable de sortir d'un plan de culture (labyrinthe) et rejoindre sa base.
Le super projet Symfony
Le super projet consiste en un projet unique, réalisé avec Symfony et regroupant plusieurs binômes. Chaque binôme travaille sur un module différent. La difficulté étant de partager le même dépôt pour l'ensemble des modules.
Pour chaque énoncé au moins un binôme doit faire partie du super projet.
Conseils
Environnement de développement
- Utiliser l'attribut name en début du fichier compose.yaml en y mettant vos noms en minuscule : nom1_nom2
- Pour le choix des images, ne pas utiliser latest, mais spécifier une version majeure (ex. postgres:16, node:20, php:8.3-fpm) afin d’assurer la reproductibilité et éviter les régressions liées aux mises à jour non maîtrisées.
- Créer un fichier principal : compose.yaml et un fichier pour le développement local : compose.override.yaml
- Les outils d'administration et de debug comme phpMyAdmin doivent être dans l'override de développement, pas en production.
- Les volumes pour le développement local doivent être montés dans l'override
- Ne jamais inclure les configurations locales dans le fichier principal
- Ne jamais inscrire de mot de passe en clair dans un Dockerfile ou un compose.yaml
- Utiliser un Dockerfile multistage
- Étape 1 : installation des dépendances (ex. composer install, npm ci).
- Étape 2 : copie du code (sans les caches inutiles). utiliser .dockerignore
- Limiter le nombre de couches Docker (fusionner les RUN si possible).
- Nettoyer les caches après installation des dépendances (rm -rf /var/lib/apt/lists/*).
- Pour le développement local ajouter une image oneshot pour effectuer l'installation des dépendances
- Utiliser un réseau interne pour la communication entre services
- Si vous avez différents services à exposer, n'utiliser pas des ports multiples mais un reverse proxy
- Ajouter un fichier .gitignore adapté pour éviter d'inclure les fichiers temporaires ou cache à votre dépôt, cela augmente artificiellement le nombre de fichiers validés. Si vous validez des dizaines de fichiers c'est qu'il y a un problème.
- Configurer votre dépôt git avec votre nom et votre adresse universitaire. Une seule adresse sera utilisée pour les statistiques de contribution au dépôt.
git config user.name Nom
git config user.email prenom.nom3@etu.univ-lorraine.fr
- Compte par défaut : si l'accès à vos pages d'administration sont protégées, utilisez obligatoirement le compte admin avec le mot de passe sae5.