Extraire des notes d'un site web
Bonsoir,
Je suis enseignant et je cherche à développer un petit outil qui rendrait bien service à nombre de collègues et d'administration. Je précise que cet outil est légal (dès lors que vous avez les codes de connexion des élèves, comme tous les professeurs principaux et les administrations des établissements).
Le problème : chaque fin d'année scolaire, les enseignants cherchent à obtenir la liste des résultats, classe par classe, aux examens. L'éducation nationale n'est pas à ce jour capable de donner des résultats agrégés, classe par classe. Les résultats sont publiés sur un site officiel : http://resultat.siec.education.fr/. Chaque élève doit se connecter avec son identifiant (son numéro de matricule) et sa date de naissance. Ces informations sont connues des secrétariats et des professeurs principaux (qui veillent d'ailleurs quelques mois avant les examens à ce que les élèves se soient bien inscrits ; ils ont donc identifiant et date de naissance).
L'idée : je cherche une personne compétente dans Excel pour développer un outil capable : 1) de se connecter automatiquement aux comptes des élèves à partir d'une liste excel des identifiants et dates de naissance (comme une macro donc) 2) d'extraire les notes matière par matière et de les copier dans une feuille excel triable.
Créer cet outil vous assurerait de la reconnaissance éternelle de milliers d'enseignants^^
Merci de votre aide, et de vos idées.
Thomas
Bonjour,
Pour avoir tenté de récupérer des infos sur des intranet professionnel sécurisée, il n'y a rien d'évident mais voici un premier bout de code VBA pour accéder au site et faire une tentative d'authentification (login=Identifiant et password=Date). Aussi, je ne suis pas un spécialiste mais il faut tjrs s'intéresser au code du site internet sur lequel on cherche à récupérer des infos (connaitre la dénomination des "fenêtres de saisies", boutons, etc...).
Sub connexion()
Dim IE As InternetExplorer
Dim IEdoc As Object
Dim DOCelement As Object
Set IE = New InternetExplorer
IE.Visible = True
IE.navigate ("http://resultat.siec.education.fr/")
' attente de fin de chargement
Do Until IE.readyState = 4
DoEvents
Loop
Set IEdoc = IE.Document
'login A REMPLACER PAR IDENTIFIANT
Set DOCelement = IEdoc.getElementsByName("user").Item
DOCelement.Value = "xxxxxxxxxxxxxx"
'password 'A REMPLACER PAR UNE DATE MAIS SE POSE LA QUESTION DU FORMAT DESIREE
Set DOCelement = IEdoc.getElementsByName("passe").Item
DOCelement.Value = "xxxxxxxxxxxxxxx"
DOCelement.Select
'connexion
Set DOCelement = IEdoc.forms(0)
DOCelement.submit
Do Until IE.readyState = 3
DoEvents
Loop
IE.navigate "http://xxxxxxxxxxxxxxx/adv/pdv_agree_adv.php"
Do Until IE.readyState = 4
DoEvents
Loop
IE.Document.forms(1).submit
'IE.Visible = True
End SubLe bout de code s'entre dans un module après avoir saisi alt+F11 sur Excel. (Rien de tel qu'un peu de pratique pour comprendre comment fonctionne le langage VBA, ce forum n'a ; selon moi ; pas vocation à fournir des outils clés en main qui seraient obscurs pour leurs utilisateurs)
A bon entendeur
Sympathiquement,
GB
Bonjour Thomas,
Prosopee a écrit :2) d'extraire les notes matière par matière et de les copier dans une feuille excel triable.
si le point 1 est résolu, pour le point 2 il y a plusieurs façons de procéder selon que la page web est bien structurée ou pas ... mais pour cela il faudrait pouvoir avoir accès à un jeu d'essai ou une copie du code source d'une page ....
CVC a écrit :Bonjour,
Pour avoir tenté de récupérer des infos sur des intranet professionnel sécurisée, il n'y a rien d'évident mais voici un premier bout de code VBA pour accéder au site et faire une tentative d'authentification (login=Identifiant et password=Date). Aussi, je ne suis pas un spécialiste mais il faut tjrs s'intéresser au code du site internet sur lequel on cherche à récupérer des infos (connaitre la dénomination des "fenêtres de saisies", boutons, etc...).
Bonjour et merci pour cette première idée. Accéder au code source d'une page est en effet la première phase du problème mais il faudra auparavant se connecter au compte de l'élève. Peut-on automatiser cela ? Imaginons que ce soit impossible ou trop fastidieux, on peut envisager que l'utilisateur entre patiemment les codes mais il faudrait qu'en un clic le fichier excel puisse automatiquement extraire les données et les structurer. J'ai pensé (pour cette première phase : la connexion) à une macro, est ce réaliste ? merci de vos retours
Steelson a écrit :Bonjour Thomas,
Prosopee a écrit :2) d'extraire les notes matière par matière et de les copier dans une feuille excel triable.
si le point 1 est résolu, pour le point 2 il y a plusieurs façons de procéder selon que la page web est bien structurée ou pas ... mais pour cela il faudrait pouvoir avoir accès à un jeu d'essai ou une copie du code source d'une page ....
Bonjour, oui en effet il peut y avoir plusieurs moyens de procéder.
J'ai testé par exemple une extraction via Données>Web puis en mettant une adresse d'une page similaire à celle des résultats des examens (le cas échéant Publinet, pour consulter les résultats aux concours de l'Education nationale) :
Le résultat est joint à ce message.
Bilan : facile (mais il n'y a pas de connexion au compte) et structuré.
Pour les codes tests : oui j'attends que certains de mes élèves m'envoient les siens mais ce sont les vacances !
merci
Prosopee a écrit :J'ai testé par exemple une extraction via Données>Web puis en mettant une adresse d'une page similaire à celle des résultats des examens (le cas échéant Publinet, pour consulter les résultats aux concours de l'Education nationale) :
Le résultat est joint à ce message.
Ce qui est intéressant c'est que les résultats sont dans la table <table class="notes striped aere">, on peut donc les extraire facilement et automatiquement.
Bonjour,
j'ai réussi à obtenir un code de connexion pour le test, si quelqu'un a une idée pour avancer.
Par contre un autre problème apparait : quand je me connecte avec les codes de l'élève, l'url de la page ne change pas, je veux dire qu'il n'est pas spécifique à cette connexion (la capture d'écran vous permettra de comprendre). Je ne peux donc pas récupérer les données via excel comme je le proposais plus haut.
Prosopee a écrit :Bonjour,
j'ai réussi à obtenir un code de connexion pour le test, si quelqu'un a une idée pour avancer.
Par contre un autre problème apparait : quand je me connecte avec les codes de l'élève, l'url de la page ne change pas,
Cela veut dire que les données sont envoyées en méthode "POST". Il faut donc adapter la macro ... je peux t'envoyer ce qu'il faut mais il faut que je finalise un point auparavant.
Le début du début ... reste à finaliser !
Je comprends mieux en effet... Merci pour votre aide, et si vous voulez les codes tests je peux vous les envoyer par courriel.
Merci encore !
Je vais te décevoir ...
Le formulaire est bien envoyé en POST
<form name="formulaireGeneral" action="resultats" method="post" class="formulaireGeneral">
MAIS, il y a un captcha
<input name="j_captcha_response" type="text" size="8" id="generated_id_j_captcha_response" maxlength="8" title="Saisir le code affiché dans l'image suivante" class="wcagLabelValue_value wcagInputTextValue"><span class="wcagLabelValue_info"><em><img alt="Image du code à saisir" src="resultatsjcaptcha" title="Image du code à saisir"></em></span>
C'est une image générée en php et qu'il faut recopier ... et je n'ai pas sous excel de moyen de décoder le contenu de l'image. Un captcha est justement fait pour bloquer les robots !!
Echec et Mat !
Comme suite à nos échanges en MP
et compte tenu du blocage lié à un captcha, exemple ci-après
j'ai refait un nouveau fichier.
Le process est le suivant :
- ouvrir la page internet
- faire Ctrl+a, puis Ctrl+c pour copier la totalité de la page
- revenir dans l'outil excel et faire extraire
Je le publie ici car cela peut intéresser d'autres personnes de passer par le presse-papier pour capter des informations d'intrernet.
Bonjour, je viens de tester et c'est super ! Merci.
Pour les codes, je proposerai une charte signée par le proviseur et les élèves pour annonce clairement que leurs codes seront conservés et utilisés à des fins statistiques. Je bricolerai un tableau pour que le secrétariat y copie colle tous les codes des élèves. Aux professeurs en fin d'année de se connecter et d'extraire les notes via votre outil.
A mon sens la mission est tremplie
Je poursuis sur la compilation de tous les onglets pour en faire des stats et avoir aussi une vue d'ensemble sur un seul onglet.
Je me suis fait un jeu d'essai "bidon".
Question = combien de candidats à l'exam ? car le nombre d'onglets n'est pas infini. On peut aussi enregistrer chaque candidat sur des fichiers déparés, ce n'est plus limitatif dans ce cas.
Réponse demain sans doute sur la compilation ...
Voilà, pour la compilation ...
Tu peux ensuite introduire autant de TCD que nécessaire selon l'angle dans lequel tu veux voir les résultats !
Le jeu est un jeu d'essai, les notes sont distribués aléatoirement ! je ne dirai pas que c'est comme cela dans la réalité ...
Steelson a écrit :Je poursuis sur la compilation de tous les onglets pour en faire des stats et avoir aussi une vue d'ensemble sur un seul onglet.
Je me suis fait un jeu d'essai "bidon".
Question = combien de candidats à l'exam ? car le nombre d'onglets n'est pas infini. On peut aussi enregistrer chaque candidat sur des fichiers déparés, ce n'est plus limitatif dans ce cas.
Réponse demain sans doute sur la compilation ...
Bonjour, c'est difficile à dire, tout dépend du nombre de classes à examens de l'établissement. Je parle des lycées exclusivement car les résultats du DNB (brevet) sont eux connus en détail. Il y a les examens de première bac général et technologique + professionnel, idem pour les terminales. Ce qui intéresse un prof comme un proviseur au final, c'est une vue statistique des notes par classe et par matière. deux onglets suffiraient. Pour les données brutes (notes extraites des élèves), le fichier ne serait pas exploité. cordialement,
Steelson a écrit :Voilà, pour la compilation ...
Tu peux ensuite introduire autant de TCD que nécessaire selon l'angle dans lequel tu veux voir les résultats !
Le jeu est un jeu d'essai, les notes sont distribués aléatoirement ! je ne dirai pas que c'est comme cela dans la réalité ...
Je me rappelle maintenant pourquoi je devais prendre des cours sur Excel, c'est vraiment génial !
L'outil me semble achevé. Je me dis qu'il me sera facile de produire des graphiques (plus lisibles) à partir de l'onglet "notes". Un onglet permettant de classer les élèves selon qu'ils ont obtenu la moyenne ou non dans chaque matière serait un plus mais j'abuse de vous^^
merci
PS : comment voyez vous la suite ? puis je utiliser cet outil (en licence CC-by-Sa bien sûr) à ma guise ?
merci
Prosopee a écrit :Je me rappelle maintenant pourquoi je devais prendre des cours sur Excel, c'est vraiment génial !
L'outil me semble achevé. Je me dis qu'il me sera facile de produire des graphiques (plus lisibles) à partir de l'onglet "notes". Un onglet permettant de classer les élèves selon qu'ils ont obtenu la moyenne ou non dans chaque matière serait un plus mais j'abuse de vous^^
merci
PS : comment voyez vous la suite ? puis je utiliser cet outil (en licence CC-by-Sa bien sûr) à ma guise ?
merci
Bonjour,
Ce ne sont pas des cours qu'il faut prendre, c'est de la pratique, de la curiosité, et le partage dans les forum.
Abuses de l'outil à ta guise, diffuse le (avec une notice car il peut boguer si le copier n'est pas fait correctement, je n'ai pas mis beaucoup de garde-fous)
Pour le classement des élèves, maintenant que les notes sont rassemblées, tout est possible assez simplement : soit par TCD, soit par filtre. Je n'ai pas de soucis à aider davantage, je te renvoie si besoin mon adresse mail perso !
Prosopee a écrit :Un onglet permettant de classer les élèves selon qu'ils ont obtenu la moyenne ou non dans chaque matière serait un plus
exemple avec un TCD
Salut, et... merci pour ton aide. Je suis certain que nous nous retrouverons sur ce forum car il y a tant à faire ! J'ai beaucoup d'idées mais pour le moment, n'étant pas "aux manettes", je ne peux les mener à bien. Si le Destin le veut je serai peut être proviseur adjoint dans un an. Je compte bien optimiser les tâches administratives des services. Et crois moi il y a fort à faire ! Ce premier outil est un début. Je le testerai grandeur nature en fin d'année scolaire et reviendrai vers toi pour envisager des possibilités d'évolution.
Par ailleurs il y a beaucoup à faire du côté du CSV. Beaucoup d'applications mal développées dans l'éducation (http://www.esen.education.fr/?id=79&a=75&cHash=75) ne communiquent pas entre elles et je pense de plus en plus à tester des passerelles via le CSV.
Je te laisse l'adresse de mon blog si tu es curieux du monde éducatif : https://lebip.wordpress.com/
et je te dis "à bientôt", et encore merci !
Sujet clôt (en partie en MP)...
merci à Steelson pour son expertise et sa patience !
Merci à tous !
A ton service.
Poste bien sur les forums les questions, il y a d'autres experts (plus) compétents aussi !
J'ai aussi une qualification "Black Belt" (ceinture noire) en "lean office" (traduction = simplifier les tâches administratives), même si ce n'est ni ma formation ni mon métier à la base. J'ai donc touché pas mal à l'interfaçage simple des logiciels RH non communicants entre eux...