I understand now that you can add a script from anywhere in the code with CClientScript. And that’s a great solution !
One last question : What is the right solution to display assets that are not in widget or other ? (Assets that are in the layout and unique for the application)
Then keep it simple, and use regular html <link> and <script> tags in your layout. I can’t see any benefit of using clientScript here. (It doesn’t combine/compress/minify assets.)