To clarify things, as most of the firsts answers suggest I need a better wording:
I'm looking for something like the "smart UV Project" unwrapping method but real time (like a node or mix of node in the material or a projection mode in the texture property or a modifier, whatever adapt to changing meshes)
Why real time and not through unwrapping ? Because most of our objects are parametric, most of the geometry comes from modifiers for ease of management, memory efficiency and many other reason which makes applying those modifier impossible without involving 10x time the workload for the project. So we sometime have only 2D meshes, the rest is an animated modifier stack. As our objects are mostly not organic, stretching is not wanted. Another reason are big meshes (more than a million polygons, really hard to unwrap).
I would like my texture to always keep a scale and be orthogonally projected following the ngon's normal it's projected on, without unwrapping, so that textures never get distorted, whatever modifications are made to the mesh in edit or object mode. (so if you look at an ngon with orthogonal view mode, facing the ngon, the texture looks exactly like in the image editor)
I Tried "box" projection mode in texture panel. It works to some extent on a plane with "texture coordinates" set to "object". I can move edges and scale, but if I rotate the mesh on the x or y axis, it starts to distort because the projection is in object coordinate instead of following the ngon normal.
The solution should work on complex meshes.