...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
#!/usr/bin/python
# -*- coding: utf-8 -*-
import cgi
args = cgi.parse()
print "Content-type: application/json"
print
if 'locations' in args.keys():
if args['eppn'][0] in ('bonamvin@univlogin@univ-rouenville1.fr', 'lemaida3@univautrelogin@univ-rouenville1.fr', 'esupdem@univlogin@univ-rouenville2.fr', 'galaxco3@univ-rouen.fr'):
print '["Esup Goodies"]'
else:
print '[]'
elif 'isTagable' in args.keys():
print 'OK'
elif 'validateTag' in args.keys():
print 'OK'
elif 'tagIdCheck' in args.keys():
csn = args['csn'][0]
alreadyChecked = False
suffix = ''
file = open('/var/www/log/goodies.txt',"r")
for line in file:
if csn==line.rstrip('\r\n'):
alreadyChecked = True
suffix = '[RE]'
file.close()
csnAsInt = int(csn, 16)
modCsn = csnAsInt%85
if modCsn in range(0,1):
print('{"csn":"-", "eppn":"parapluie", "firstname":"%s", "lastname":"Parapluie !", "locations":"esup-goodies"}' % (suffix))
elif modCsn in range(1,5):
print('{"csn":"-", "eppn":"couteau", "firstname":"%s", "lastname":"Couteau !", "locations":"esup-goodies"}' % (suffix))
elif modCsn in range(5,15):
print('{"csn":"-", "eppn":"porte-cartes", "firstname":"%s", "lastname":" Porte cartes !", "locations":"esup-goodies"}' % (suffix))
elif modCsn in range(15,45):
print('{"csn":"-", "eppn":"mystere", "firstname":"%s", "lastname":"Goodies 20 ans !", "locations":"esup-goodies"}' % (suffix))
# range(45,84):
else :
print('{"csn":"-", "eppn":"porte-carte-simple", "firstname":"%s", "lastname":"Porte carte simple", "locations":"esup-goodies"}' % (suffix))
if not alreadyChecked:
file = open('/var/www/log/goodies.txt',"a")
file.write(csn + "\n")
file.close()
else:
print '[]'
|
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
<bean id="tagIdCheckEsupGoodies" class="org.esupportail.nfctag.service.api.impl.TagIdCheckRestWs">
<property name="description" value="ESUP Goodies"/>
<property name="tagIdCheckUrl" value="https://esup-sgc-demo.esup-portail.org/esup-sgc-demo.esup-portail.orggoodies?tagIdCheck=tagIdCheck"/>
</bean>
<bean id="esupGoodiesExtApi" class="org.esupportail.nfctag.service.api.impl.AppliExtRestWs">
<property name="isTagableUrl" value="https://esup-sgc-demo.esup-portail.org/esup-sgc-demo.esup-portail.orggoodies?isTagable=isTagable"/>
<property name="validateTagUrl" value="https://esup-sgc-demo.esup-portail.org/esup-sgc-demo.esup-portail.orggoodies?validateTag=validateTag"/>
<property name="getLocationsUrl" value="https://esup-sgc-demo.esup-portail.org/esup-sgc-demo.esup-portail.orggoodies?locations=locations"/>
<property name="description" value="Esup Goodies WS"/>
</bean> |
...
Ce résultat est cohérent avec ce qui avait été imaginé (cf paragraphe "Cahier des charges").
Retex JRES 2021/2022
Du 17 au 20 mai à Marseille, le stand ESUP-Portail proposé lors des JRES 2021/2022 a connu une belle affluence.
L'idée de proposer un jeu pour se voir offrir un article a permis de clarifier la relation entre le congressiste et le représentant ESUP-Portail tenant le stand : chaque congressiste pouvait venir jouer dans le simple but de 'gagner' un lot ; si le jeu était un moyen ludique d'attirer le congressiste, ce-dernier n'avait du coup également aucun sentiment d'obligation vis-à-vis d'ESUP-Portail ; la relation congessiste/association partait ainsi sur des bases saines.
Le jeu de loterie NFC a permis de mettre en avant plus spécifiquement et précisément ESUP-SGC et ESUP-NFC-TAG ; des établissements se sont ainsi montrés intéressés par adopter la solution prochainement (dont des établissements découvrant la solution au travers de la visite au stand).
A noter enfin que le "goodies spécial 20 ans" était des savons de marseille de la savonnerie Marius Fabre (plus de 80% des lots étaient ainsi 'made in france').
Près de 600 'cartes' sans contact différentes ont été badgées et donc près de 600 lots ont été donnés à des congressistes ; plus de 700 badgeages ont été réalisés.
La répartition des lots a été la suivante :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
5 parapluies
35 couteaux
82 porte-cartes multiples
204 savons
272 porte-cartes simples |
Pédagogie NFC - usage du CSN
Au travers de ce jeu, les congressistes ont pu être sensibilisés au problème de sécurité des cartes :
- intérêt des protège-cartes anti-RFID ;
- intérêt d'utiliser et maitriser une carte type MIFARE Desfire pour sécuriser les usages (sgc, contrôle d'accès, ...) ; ce qui n'était pas le cas pour cette loterie, en toute conscience.
Vers la fin du congrès, on a pu donner un coup de projecteur sur cette page wiki au travers du Rocket Chat ESUP (utilisé par ailleurs comme outil de communication pour tous les participants de ces JRES 2021/2022) afin notamment, en filigrane, d'indiquer que le jeu pouvait, en plus d'être prédictif, être sujet à la tricherie
Hack In Provence s'est prêté au jeu et a gagné le gros lot (ils ont utilisé un dérivé d'un proxmark a priori) ; avec leur accord, on a pu prendre en photo le président de cette association
Côté ESUP, nous avions nous-même piraté notre loterie avec une carte magique et libnfc - cf Tags NFC - getting started#gettingstarted-libnfc


