Cours : Les transactions en SQL (MySQL) Objectifs Comprendre à quoi servent les transactions dans une base de données. Savoir comment elles fonctionnent : BEGIN, COMMIT, ROLLBACK. Identifier les problèmes de cohérence que les transactions permettent d’éviter. 1. Qu’est-ce qu’une transaction ? Une transaction est un ensemble d’opérations SQL qui…
TP Git
TP – Projet DCSPompiers (Travail en groupe) Objectif : collaborer en équipe sur un projet PHP existant en appliquant les bonnes pratiques de Git, GitHub, PSR12, et documentation de code. Dépôt de référence : https://github.com/SebInfo/DCSPompiers Organisation GitHub du travail Revoir le cours partie 4/4 de Git Un seul étudiant par…
Git 4/4
Collaborer à plusieurs sur GitHub : Fork unique, branches par membre, et VS Code Objectif : comprendre la logique et le workflow pour qu’un groupe (2–3 étudiants) travaille proprement sur un même projet à partir d’un dépôt commun fourni par l’enseignant. 1) Notions de base (rappel rapide) Dépôt (repository) :…
Protection CSRF
Comprendre la menace : le CSRF CSRF signifie Cross-Site Request Forgery ou falsification de requête intersite. C’est une attaque qui vise à tromper un utilisateur authentifié pour qu’il exécute malgré lui une action sur une application web où il est connecté. Le but du jeton CSRF est de s’assurer que…
Installation et création d’un projet Laravel
Installer Laravel : avec ou sans installateur global ? Objectif : comprendre la différence entre l’installation de Laravel via Composer directement et l’installation via l’installateur global, puis savoir quelle méthode utiliser en pratique. Environnement nécessaire avant d’installer Laravel Objectif : s’assurer que tous les outils indispensables au développement avec Laravel sont…
Node.js
Node.js – Installation et intérêt pour le développement web Qu’est-ce que Node.js ? Node.js est un environnement d’exécution JavaScript côté serveur. Autrement dit, il permet d’exécuter du code JavaScript en dehors du navigateur, directement sur ta machine ou sur un serveur. Il repose sur le moteur V8 de Google Chrome…
Composer
Composer : le gestionnaire de dépendances pour PHP Objectif : comprendre à quoi sert Composer, comment l’installer et savoir utiliser les commandes de base pour un projet PHP. Qu’est-ce que Composer ? Composer est un outil qui permet de gérer automatiquement les bibliothèques PHP dont un projet a besoin. Il…
Java (partie 6)
Swing : boutons, clics souris et événements Objectif Construire une petite interface Swing avec boutons, champs texte, table et gestion d’événements (ActionListener, MouseAdapter). Option : brancher au DAO JDBC. Code exemple (indépendant, stockage en mémoire) // src/ui/StudentTableModel.java package ui; import model.Student; import javax.swing.table.AbstractTableModel; import java.util.List; public class StudentTableModel extends AbstractTableModel…
Java (partie 5)
Java & MySQL (JDBC) + “ORM maison” Objectif Se connecter à MySQL (WAMP), exécuter des requêtes sécurisées (PreparedStatement), gérer transactions et mapper les lignes en objets via un DAO. Pré-requis poste Driver JDBC : mysql-connector-j 8.x (fichier .jar) — Ajouter au projet Eclipse (Right click → Build Path → Add…
Java (partie 4)
Comparer et trier des objets (equals/hashCode, Comparable, Comparator) Objectif Implémenter correctement l’égalité logique, l’ordre naturel et des ordres multiples pour trier et utiliser TreeSet/TreeMap. Exemple complet package model; import java.util.Objects; public class Student2 implements Comparable<Student2> { private final String id; private final String name; private final double average; public Student2(String…