Présentation du Projet
Cette application Android robuste et performante a été conçue pour moderniser le suivi des présences étudiantes au sein d'un établissement d'enseignement supérieur. Utilisant les capacités matérielles de la puce NFC intégrée aux smartphones, elle permet de lire instantanément les cartes d'étudiant sécurisées et de synchroniser les données de présence avec une base de données centralisée via une API REST sécurisée.
L'application intègre une architecture hors-ligne (offline-first) garantissant le bon fonctionnement du contrôle d'accès même dans les zones à faible couverture réseau, en stockant localement les scans avant de les synchroniser automatiquement dès qu'une connexion réseau stable est détectée.
Détails Techniques
Technologies Utilisées
Durée du Projet
4 mois (Septembre - Décembre 2022)
Défis et Solutions
Les défis techniques résolus sur ce projet incluent :
- La mise en place du mode Foreground Dispatch pour l'interception prioritaire des tags NFC et le décodage rapide des trames NDEF.
- Le développement d'un moteur de synchronisation bidirectionnel asynchrone avec SQLite et Retrofit.
- La sécurisation des échanges et le chiffrement local des identifiants stockés sur les cartes pour empêcher le clonage ou l'usurpation.
Exemples de Code
NFC Foreground Dispatch in Activity
@Override
protected void onResume() {
super.onResume();
Intent intent = new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_MUTABLE);
IntentFilter[] filters = new IntentFilter[]{new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED)};
String[][] techList = new String[][]{new String[]{Ndef.class.getName()}};
nfcAdapter.enableForegroundDispatch(this, pendingIntent, filters, techList);
}
Activation de l'interception NFC au premier plan pour assurer que l'application gère les scans en priorité.
Galerie du Projet
Conclusion et Résultats
L'application NFC a été déployée avec succès et est activement utilisée au quotidien par plus de 50 enseignants et surveillants. Elle a permis de réduire le temps de pointage de 75% par rapport aux méthodes manuelles classiques tout en éliminant les erreurs de saisie.