diff --git a/app/but/bulletin_but.py b/app/but/bulletin_but.py index 0feb0564..6e6c9d40 100644 --- a/app/but/bulletin_but.py +++ b/app/but/bulletin_but.py @@ -9,12 +9,14 @@ import collections import datetime +import pandas as pd import numpy as np from flask import g, has_request_context, url_for from app import db +from app.comp.moy_mod import ModuleImplResults from app.comp.res_but import ResultatsSemestreBUT -from app.models import Evaluation, FormSemestre, Identite +from app.models import Evaluation, FormSemestre, Identite, ModuleImpl from app.models.groups import GroupDescr from app.models.ues import UniteEns from app.scodoc import sco_bulletins, sco_utils as scu @@ -249,59 +251,88 @@ class BulletinBUT: # "moy": fmt_note(moyennes_etuds.mean()), }, "evaluations": ( - [ - self.etud_eval_results(etud, e) - for e in modimpl.evaluations - if (e.visibulletin or version == "long") - and (e.id in modimpl_results.evaluations_etat) - and ( - modimpl_results.evaluations_etat[e.id].is_complete - or self.prefs["bul_show_all_evals"] - ) - ] + self.etud_list_modimpl_evaluations( + etud, modimpl, modimpl_results, version + ) if version != "short" else [] ), } return d - def etud_eval_results(self, etud, e: Evaluation) -> dict: + def etud_list_modimpl_evaluations( + self, + etud: Identite, + modimpl: ModuleImpl, + modimpl_results: ModuleImplResults, + version: str, + ) -> list[dict]: + """Liste des résultats aux évaluations de ce modimpl à montrer pour cet étudiant""" + evaluation: Evaluation + eval_results = [] + for evaluation in modimpl.evaluations: + if ( + (evaluation.visibulletin or version == "long") + and (evaluation.id in modimpl_results.evaluations_etat) + and ( + modimpl_results.evaluations_etat[evaluation.id].is_complete + or self.prefs["bul_show_all_evals"] + ) + ): + eval_notes = self.res.modimpls_results[modimpl.id].evals_notes[ + evaluation.id + ] + + if (evaluation.evaluation_type == Evaluation.EVALUATION_NORMALE) or ( + not np.isnan(eval_notes[etud.id]) + ): + eval_results.append( + self.etud_eval_results(etud, evaluation, eval_notes) + ) + return eval_results + + def etud_eval_results( + self, etud: Identite, evaluation: Evaluation, eval_notes: pd.DataFrame + ) -> dict: "dict resultats d'un étudiant à une évaluation" # eval_notes est une pd.Series avec toutes les notes des étudiants inscrits - eval_notes = self.res.modimpls_results[e.moduleimpl_id].evals_notes[e.id] notes_ok = eval_notes.where(eval_notes > scu.NOTES_ABSENCE).dropna() - modimpls_evals_poids = self.res.modimpls_evals_poids[e.moduleimpl_id] + modimpls_evals_poids = self.res.modimpls_evals_poids[evaluation.moduleimpl_id] try: etud_ues_ids = self.res.etud_ues_ids(etud.id) poids = { - ue.acronyme: modimpls_evals_poids[ue.id][e.id] + ue.acronyme: modimpls_evals_poids[ue.id][evaluation.id] for ue in self.res.ues if (ue.type != UE_SPORT) and (ue.id in etud_ues_ids) } except KeyError: poids = collections.defaultdict(lambda: 0.0) d = { - "id": e.id, + "id": evaluation.id, "coef": ( - fmt_note(e.coefficient) - if e.evaluation_type == Evaluation.EVALUATION_NORMALE + fmt_note(evaluation.coefficient) + if evaluation.evaluation_type == Evaluation.EVALUATION_NORMALE else None ), - "date_debut": e.date_debut.isoformat() if e.date_debut else None, - "date_fin": e.date_fin.isoformat() if e.date_fin else None, - "description": e.description, - "evaluation_type": e.evaluation_type, + "date_debut": ( + evaluation.date_debut.isoformat() if evaluation.date_debut else None + ), + "date_fin": ( + evaluation.date_fin.isoformat() if evaluation.date_fin else None + ), + "description": evaluation.description, + "evaluation_type": evaluation.evaluation_type, "note": ( { "value": fmt_note( eval_notes[etud.id], - note_max=e.note_max, + note_max=evaluation.note_max, ), - "min": fmt_note(notes_ok.min(), note_max=e.note_max), - "max": fmt_note(notes_ok.max(), note_max=e.note_max), - "moy": fmt_note(notes_ok.mean(), note_max=e.note_max), + "min": fmt_note(notes_ok.min(), note_max=evaluation.note_max), + "max": fmt_note(notes_ok.max(), note_max=evaluation.note_max), + "moy": fmt_note(notes_ok.mean(), note_max=evaluation.note_max), } - if not e.is_blocked() + if not evaluation.is_blocked() else {} ), "poids": poids, @@ -309,17 +340,25 @@ class BulletinBUT: url_for( "notes.evaluation_listenotes", scodoc_dept=g.scodoc_dept, - evaluation_id=e.id, + evaluation_id=evaluation.id, ) if has_request_context() else "na" ), # deprecated (supprimer avant #sco9.7) - "date": e.date_debut.isoformat() if e.date_debut else None, - "heure_debut": ( - e.date_debut.time().isoformat("minutes") if e.date_debut else None + "date": ( + evaluation.date_debut.isoformat() if evaluation.date_debut else None + ), + "heure_debut": ( + evaluation.date_debut.time().isoformat("minutes") + if evaluation.date_debut + else None + ), + "heure_fin": ( + evaluation.date_fin.time().isoformat("minutes") + if evaluation.date_fin + else None ), - "heure_fin": e.date_fin.time().isoformat("minutes") if e.date_fin else None, } return d diff --git a/app/scodoc/sco_bulletins.py b/app/scodoc/sco_bulletins.py index d87692ff..a08a8125 100644 --- a/app/scodoc/sco_bulletins.py +++ b/app/scodoc/sco_bulletins.py @@ -446,7 +446,8 @@ def _ue_mod_bulletin( ): """Infos sur les modules (et évaluations) dans une UE (ajoute les informations aux modimpls) - Result: liste de modules de l'UE avec les infos dans chacun (seulement ceux où l'étudiant est inscrit). + Result: liste de modules de l'UE avec les infos dans chacun (seulement + ceux où l'étudiant est inscrit). """ bul_show_mod_rangs = sco_preferences.get_preference( "bul_show_mod_rangs", formsemestre_id diff --git a/tools/anonymize_db.py b/tools/anonymize_db.py index b2583fae..110e87db 100755 --- a/tools/anonymize_db.py +++ b/tools/anonymize_db.py @@ -159,8 +159,9 @@ def anonymize_users(cursor): # Change les noms/prenoms/mail cursor.execute("""SELECT * FROM "user";""") users = cursor.fetchall() # fetch tout car modifie cette table ds la boucle + nb_users = len(users) used_user_names = {u["user_name"] for u in users} - for user in users: + for i, user in enumerate(users): user_name = user["user_name"] nom, prenom = random.choice(NOMS), random.choice(PRENOMS) new_name = (prenom[0] + nom).lower() @@ -168,7 +169,7 @@ def anonymize_users(cursor): while new_name in used_user_names: new_name += "x" used_user_names.add(new_name) - print(f"{user_name} > {new_name}") + print(f"{i}/{nb_users}\t{user_name} > {new_name}") cursor.execute( """UPDATE "user" SET nom=%(nom)s, prenom=%(prenom)s, email=%(email)s, user_name=%(new_name)s @@ -234,6 +235,7 @@ if __name__ == "__main__": cursor = cnx.cursor(cursor_factory=psycopg2.extras.DictCursor) anonymize_db(cursor) + rename_students(cursor) if PROCESS_USERS: anonymize_users(cursor) diff --git a/tools/fakeportal/nomsprenoms/noms.txt b/tools/fakeportal/nomsprenoms/noms.txt index 6b0221a9..a3730910 100644 --- a/tools/fakeportal/nomsprenoms/noms.txt +++ b/tools/fakeportal/nomsprenoms/noms.txt @@ -1,1046 +1,1047 @@ -Martin -Richard-Lenoir -Thomas -Petit -Robert -Richard -Dubois -Durand -Moreau -Laurent -Simon -Michel -Lefebvre -Leroy -David -Roux -Morel -M'Rahi -Fournier -Girard -Fontaine -Lambert -Lançon -Dupont -Bonnet -Rousseau -Vincent -Muller -Lefèvre -Faure -André -Mercier -Guérin -Garcia -Boyer -Blanc -Garnier -Chevalier -François -Legrand -Gauthier -Perrin -Robin -Clement -Morin -Henry -Nicolas -Roussel -Gautier -Masson -Duval -Marchand -Denis -Lemaire -Dumont -Marie -Noël -Meyer -Dufour -Meunier -Martinez -Blanchard -Brun -Riviere -Lucas -Giscard d'Estaing -Joly -Giraud -Brunet -Gaillard -Barbier -Gerard -Arnaud -Renard -Roche -Schmitt -Roy -Leroux -Caron -Colin -Vidal -Picard -Roger -Aubert -Lemoine -Renaud -Dumas -Olivier -Lacroix -Philippe -Pierre -Bourgeois -Lopez -Benoit -Leclerc -Rey -Leclercq -Sanchez -Lecomte -Rolland -Hubert -Dupuy -Carpentier -Guillot -Berger -Perez -Dupuis -Moulin -Deschamps -Vasseur -Huet -Boucher -Fernandez -Fleury -Royer -Paris -Jacquet -Klein -Poirier -Charles -Aubry -Guyot -Carre -Renault -Menard -Maillard -Charpentier -Marty -Bertin -Baron -Da Silva -Bailly -Herve -Schneider -Le Gall -Collet -Leger -Bouvier -Julien -Prevost -Millet -Le Roux -Daniel -Perrot -Cousin -Germain -Breton -Rodriguez -Langlois -Remy -Besson -Leveque -Le Goff -Pelletier -Leblanc -Barre -Lebrun -Grondin -Perrier -Marchal -Weber -Boulanger -Mallet -Hamon -Jacob -Monnier -Michaud -Guichard -Poulain -Etienne -Gillet -Hoarau -Tessier -Chevallier -Collin -Lemaitre -Benard -Chauvin -Bouchet -Marechal -Gay -Humbert -Gonzalez -Antoine -Perret -Reynaud -Cordier -Lejeune -Barthelemy -Delaunay -Carlier -Pichon -Pasquier -Lamy -Gilbert -Pereira -Maillot -Briand -Alexandre -Laporte -Ollivier -Buisson -Gros -Legros -Besnard -Georges -Guillou -Delattre -Coulon -Hebert -Albert -Launay -Lesage -Camus -Voisin -Pons -Didier -Ferreira -Blanchet -Vallee -Jacques -Martel -Bigot -Barbe -Coste -Charrier -Sauvage -Bousquet -Guillet -Leduc -Pascal -Maury -Raynaud -Verdier -Mahe -Lebon -Lelievre -Lebreton -Gregoire -Joubert -Masse -Pineau -Gomez -Morvan -Delmas -Gaudin -Tanguy -Colas -Paul -Raymond -Guillon -Régnier -Hardy -Imbert -Brunel -Devaux -Courtois -Ferrand -Blondel -Bodin -Allard -Lenoir -Laine -Delorme -Berthelot -Chauvet -Seguin -Bonneau -Rodrigues -Clerc -Riou -Thibault -Hoareau -Lacombe -Dos Santos -Godard -Vaillant -Lagarde -Couturier -Valentin -Bruneau -Turpin -Marin -Blin -Jourdan -Lombard -Fernandes -Rossi -Evrard -Mary -Guilbert -Texier -Baudry -Marion -Pages -Allain -Maurice -Dupre -Bourdon -Lefort -Legendre -Duhamel -Chartier -Gilles -Loiseau -Laroche -Lacoste -Goncalves -Toussaint -Hernandez -Rousset -Fischer -Normand -Maillet -Wagner -Guibert -Labbe -Bazin -Leconte -Rocher -Bonnin -Grenier -Pruvost -Jacquot -Peltier -Descamps -Merle -Auger -Valette -Pottier -Vallet -Parent -Potier -Delahaye -Joseph -Boutin -Martineau -Chauveau -Peron -Neveu -Lemonnier -Blot -Vial -Ruiz -Delage -Petitjean -Maurin -Faivre -Chretien -Levy -Guyon -Fouquet -Mace -Becker -Foucher -Lafon -Favre -Cros -Bouvet -Gallet -Salmon -Bernier -Serre -Dijoux -Le Corre -Begue -Charbonnier -Delannoy -Martins -Rossignol -Jourdain -Lecoq -Cornu -Thierry -Prigent -Weiss -Parmentier -Girault -Andrieu -Boulay -Samson -Castel -Guy -Maurel -Stephan -Laborde -Duclos -Gervais -Gras -Hamel -Chapuis -Poncet -Doucet -Chambon -Prevot -Letellier -Gosselin -Bonhomme -Sabatier -Besse -Leblond -Leleu -Berthier -Grandjean -Bellanger -Benoist -Favier -Grand -Martinet -Comte -Rault -Billard -Boulet -Poisson -Drouet -Forestier -Blondeau -Geoffroy -Pommier -Maire -Navarro -Ricard -Ledoux -Roques -Gueguen -Leonard -Huguet -Mounier -Ferre -Picot -Morand -Fortin -Combes -Brossard -Dubreuil -Hoffmann -Techer -Jeanne -Merlin -Rigaud -Bauer -Brault -Prat -Bocquet -Granger -Mouton -Laval -Le Roy -Marquet -Marc -Claude -Levasseur -Chatelain -Constant -Guillemin -Lallemand -Lavigne -Pujol -Lacour -Tellier -Jung -Rose -Provost -Da Costa -Basset -Salaun -Jamet -Lepage -Costa -Gibert -Grange -Bouquet -Walter -Keller -Jolly -Lelong -Leon -Dujardin -Papin -Bataille -Tournier -Guillard -Cartier -Cadet -Le Guen -Flament -Champion -Dumoulin -Lopes -Schmidt -Husson -Nguyen -Le Bihan -Bourdin -Millot -Gicquel -Marques -Ferry -Lasserre -Barret -Kieffer -Mas -Bureau -Mangin -Leray -Mignot -Bouchard -Savary -Foulon -Soulier -Gimenez -Barreau -Fort -Guillemot -Blaise -Felix -Cohen -Thiebaut -Binet -Jolivet -Lafont -Armand -Lefrancois -Saunier -Jullien -Montagne -Berard -Lauret -Payen -Vacher -Sellier -Jouan -Dupin -Andrieux -Lecocq -Berthet -Lagrange -Lebeau -Cornet -Zimmermann -Schwartz -Esnault -Godefroy -Ducrocq -Poulet -Lang -Gomes -Vivier -Lemarchand -Terrier -Lalanne -Vigneron -Lavergne -Combe -Granier -Bon -Dore -Le Borgne -Thiery -Sarrazin -Bayle -Ribeiro -Aubin -Thery -Prieur -Jacquemin -Lamotte -Arnould -Vernet -Corre -Le Floch -Bordes -Jouve -Bastien -Faucher -Cochet -Chevrier -Duchene -Quere -Couderc -Magnier -Prost -Bois -Villard -Lefranc -Caillaud -Monier -Beaumont -Tardy -Grosjean -Le Gal -Bonnard -Guignard -Moreno -Rouxel -Le Berre -Lesueur -Lefeuvre -Tissier -Crepin -Sergent -Wolff -Lecuyer -Thebault -Alves -Bonin -Tavernier -Roth -Le Bris -Pasquet -Cardon -Josse -Jarry -Guegan -Duret -Labat -Bonnefoy -Goujon Abadie -Grimaud -Villain -Ragot -Chollet -Salles -Pollet -Oger -Baudin -Baudouin -Forest -Beaufils -Boutet -Godin -Deshayes -Diaz -Derrien -Avril -Maitre -Baudet -Rigal -Brochard -Hue -Monnet -Boudet -Bouche -Lassalle -Pierron -Morice -Tissot -Godet -Lepretre -Delaporte -Beck -Bourguignon -Arnoux -Vannier -Boivin -Guitton -Rio -Sicard -Pain -Belin -Michon -Carrere -Magne -Chabert -Bailleul -Porte -Piquet -Berton -Le Meur -Parisot -Boisson -Foucault -Le Bras -George -Pelissier -Leclere -Salomon -Pepin -Thuillier -Galland -Rambaud -Proust -Jacquin -Monteil -Torres -Gonthier -Rivet -Roland -Guilbaud -Borel -Raynal -Clain -Guiraud -Simonet -Louvet -Marais -Froment -Vigier -Pouget -Baud -Mauger -Barriere -Moine -Lapeyre -Thevenin -Pinel -Saulnier -Astier -Senechal -Courtin -Renou -Coudert -Carriere -Gabriel -Blandin -Tisserand -Gillot -Munier -Bourgoin -Perron -Paquet -Puech -Thevenet -Romain -Munoz -Pellerin -Jan -Mayer -Lebas -Charlot -Geffroy -Garreau -Bontemps -Gaubert -Varin -Duchemin -Rondeau -Caillet -Jaouen -Tison -Verger -Billon -Bruno -Dubourg -Duchesne -Alix -Bisson -Chopin -Hamelin -Rougier -Fayolle -Charlet -Pichard -Villeneuve -Duprat -Marteau -Dejean -Briere -Chabot -Nicolle -Chateau -Diot -Ferrier -Boisseau -Burel -Verrier -Pinto -Babin -Auvray -Berthe -Landais -Simonin -De Oliveira -Dubos -Lapierre -Ferrari -Baudoin -Veron -Chiron -Capelle -Costes -Gil -Fourcade -Charron -Viaud -Teyssier -Baptiste -Michelet -Dupouy -Page -Quentin -Larcher -Portier -Genin -Clavel -Redon -Manceau -Devos -Le Breton -Brousse -Janvier -Prudhomme -Bresson -Bardet -Constantin -Metayer -Christophe -Chemin -Bruyere -Gross -Bour -Bossard -Cheron -Gobert -Paillard -Soulie -Vigouroux -Robinet -Herault -Larue -Mille -Caille -Bastide -Calvet -Schaeffer -Fuchs -Bouyer -Jeannin -Mathis -Vergne -Cariou -Auffret -Delarue -Cormier -Soulard -De Sousa -Darras -Lhomme -Choquet -Gourdon -Tixier -Drouin -Bosc -Guilloux -Latour -Simonnet -Loisel -Fritsch -Beauvais -Teixeira -Coutant -Delpech -Ollier -Besnier -Delhaye -Koch -Menager -Bardin -Chapelle -Merlet -Barthe -Renaudin -Faye -Dubus -Honore -Crouzet -Gosset -Gasnier -Miquel -Lacaze -Delcroix -Loison -Lamarque -Jardin -Carton -Malet -Laplace -Lamour -Gaultier -Dias -Goupil -Serres -Cellier -Peter -Gallois -Durieux -Jegou -Pichot -Leloup -Billet -Braun -Fauvel -Rousselle -Claudel -Bouillon -Viard -Barraud -Langlais -Reboul -Lecerf -Fevrier -Lepine -Janin -Poirot -Guyard -Rollet -Legay -Olive -Boulard -Laffont -Cottin -Chardon -Lavaud -Magnin -Mahieu -Viala -Philippon -Delcourt -Langlet -Lemercier -Piot -Hemery -Genet -Beau -Bidault -Collignon -Devillers -Villette -Rouault -Raimbault -Moret -Rollin -Dauphin -Desbois -Lafond -Cuny -Bellet -Brisset -Conte -Cazenave -Marcel -Casanova -Delamare -Garcin -Toutain -Lahaye -Michaux -Baillet -Collard -Remond -Santiago -Ouvrard -Landry -Varlet -James -Bonnot -Mazet -Capron -Frey -Demay -Genty -Auge -Prunier -Bachelet -Damour -Soler -Lalande -Gaucher -Guery -Hilaire -Huard -Pernot -Ramos -Le Brun -Bellec -Charton -Duriez -Dubost -Claverie -Demange -Murat -Trouve -Rodier -Nedelec -Lehmann -Deville -Amiot -Lenfant -Pinson -Achard -Ferrer Abraham -Renaux -Le Moal -Conan -Lallement -Sorin -Peyre -Haas -Lienard -Traore -Georget -Esteve -Viel -Thibaut -Billaud -Leriche -Pierrot -Salle -Bach -Raffin -Cosson -Even -Fremont -Forget -Barrier -Barbet -Cuvelier +Achard +Albert +Alexandre +Alix +Allain +Allard +Alves +Amiot +André +Andrieu +Andrieux +Antoine +Armand Arnal -Diallo -Lafitte -Bonnaud -Bouchez +Arnaud +Arnould +Arnoux +Astier +Aubert +Aubin +Aubry +Auffret +Auge +Auger +Auvray +Avril +Babin +Bach +Bachelet +Baillet +Bailleul +Bailly +Baptiste +Barbe +Barbet +Barbier +Bardet +Bardin +Baron +Barraud +Barre +Barreau +Barret +Barrier +Barriere +Barthe +Barthelemy +Basset +Bastide +Bastien +Bataille +Baud +Baudet +Baudin +Baudoin +Baudouin +Baudry +Bauer +Bayle +Bazin +Beau +Beaufils +Beaumont +Beauvais +Beck +Becker +Begue +Belin +Bellanger +Bellec +Bellet +Benard +Benoist +Benoit +Berard Beraud -Pierson -Bourbon -Fraisse -Bret -Thibaud -Bouton -Hugon -Paulin -Porcher -Mathe -Reymond -Chaillou -Madec +Berger +Bernier +Berthe +Berthelot +Berthet +Berthier +Bertin +Berton +Besse +Besson +Beethoven +Bidault +Bigot +Billard +Billaud +Billet +Billon +Binet +Bisson +Blaise +Blanc +Blanchard +Blanchet +Blandin +Blin +Blondeau +Blondel +Blot +Bocquet +Bodin +Bois +Boisseau +Boisson +Bolaño +Bon +Bonhomme +Bonin +Bonnard +Bonnaud +Bonneau +Bonnefoy +Bonnet +Bonnin +Bonnot +Bontemps +Bordes +Borel +Bosc +Bossard +Bouchard +Bouche +Boucher +Bouchet +Bouchez +Boudet Bouet +Bouillon +Boulanger +Boulard +Boulay +Boulet +Bouquet +Bour +Bourbon +Bourdin +Bourdon +Bourgeois +Bourgoin +Bourguignon +Bousquet +Boutet +Boutin +Bouton +Bouvet +Bouvier +Bouyer +Boyer +Brault +Braun +Bresson +Bret +Breton +Briand +Briere +Brisset +Brochard +Brossard +Brousse +Brun +Bruneau +Brunel +Brunet +Bruno +Bruyere +Buisson +Bureau +Burel Busson -Lenormand +Cadet +Caillaud +Caille +Caillet +Calvet +Camus +Capelle +Capron +Cardon +Cariou +Carlier +Caron +Carpentier +Carre +Carrere +Carriere +Cartier +Carton +Casanova +Castel +Cazenave +Cellier +Chabert +Chabot +Chaillou +Chambon +Champion +Chapelle +Chapuis +Charbonnier +Chardon +Charles +Charlet +Charlot +Charpentier +Charrier +Charron +Chartier +Charton +Chateau +Chatelain +Chauveau +Chauvet +Chauvin +Chemin +Cheron +Chevalier +Chevallier +Chevrier +Chiron +Chollet +Chopin +Choquet +Chretien +Christophe +Clain +Claude +Claudel +Clavel +Claverie +Clement +Clerc +Cochet +Cohen +Colas +Colin +Collard +Collet +Collignon +Collin +Combe +Combes +Comte +Conan +Conrad +Constant +Constantin +Conte +Cordier +Cormier +Cornet +Cornu +Corre +Cosson +Costa +Coste +Costes +Cottin +Couderc +Coudert +Coulon +Courtin +Courtois +Cousin +Coutant +Couturier +Crepin +Cros +Crouzet +Cuny +Cuvelier +Da Costa +Da Silva +Damour +Daniel +Darras +Dauphin +David +De Oliveira +De Sousa +Dejean +Delage +Delahaye +Delamare +Delannoy +Delaporte +Delarue +Delattre +Delaunay +Delcourt +Delcroix +Delhaye +Delmas +Delorme +Delpech +Demange +Demay +Denis +Derrien +Desbois +Descamps +Deschamps +Deshayes +Devaux +Deville +Devillers +Devos +Diallo +Dias +Diaz +Didier +Dijoux +Diot +Dore +Dos Santos +Doucet +Drouet +Drouin +Dubois +Dubos +Dubost +Dubourg +Dubreuil +Dubus Duc -Naudin +Duchemin +Duchene +Duchesne +Duclos +Ducrocq +Dufour +Duhamel +Dujardin +Dumas +Dumont +Dumoulin +Dupin +Dupont +Dupouy +Duprat +Dupre +Dupuis +Dupuy +Durand +Duret +Durieux +Duriez +Duval +Esnault +Esteve +Etienne +Even +Evrard +Faivre +Faucher +Faure +Fauvel +Favier +Favre +Faye +Fayolle +Felix +Fernandes +Fernandez +Ferrand +Ferrari +Ferre +Ferreira +Ferrer +Ferrier +Ferry +Fevrier +Fischer +Flament +Fleury +Fontaine +Forest +Forestier +Forget +Fort +Fortin +Foucault +Foucher +Foulon +Fouquet +Fourcade +Fournier +Fraisse +François +Fremont +Frey +Fritsch Froger -Vernier +Froment +Fuchs +Gabriel +Gaillard +Galland +Gallet +Gallois +Garcia +Garcin +Garnier +Garreau +Gasnier +Gaubert +Gaucher +Gaudin +Gaultier +Gauthier +Gautier +Gay +Geffroy +Genet +Genin +Genty +Geoffroy +George +Georges +Georget +Gerard +Germain +Gervais +Gibert +Gicquel +Gil +Gilbert +Gilles +Gillet +Gillot +Gimenez +Girard +Giraud +Girault +Giscard d'Estaing +Gobert +Godard +Godefroy +Godet +Godin +Gomes +Gomez +Goncalves +Gonthier +Gonzalez +Gosselin +Gosset +Goujon +Goupil +Gourdon +Grand +Grandjean +Grange +Granger +Granier +Gras +Gregoire +Grenier +Grimaud +Grondin +Gros +Grosjean +Gross +Guegan +Gueguen +Guérin +Guery +Guibert +Guichard +Guignard +Guilbaud +Guilbert +Guillard +Guillemin +Guillemot +Guillet +Guillon +Guillot +Guillou +Guilloux +Guiraud +Guitton +Guy +Guyard +Guyon +Guyot +Haas +Hamel +Hamelin +Hamon +Hardy +Hebert +Hemery +Henry +Herault +Hernandez +Herve +Hilaire +Hoarau +Hoareau +Hoffmann +Honore +Huard +Hubert +Hue +Huet +Hugon +Huguet +Humbert +Husson +Imbert +Jacob +Jacquemin +Jacques +Jacquet +Jacquin +Jacquot +James +Jamet +Jan +Janin +Janvier +Jaouen +Jardin +Jarry +Jeanne +Jeannin Jeannot +Jegou +Jolivet +Jolly +Joly +Joseph +Josse +Jouan +Joubert +Jourdain +Jourdan +Jouve +Julien +Jullien +Jung +Keller +Kieffer +Klein +Koch +Labat +Labbe +Laborde +Lacaze +Lacombe +Lacoste +Lacour +Lacroix +Laffont +Lafitte +Lafon +Lafond +Lafont +Lagarde +Lagrange +Lahaye +Laine +Lalande +Lalanne +Lallemand +Lallement +Lamarque +Lambert +Lamotte +Lamour +Lamy +Lançon +Landais +Landry +Lang +Langlais +Langlet +Langlois +Lapeyre +Lapierre +Laplace +Laporte +Larcher +Laroche +Larue +Lassalle +Lasserre +Latour +Launay +Laurent +Lauret +Laval +Lavaud +Lavergne +Lavigne +Le Berre +Le Bihan +Le Borgne +Le Bras +Le Breton +Le Bris +Le Brun +Le Corre +Le Floch +Le Gal +Le Gall +Le Goff +Le Guen +Le Meur +Le Moal +Le Roux +Le Roy +Lebas +Lebeau +Leblanc +Leblond +Lebon +Lebreton +Lebrun +Lecerf +Leclerc +Leclercq +Leclere +Lecocq +Lecomte +Leconte +Lecoq +Lecuyer +Ledoux +Leduc +Lefebvre +Lefeuvre +Lefèvre +Lefort +Lefranc +Lefrancois +Legay +Legendre +Leger +Legrand +Legros +Lehmann +Lejeune +Leleu +Lelievre +Lelong +Leloup +Lemaire +Lemaitre +Lemarchand +Lemercier +Lemoine +Lemonnier +Lenfant +Lenoir +Lenormand +Leon +Leonard +Lepage +Lepine +Lepretre +Leray +Leriche +Leroux +Leroy +Lesage +Lesueur +Letellier +Levasseur +Leveque +Levy +Lhomme +Lienard +Loiseau +Loisel +Loison +Lombard +Lopes +Lopez +Louvet +Lucas +M'Rahi +Mace +Madec +Magne +Magnier +Magnin +Mahe +Mahieu +Maillard +Maillet +Maillot +Maire +Maitre +Malet +Mallet +Manceau +Mangin +Marais +Marc +Marcel +Marchal +Marchand +Marechal +Marie +Marin +Marion +Marques +Marquet +Marteau +Martel +Martin +Martineau +Martinet +Martinez +Martins +Marty +Mary +Mas +Masse +Masson +Mathe +Mathis +Mauger +Maurel +Maurice +Maurin +Maury +Mayer +Mazet +Menager +Menard +Mercier +Merle +Merlet +Merlin +Metayer +Meunier +Meyer +Michaud +Michaux +Michel +Michelet +Michon +Mignot +Mille +Millet +Millot +Miquel +Moine +Monier +Monnet +Monnier +Montagne +Monteil +Morand +Moreau +Morel +Moreno +Moret +Morice +Morin +Morvan +Moulin +Mounier +Mouton +Mozart +Muller +Munier +Munoz +Murat +Naudin +Navarro +Nedelec +Neveu +Nguyen +Nicolas +Nicolle +Noël +Normand +Oger +Olive +Olivier +Ollier +Ollivier +Ouvrard +Page +Pages +Paillard +Pain +Papin +Paquet +Parent +Paris +Parisot +Parmentier +Pascal +Pasquet +Pasquier +Paul +Paulin +Payen +Pelissier +Pellerin +Pelletier +Peltier +Pepin +Pereira +Perez +Pernot +Peron +Perret +Perrier +Perrin +Perron +Perrot +Peter +Petit +Petitjean +Peyre +Philippe +Philippon +Picard +Pichard +Pichon +Pichot +Picot +Pierre +Pierron +Pierrot +Pierson +Pineau +Pinel +Pinson +Pinto +Piot +Piquet +Poirier +Poirot +Poisson +Pollet +Pommier +Poncet +Pons +Porcher +Porte +Portier +Potier +Pottier +Pouget +Poulain +Poulet +Prat +Prevost +Prevot +Prieur +Prigent +Prost +Proust +Provost +Prudhomme +Prunier +Pruvost +Puech +Pujol +Quentin +Quere +Raffin +Ragot +Raimbault +Rambaud +Ramos +Rault +Raymond +Raynal +Raynaud +Reboul +Redon +Régnier +Remond +Remy +Renard +Renaud +Renaudin +Renault +Renaux +Renou +Rey +Reymond +Reynaud +Ribeiro +Ricard +Richard +Richard-Lenoir +Rigal +Rigaud +Rio +Riou +Rivet +Riviere +Robert +Robin +Robinet +Roche +Rocher +Rodier +Rodrigues +Rodriguez +Roger +Roland +Rolland +Rollet +Rollin +Romain +Rondeau +Roques +Rose +Rossi +Rossignol +Roth +Rouault +Rougier +Rousseau +Roussel +Rousselle +Rousset +Roux +Rouxel +Roy +Royer +Ruiz +Sabatier +Salaun +Salle +Salles +Salmon +Salomon +Samson +Sanchez +Santiago +Sarrazin +Saulnier +Saunier +Sauvage +Savary +Schaeffer +Schmidt +Schmitt +Schneider +Schwartz +Seguin +Sellier +Senechal +Sergent +Serre +Serres +Sicard +Simon +Simonet +Simonin +Simonnet +Soler +Sorin +Soulard +Soulie +Soulier +Stephan +Tanguy +Tardy +Tavernier +Techer +Teixeira +Tellier +Terrier +Tessier +Texier +Teyssier +Thebault +Thery +Thevenet +Thevenin +Thibaud +Thibault +Thibaut +Thiebaut +Thierry +Thiery +Thomas +Thuillier +Tison +Tisserand +Tissier +Tissot +Tixier +Torres +Tournier +Toussaint +Toutain +Traore +Trouve +Turpin +Vacher +Vaillant +Valentin +Valette +Vallee +Vallet +Vannier +Varin +Varlet +Vasseur +Verdier +Verger +Vergne +Vernet +Vernier +Veron +Verrier +Vial +Viala +Viard +Viaud +Vidal +Viel +Vigier +Vigneron +Vigouroux +Villain +Villard +Villeneuve +Villette +Vincent +Vivier +Voisin +Wagner +Walter +Weber +Weiss +Wolff +Zimmermann