Could someone give me a brief explication about these two mechanisms in oracle : stored and external procedures.
Are they distinct ? Are they differ when we integrate in some language (Java, C++ or C ...) ?
Stored Procedures and External Procedure are distinct ones.
Stored procedures are stored in database and used from there. You can write them in different languages. Also note that you can pre-compile PL/SQL instead of interpreting
External Procedures are external functions/procedures in Operating System. You write a stored procedure in PL/SQL, use call specification to call other languages in operating System. This potentially gives you power to call any function in other languages. Following usages come to my mind.
These usages in my opinion are extreme and unnecessary. All of them can be accomplished with application programs. Nowadays nobody uses database as it is. There are always applications built using Java, .NET, PHP etc. Whenever possible, these other languages should be used in application.