Output custom user roles and users wordpress frontend

<?php 
// Functions.php
// Return editable roles
function get_editable_roles() {
    global $wp_roles;
    $all_roles = $wp_roles->roles;
    $editable_roles = apply_filters('editable_roles', $all_roles);
    return $editable_roles;
}
// Custom Role with no capabilities (subscriber like)
add_role('custom-role', __('Custom Role'), array('read' => true));
// Remove a role
// remove_role( 'subscriber' );
// add custom field to user profile
add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );
function my_show_extra_profile_fields( $user ) { ?>
<h3>Extra profile information</h3>
<table class="form-table">
<tr>
<th><label for="poste">Poste</label></th>
<td>
<input type="text" name="poste" id="poste" value="<?php echo esc_attr( get_the_author_meta( 'poste', $user->ID ) ); ?>" class="regular-text" />
</td>
</tr>
</table>
<?php }
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
    return false;
	update_usermeta( $user_id, 'poste', $_POST['poste'] );
}
?>

<?php 
// custom-template.php
?>     
<dl>
<?php foreach (get_editable_roles() as $role_name => $role_info): ?>
  <?php if ($role_name != 'administrator') { /* Hide admin */  ?>
  	<dt><?php echo translate_user_role( $role_info['name'] ); ?></dt>
  		<?php $args = array('role' => $role_name,'meta_key' => 'last_name','orderby'  => 'meta_value','order' => 'ASC'); $users = get_users($args); ?>
		<?php foreach ($users as $user) { ?>
		<dd>
			<h3><?php echo $user->last_name; ?> <?php echo $user->first_name;?></h3>
			<span class="usr-statut"><?php /* Echo custom field */ $poste = get_user_meta($user->ID,'poste',true); echo $poste;?></span>
			<span class="usr-contacts"><a href="mailto:<?php echo $user->user_email; ?>"><?php echo $user->user_email; ?></a></span>
		</dd>
		 <?php } wp_reset_query(); ?>
  <?php }  ?>
<?php endforeach; ?>
</dl>

<?php 
// Plugin for reordering alphabetically Roles
// plugins / t5-sort-editable-roles.php
?>
<?php
/**
 * Plugin Name: T5 Sort Editable Roles
 * Description: Sort roles by their display name.
 * Plugin URI:  http://wordpress.stackexchange.com/questions/74785/alphabetically-order-role-drop-down-selection-in-dashboard
 * Version:     2012.12.03
 * Author:      Thomas Scholz
 * Author URI:  http://toscho.de
 * Licence:     MIT
 * License URI: http://opensource.org/licenses/MIT
 */

add_filter( 'editable_roles', 't5_sort_editable_roles' );

/**
 * Array of roles.
 *
 * @wp-hook editable_roles
 * @param   array $roles
 * @return  array
 */
function t5_sort_editable_roles( $roles )
{
	uasort( $roles, 't5_uasort_editable_roles' );
	return $roles;
}
/**
 * Compare translated role names.
 *
 * @param  array $a First role
 * @param  array $b Second role
 * @return number
 */
function t5_uasort_editable_roles( $a, $b )
{
	return strcasecmp(
		translate_user_role( $a['name'] ),
		translate_user_role( $b['name'] )
	);
}