2 Answers
2

Devant means "in front of", and so relates to location only, whereas en face de means "across from" (meaning there's a third thing to cross to get from one location to the other) or "facing" (meaning the two things being described have a literal or metaphorical "face" that look at each other).

Je suis devant vous dans la file [I'm in front of you in the line — can't use en face de here since people don't face each other in a line]

Je travaille dans l'immeuble en face de la mairie [I work in the building that faces city hall, meaning the two buildings' "faces" are "looking at each other" across a street, square, river, or something like that]

Je vous attends dans le square qui est devant la mairie. [I'm waiting for you in the square in front of city hall; can only use en face de here if there is something that one needs to cross in order to get from city hall to the square.]