How can I reduce the GSM signal coming from outside into my bedroom, knowing that it's impossible to create a perfect Faraday cage because of the windows & door.
All you need is a Faraday cage, with the proper size holes.
The Global System for Mobile communication (GSM) operates at 2100, 1900, 1800, 900, 850, or less commonly 450 or 400MHz.
The diameter of the openings in a Faraday cage, should be 1/10th the wavelength of the wave you want to block.
Wavelength (λ) is equal to the speed of travel, divided by the frequency of the wave.
Electromagnetic radiation travels at the speed of light (c).
So the formula would be.
Diameter mesh size (mm) = (c / f) * 10,000
So to block a 2100MHz GSM signal, you'll need a Faraday cage with ~1/2" (12.7 mm) diameter openings.
D = (299,792,458 m/s / 2100 MHz ) * 10,000
D = 14.2758313333 mm
As you've mentioned, you'll have to integrate the mesh into the windows and doors of the room.
This colander worn as a hat, should effectively block GSM signals from melting your brain.
How much of a reduction do you need (e.g. 20 dB)? What is the budget? For windows (and possibly doors) you can use a metal screen (it should block most of the RF radiation).
Something as simple and cheap as aluminum foil should get you ~40+ dB of shielding. Copper tape has a nice property of being self-adhesive which can be convenient for small areas.