Source code for src.reussite_licence


# Imports
from .shared_import import *

# Nombre d’étudiant obtenant la licence en 3 ans / 4 ans / pas réussi
[docs] @app.route('/api/reussite_licence', methods=['GET']) def get_reussite_licence() -> dict: """ Récupérer le nombre d'étudiants obtenant la licence en 3 ans / 4 ans / pas réussi Returns: dict: le nombre d'étudiants obtenant la licence en 3 ans / 4 ans / pas réussi Examples: >>> requests.get(f"http://localhost:5000/api/reussite_licence").json() {'en 3 ans': 41922, 'en 4 ans': 18624, 'pas_reussi': 87295} """ data = fetch_data("select=reussite_3_ans,reussite_4_ans,effectif_neobacheliers_reussite") result = { 'en 3 ans': int(sum(filter(None,[row['reussite_3_ans'] for row in data]))), 'en 4 ans': int(sum(filter(None,[row['reussite_4_ans'] for row in data]))), 'pas_reussi': sum(filter(None,[row['effectif_neobacheliers_reussite'] for row in data])) } result['pas_reussi'] = int(result['pas_reussi'] - (result['en 3 ans'] + result['en 4 ans'])) return jsonify(result)
# Calculer le taux de réussite en licence par grandes disciplines
[docs] @app.route('/api/taux_reussite_licence/gd_discipline', methods=['GET']) def get_taux_reussite_par_gd_discipline() -> dict: """ Calculer le taux de réussite en licence par grandes disciplines Returns: dict: le taux de réussite en licence par grandes disciplines Examples: >>> requests.get(f"http://localhost:5000/api/taux_reussite_licence/gd_discipline").json() {'Droit, gestion, économie, AES': 40.88, 'Lettres, langues et sciences humaines': 42.46, 'STAPS': 40.1, 'Santé': 75.76, "Sciences et sciences de l'ingénieur": 37.38} """ data = fetch_data("select=gd_discipline_lib,SUM(effectif_neobacheliers_reussite),SUM(reussite_3_4_ans)&group_by=gd_discipline_lib") result = {} for row in data: total = row['SUM(effectif_neobacheliers_reussite)'] reussis = row['SUM(reussite_3_4_ans)'] taux = (reussis / total) * 100 if total else 0 result[row['gd_discipline_lib']] = round(taux,2) return jsonify(result)
# Calculer le taux de réussite en licence par discipline
[docs] @app.route('/api/taux_reussite_licence/discipline', methods=['GET']) def get_taux_reussite_par_discipline() -> dict: """ Calculer le taux de réussite en licence par discipline Returns: dict: le taux de réussite en licence par discipline Examples: >>> requests.get(f"http://localhost:5000/api/taux_reussite_licence/discipline").json() {'Administration économique et sociale': 27.17, 'Droit, sciences politiques': 44.53, 'Langues': 39.86, 'Lettres, sciences du langage, arts': 43.95, 'Médecine': 75.76, 'Pluridisciplinaire lettres, langues, sciences humaines': 50.7, 'Pluridisciplinaire sciences': 38.2, 'STAPS': 40.1, "Sciences de la vie, de la terre et de l'univers": 40.12, 'Sciences fondamentales et applications': 34.52, 'Sciences humaines et sociales': 43.6, 'Sciences économiques, gestion': 39.77} """ data = fetch_data("select=discipline_lib,SUM(effectif_neobacheliers_reussite),SUM(reussite_3_4_ans)&group_by=discipline_lib") result = {} for row in data: total = row['SUM(effectif_neobacheliers_reussite)'] reussis = row['SUM(reussite_3_4_ans)'] taux = (reussis / total) * 100 if total else 0 result[row['discipline_lib']] = round(taux,2) return jsonify(result)
# Calculer le taux de réussite en licence par mention au bac
[docs] @app.route('/api/taux_reussite_licence/mention_bac', methods=['GET']) def get_taux_reussite_par_mention_bac() -> dict: """ Calculer le taux de réussite en licence par mention au bac Returns: dict: le taux de réussite en licence par mention au bac Examples: >>> requests.get(f"http://localhost:5000/api/taux_reussite_licence/mention_bac").json() {'Assez bien': 54.82, 'Bien': 69.76, 'Inconnue': 26.7, 'Passable deuxième groupe': 18.6, 'Passable premier groupe': 32.62, 'Très bien': 76.82} """ data = fetch_data("select=mention_bac_lib,SUM(effectif_neobacheliers_reussite),SUM(reussite_3_4_ans)&group_by=mention_bac_lib") result = {} for row in data: total = row['SUM(effectif_neobacheliers_reussite)'] reussis = row['SUM(reussite_3_4_ans)'] taux = (reussis / total) * 100 if total else 0 result[row['mention_bac_lib']] = round(taux,2) return jsonify(result)
# Calculer le taux de réussite en licence par type de bac
[docs] @app.route('/api/taux_reussite_licence/type_bac', methods=['GET']) def get_taux_reussite_par_type_bac() -> dict: """ Calculer le taux de réussite en licence par type de bac Returns: dict: le taux de réussite en licence par type de bac Examples: >>> requests.get(f"http://localhost:5000/api/taux_reussite_licence/type_bac").json() {'BAC ES': 52.1, 'BAC L': 46.67, 'BAC S': 52.12, 'BAC STMG': 14.07, 'BAC professionnel': 4.96, 'BAC technologique hors STMG': 18.15} """ data = fetch_data("select=serie_bac_lib,SUM(effectif_neobacheliers_reussite),SUM(reussite_3_4_ans)&group_by=serie_bac_lib") result = {} for row in data: total = row['SUM(effectif_neobacheliers_reussite)'] reussis = row['SUM(reussite_3_4_ans)'] taux = (reussis / total) * 100 if total else 0 result[row['serie_bac_lib']] = round(taux,2) return jsonify(result)