+@section msg_ex_models Models-related examples
+
+@subsection msg_ex_ns3 NS3 as a SimGrid Network Model
+
+This example demonstrates how to use the bindings to the Network
+Simulator, as explained in @ref pls_ns3. The most
+interesting is probably not the C files since they are unchanged from
+the other simulations, but the associated files, such as the platform
+file to see how to declare a platform to be used with the ns-3 bindings
+of SimGrid and the tesh file to see how to actually start a simulation
+in these settings.
+
+ - @ref examples/msg/network-ns3/network-ns3.c. Simple ping-pong using
+ ns-3 instead of the SimGrid network models.
+
+TODO: merge the C files
+
+TODO: show the XML files instead if it's what is interesting. On a "XML example files" page that does not exist yet.
+
+@subsection msg_ex_io Simulating disks and files
+
+The examples of this section demonstrate how to interact with the
+simulated storages.
+
+ - <b>Basic example</b>.
+ @ref examples/msg/io-storage/io-storage.c \n
+ All main storage and file functions are demoed.
+
+ - <b>File Management</b>. @ref examples/msg/io-file/io-file.c \n
+ This example illustrates the use of operations on file
+ (@ref MSG_file_open, @ref MSG_file_read, @ref MSG_file_write,
+ or @ref MSG_file_close).
+
+ - <b>Remote I/O</b>. @ref examples/msg/io-remote/io-remote.c \n
+ I/O operations can also be done in a remote, i.e. when the
+ accessed disk is not mounted on the caller's host.
+
+@section msg_ex_actions Following Workload Traces
+
+This section details how to run trace-driven simulations. It is very
+handy when you want to test an algorithm or protocol that only react
+to external events. For example, many P2P protocols react to user
+requests, but do nothing if there is no such event.
+
+In such situations, you should write your protocol in C, and separate
+the workload that you want to play onto your protocol in a separate
+text file. Declare a function handling each type of the events in your
+trace, register them using @ref xbt_replay_action_register in your
+main, and then use @ref MSG_action_trace_run to launch the simulation.
+
+Then, you can either have one trace file containing all your events,
+or a file per simulated process: the former may be easier to work
+with, but the second is more efficient on very large traces. Check
+also the tesh files in the example directories for details.
+
+ - <b>Communication replay</b>.
+ @ref examples/msg/actions-comm/actions-comm.c \n
+ Presents a set of event handlers reproducing classical communication
+ primitives (synchronous and asynchronous send/receive, broadcast,
+ barrier, etc).
+
+ - <b>I/O replay</b>.
+ @ref examples/msg/actions-storage/actions-storage.c \n
+ Presents a set of event handlers reproducing classical I/O
+ primitives (open, read, write, close, etc).
+
+@section msg_ex_apps Examples of Full Applications
+
+ - <b>Chord P2P protocol</b>.
+ @ref examples/msg/dht-chord/dht-chord.c \n
+ This example implements the well known Chord protocol,
+ constituting a fully working non-trivial example. This
+ implementation is also very efficient, as demonstrated in
+ http://hal.inria.fr/inria-00602216/
+
+@section msg_ex_misc Miscellaneous
+
+ - <b>Task priorities</b>.
+ @ref examples/msg/task-priority/task-priority.c \n
+ Demonstrates the use of @ref MSG_task_set_priority to change the
+ computation priority of a given task.
+
+ - <b>User-defined properties</b>.
+ @ref examples/msg/platform-properties/platform-properties.c \n
+ Attaching arbitrary information to host, processes and
+ such, and retrieving them with @ref MSG_host_get_properties,
+ @ref MSG_host_get_property_value, @ref MSG_process_get_properties, and
+ @ref MSG_process_get_property_value. Also make sure to read the
+ platform and deployment XML files to see how to declare these data.
+
+TODO: Document the many other examples that we have