In short, the only restriction that EOSIO imposes at the moment is that your contracts need to be compiled to WASM, and communicating with nodes is done via HTTP requests sent to the appropriate end-points in the binary format expected by the ABI. The former means that right now your contracts will need to be in C++, and the latter means you'll need to use
cleos or some other library to convert JSON or other format into the binary format.
As for examples, there are two example projects made by blockone. The more complex one uses the following stack:
The DApp consists of four parts. The eosio blockchain, MongoDB database, backend Node.js app, and frontend React app.
The simpler example omits the database and uses a simpler stack:
The DApp consists of two parts. eosio blockchain and frontend react app.
If you want more examples regarding what people typically use, this page has several relevant articles.
In regards, to your individual questions:
It will have to use cleos backend
cleos is a CLI tool. The contracts are WASM, and the only recommended language for smart contracts right now is C++.
You can use any web server you want. B1 uses Node in their examples, but devops should be considered independent of EOS framework.
BlockOne made a JS library and JS is the de facto language of the web, so you will typically use JS, but there's also a HTTP API available that you can use however you want (e.g. the backend can make requests with a Python wrapper instead of using JS/Node)
What IDE should I use ?
Again, this is just your preference as a programmer and depending on your stack. Whatever you use to write C++ and JS should work, including using only an editor without an IDE. Some of the core devs use CLion for C++ if you're interested. There is also a short article in the official docs about configuring IDEs, which hopefully will contain more details in the future.
Whichever you want. B1 uses React, but this is completely up to you. There's no specific support for any front-end framework as far as I know
What is the complete stack of installed components I should have ?
eosio software to communicate with or host nodes and
eosio.wasmsdk for compiling contracts. Everything is else just the typical web app stack you'd use otherwise
Edit: Slide from EOS Hackathons summarizing the tech recommended by B1 at this stage: