\documentclass{article}
\usepackage{tikz}

\begin{document}
Pavage hexagonal g\'en\'er\'e radialement

\bigskip
	\begin{tikzpicture}[scale=0.4]
		\def\n{6}% \n is the number of layers around the initial hexagon. Warning! Bug if n<2
		\def\a{2.598076} % 1.5*sqrt(3)
		\def\b{1.732051} % sqrt(3)
		\def\c{0.866025} % sqrt(3)/2
		\foreach \r in {0,...,5}{
			\begin{scope}[rotate={\r*60}]
				\draw[blue,thick]
					(30:1cm)--++(-90:1cm)
					\foreach \i in {1,...,\n}{
						-- ++ (-30:1cm)
						-- ++ (+30:1cm)
						}
					\foreach \i in {1,...,\n}{
						--++(90:1cm)
						--++(150:1cm)
						}
					; % end of 'draw'
					\pgfmathparse{\n-1} \let\nn\pgfmathresult
					\pgfmathparse{\n-2} \let\nnn\pgfmathresult
					\foreach \i in {\nnn,...,0}{
						\foreach \j in {0,...,\i}{
		 					\pgfmathparse{\a+\b*\j+\c*(\nnn-\i)} \let\x\pgfmathresult 
		 					\pgfmathparse{1.5*(\nnn-\i)+0.5} \let\y\pgfmathresult
		 					\begin{scope}[xshift={\x cm},yshift={\y cm}]
								\draw[blue,thick]  (0,0)--(-90:1cm);
								\draw[blue,thick]  (0,0)--(30:1cm);
								\draw[blue,thick]  (0,0)--(150:1cm);
							\end{scope}
							}
						}
			\end{scope}
			}
	\end{tikzpicture}
\end{document}

