BUT Informatique study materials
BUT Informatique study resources

BUT Informatique: Réaliser un développement d'application

BUT Informatique · Work through your exam, one topic at a time.

All guide sections

Réaliser un développement d'application

L'épreuve porte sur la compétence « Réaliser un développement d'application » : transformer un besoin exprimé en langage naturel en conception, en code lisible, en tests et en historique Git propre. Les questions typiques demandent de choisir une structure de données, de justifier un découpage, de repérer un défaut dans un extrait de code, d'écrire un cas de test ou d'interpréter une commande Git.

Règles et concepts clés

  • Cycle de vie : spécification → conception → implémentation → tests unitaires → intégration → recette. Un besoin flou devient un cas d'usage, puis des tests d'acceptation ; chaque exigence doit être traçable vers au moins un test.
  • Qualité du code : un nom décrit l'intention (montantTtc, pas x) ; une fonction fait une seule chose ; DRY, KISS, YAGNI ; la complexité cyclomatique de McCabe augmente de 1 par if, while, case, &&, || ; au-delà de 10, on découpe.
  • Git : commits atomiques, message à l'impératif (« corrige le calcul de TVA »), une branche par fonctionnalité, pull request avant fusion sur main. rebase réécrit l'historique : jamais sur une branche partagée.
  • Tests : cas nominal, cas limites (0, vide, null, valeur maximale), cas d'erreur. Un test unitaire isole une unité sans base ni réseau ; un test d'intégration vérifie les interactions. TDD = rouge → vert → refactoriser.

Exemple travaillé

Fonction appliquerRemise(prixTtc, taux) où taux est un pourcentage de 0 à 100. Raisonnement de test : (1) cas nominal 100, 10 → 90 ; (2) bornes taux = 0 → 100 et taux = 100 → 0 ; (3) erreur taux = -5 ou taux = 120 → exception ; (4) arrondi monétaire : 19.99 avec 10 % donne 17.991, à arrondir à 17.99 ou 18.00 selon la règle retenue - il faut fixer la règle (demi vers le haut) et la tester, car un double produit 17.990000000000002 et l'égalité stricte entre flottants échoue. En production, on calcule en BigDecimal (Java) ou Decimal (Python).

Pièges qui coûtent des points

  • Corriger un bug sans ajouter le test de non-régression correspondant.
  • Confondre test unitaire et test d'intégration dans une question de stratégie de test.
  • Un commit fourre-tout de 40 fichiers : impossible à relire ni à annuler proprement.
  • Croire qu'une couverture de 100 % prouve l'absence de bug : elle prouve seulement que les lignes sont exécutées.