\documentclass[10pt,onecolumn]{article}
\usepackage[a4paper, landscape, left=0.5cm,%
top=0.5cm, bottom=0.5cm, includehead, includefoot, headsep=0cm,%
right=0.5cm,%
pdftex%
]{geometry}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}

\usepackage{graphicx}
\usepackage{calc}
\usepackage{datatool}
\usepackage{embedfile} %% Pour inclure des fichiers dans le pdf (ici le source)

\usepackage[crop=off]{auto-pst-pdf}

\pagestyle{empty}
\thispagestyle{empty}

\embedfile{\jobname.tex}

%%----------------------------------------
%% Commandes particulières à ce document
\newcounter{Nbphotos}
\setcounter{Nbphotos}{0}
\newcounter{NbPhotosParLigne}
\newlength\LargeurPhoto
\newboolean{ReduitEncore}
\setboolean{ReduitEncore}{true}
\newbox{\BoxTmp}
\newlength\TextTaille
\setlength{\TextTaille}{10pt} % <-- taille par défaut pour les noms
\newlength\TextInterL
\setlength{\TextInterL}{3pt} % <-- taille par défaut pour les interlignes
\newlength\LongueurNom

\newcommand{\AfficheTxt}[2][\LargeurPhoto]{%
\whiledo{\boolean{ReduitEncore}}{%
	\sbox{\BoxTmp}{%
		\fontsize{\TextTaille}{\TextInterL}\selectfont
		#2%
	}%sbx
	\settowidth{\LongueurNom}{\usebox{\BoxTmp}}%
	\ifdim \LongueurNom < #1 \relax
		\setboolean{ReduitEncore}{false}%
	\else \setlength{\TextTaille}{\TextTaille-1pt}%
		\ifdim \TextTaille < 4pt \relax \setboolean{ReduitEncore}{false}\fi
	\fi
	}%whldo
\usebox{\BoxTmp}%
\setboolean{ReduitEncore}{true}%
\setlength{\TextTaille}{10pt}%
\setlength{\TextInterL}{3pt}%
}%AfficheTxt


%% valeurs à choisir --------------------
\setcounter{NbPhotosParLigne}{10}

%%-----------------------------------------
%% DEBUT DU DOC
%%-----------------------------------------
\begin{document}
\setlength{\LargeurPhoto}{0.85\linewidth/\theNbPhotosParLigne}% 0.85 empirique...
\setlength\parindent{0pt}%
\setlength{\parskip}{0.7ex plus 0.2ex minus 0.1ex}
%
\DTLloaddb{data}{2F_liste.csv}
\DTLforeach*{data}{%
 \nom=nom,
 \prenom=prenom%
}{%
\begin{minipage}[t]{\LargeurPhoto}
\begin{center}
	\includegraphics[width=\LargeurPhoto]{vignettes/eleve\DTLcurrentindex .jpg}%option "draft" pour les essais
		
	\AfficheTxt{\textbf{\nom}}
	
	\AfficheTxt{\prenom}
\end{center}
\end{minipage}
\addtocounter{Nbphotos}{1}%
\ifthenelse{\theNbphotos=\theNbPhotosParLigne}{\setcounter{Nbphotos}{0}\par}{\hfill}%
}%dtlfrch
\fbox{%
\begin{minipage}{\LargeurPhoto}
\begin{center}
	\begin{bfseries} 
	classe 2F \par année 201x-y  \par PP: F. Leon
	\end{bfseries}
\end{center}%
\end{minipage}
}


\end{document}

%%%%%%%%%%%
1) conversion des photos (Linux) :
for i in *.JPG; do convert -resize 800x640 "$i" "$i"; done
2) renommer les photos à l'aide KRenamer (Linux) en "eleve1.jpg", "eleve2.jpg", ... dans un dossier "vignettes"
3) les noms des élèves sont récupérés via l'ENT et sauvés dans un fichier .csv
qui ne contient que deux informations par ligne, séparées par des virgules :
le nom et le prénom. La première ligne du fichier est "nom, prenom".
Attention aux majuscules accentuées !
4) compilation en pdfLaTeX
5) réduire le poids du .pdf : gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=trombi_leger.pdf trombi_lourd.pdf

