sdfg pour gerer l'accès aux données, nous avons cette structure la : couche d'accès aux données ```plantuml abstract class IGenericRepository { + getItemById(int id) : object + getNbItems() : int + getItems(int index, int count, string orderingPropertyName, bool descending) : array + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object + updateItem(oldItem, newItem) : void + addItem(item) : void + deleteItem(item) : bool } abstract class IUserRepository extends IGenericRepository { + addFriend(int user1,int user2) : void + deleteFriend(int user1,int user2) : void } interface INotificationRepository extends IGenericRepository { } interface IRelationshipRequestRepository extends IGenericRepository { } abstract class dataManager { //possede tout les IRepository extends de IGenericRepository + void save() + void load() } ```