
\documentclass[tikz,border=20pt]{standalone}
\usepackage{fontawesome5}
\usepackage{kpfonts}
\usetikzlibrary{matrix,ext.paths.ortho,arrows.meta,shapes}
\tikzset{
treenode/.style = {shape=rectangle, rounded corners,
draw, anchor=center,
text width=7.5em, align=center,
top color=white, bottom color=red!40,
inner sep=1ex},
decision/.style = {treenode=#1, diamond, bottom color=blue!20,minimum size=4.5cm,font=\small},
root/.style = {treenode=#1, bottom color=green!40},
env/.style = {treenode=#1, bottom color=red!30,font=\ttfamily},
finish/.style = {root=#1, bottom color=green!40},
dummy/.style = {circle,draw},
treenode/.default=.,
}
\newcommand{\oui}{edge node [above] {oui}}
\newcommand{\non}{edge node [left] {non}}
\begin{document}
\begin{tikzpicture}[-stealth,rounded corners=8pt,very thick]
\matrix [ampersand replacement=\&,nodes in empty cells] (chart)
[
matrix of nodes,
column sep = 2.5em,
row sep = 3.5ex,
]
{
|[root]| Formule hors-texte
\& |[decision=2]| équation unique ? \& |[decision=3]| ligne unique ? \& \& |[env=4]| equation \\
\& \& |[decision=5]| lignes alignées ? \& |[decision=6]| distinction de cas ? \& |[env=7]| cases \\
\& \& \& \& |[env=8]| split \& \& \\
\& \& |[env=9]| multline \& \& \& \& |[decision=17]| numérotée ? \\
\& |[decision=10]| équations alignées ? \& |[decision=11]| esp. autom. entre paires de col. ? \& |[decision=12]| espaces max. ? \& |[env=13]| flalign \& \& |[treenode=19]| Ajout de \texttt{*} \& |[finish=18]| Fini \\
\& |[env=16]| gather \& |[env=15]| alignat \& |[env=14]| align \\
\& \& \& \& \& \& \& \\
};
\draw (chart-1-1) edge (chart-1-2) ;
\draw (chart-1-2) \oui (chart-1-3) ;
\draw (chart-1-3) \non (chart-2-3) ;
\draw (chart-1-3) \oui (chart-1-5) ;
\draw (chart-2-3) \oui (chart-2-4) ;
\draw (chart-2-4) \oui (chart-2-5) ;
\draw[red] (chart-2-5) edge node [above left] {\faExclamationTriangle{} à l'intérieur de \texttt{equation}} (chart-1-5) ;
\draw[red] (chart-2-5) edge node [above right] {(ou autre, sauf \texttt{multline})} (chart-1-5) ;
\draw[red,-] (chart-3-5.east) -| ([xshift=2.5ex]chart-2-5.east) |-
([yshift=5ex]chart-2-5.north) -- (chart-1-5) ;
\draw (chart-2-4) |- node [left] {non} (chart-3-5) ;
\draw (chart-2-3) \non (chart-4-3) ;
\draw (chart-1-2) \non (chart-5-2) ;
\draw (chart-5-2) \oui (chart-5-3) ;
\draw (chart-5-3) \oui (chart-5-4) ;
\draw (chart-5-4) \oui (chart-5-5) ;
\draw (chart-5-4) \non (chart-6-4) ;
\draw (chart-5-3) \non (chart-6-3) ;
\draw (chart-5-2) \non (chart-6-2) ;
\draw[blue,-] (chart-1-5) -|- (chart-4-7) ;
\draw[blue,-] (chart-4-3) -- (chart-4-7) ;
\draw[blue,-] (chart-5-5) -|- (chart-4-7) ;
\draw[blue,-] (chart-6-2.south) |- (chart-7-4.center) ;
\draw[blue,-] (chart-6-3.south) |- (chart-7-5.center) ;
\draw[blue] (chart-6-4.south) |- (chart-7-6.center) -- (chart-4-6.center) -- (chart-4-7) ;
\draw (chart-4-7) -| (chart-5-8) node[near start,above] {oui} ;
\draw (chart-4-7) \non (chart-5-7) ;
\draw (chart-5-7) edge (chart-5-8) ;
\end{tikzpicture}
\end{document}