iClem

Un petit logiciel pour Mac utilisant l'api

a marqué ce sujet comme résolu.

Salut à tous,

Je suis Cirdo, un petit développeur (un peu débutant :) ) en Swift/Objective-c qui va tenté de passer le brevet :)

iClem est un petit logiciel Mac qui essaye d'utiliser l'api de Zeste de Savoir.

En savoir plus sur le projet

Quand l'api est sortie, je me suis dit que ça serait sympas si je faisais un petit logiciel. Et c'est comme ça que iClem est sortie.

Généralité et avancement

iClem utilise l'api membre de zeste de savoir. Pour l'instant, elle ne permet de juste modifier les paramètres son compte sans passer par l'interface Web. Mais au fur et à mesure, elle permettra de faire plein de chose comme l'envoi de MP ou le parcours de la galerie.

iClem gère la connexion automatique. Pour enregistrer ses paramètres il faut juste fermer la fenêtre.

Le projet et son originalité

La plus grosse partie à été faite en Swift, quelques bouts de code ont été fait en Objective-c. Le projet utilise les storyboards introduit avec Yosemite (c'est à dire, il y a pas longtemps)

Quelques images :

iClem utilise le frameworks Clem écrit en Objective-c. Celui-ci gère les requêtes à effectuer.

Quelques exemples d'utilisations (en objective-c) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
//Se connecter aux sites
CConnectLogin *c = [[CConnectLogin alloc] initWithUsername:@"<Username>"
                                                          password:@"<Password>"
                                                          clientID:@"<Client Id>"
                                                      clientScrete:@"<Client screte>"];

[c connectionZDSWithBloc:^(CToken *token, NSError *error) {
            CProfile *p = [CProfile profile];

            [p checkParametreProfil:^(CMembre *membre,
                                      NSError *error) {

                NSLog(@"%@", membre);

                [p saveSign:@"UIKit, un nouveau frameworks d'apple"  withPk:membre.pk bloc:^(BOOL success, NSError *error) {
                    [p saveBiographie:@"C'est juste un bio, donc pas très important" withPk:membre.pk bloc:^(BOOL success, NSError *error) {

                    }];
                }];
            }];
        }];

La class CToken gère le Token renvoyé par l'api. La class CProfil est une class multi-fonctions. La fonction checkParametreProfil: renvoie le membre qui s'est connecter, en l'occurence un object CMembre. Pour sauvegarder une signature, la biographie, etc, la fonction save<QuelqueChose> prend en paramètre un NSString, le pk du membre, et un bloc. Le bloc indique s'il y a une erreur.

1
2
3
4
5
6
CMembre *m = [CMembre membre];
        [m setPk:1];

        [m updateMembre:^(NSError *error) {
            NSLog(@"%@", m); //En l'occurence Clem
    }];

La class CMembre gère les membres, elle contient les informations sur le membres, c'est-à-dire le nom, la biographie… La fonction updateMembre: met à jour les variables de l'object en question.

1
2
3
[[CSearchMembre searchMembre] searchMembre:@"A" bloc:^(NSArray *membre, NSError *error) {

}];

La class CSearcheMembre permet de chercher des membres, le paramètre du blocs membre est un array qui contient des objects CMembres.

Attention, les objects qui pointent vers CMembre dans le array ne sont pas complet. Il faut les updater avec la fonction updateMembre:. Il est conseillé de se connecter

1
2
3
4
5
[[CPRofileAll profileAll] getAllMembre:^(long progressMembreDownload, long totalMembre) {

            } sucess:^(NSArray *membre, NSError *e) {

            }];

La class CPRogileAll permet de récupérer tous les membres. La variable progressMembreDownload est un int, elle indique où en le téléchargement. Par exemple, si il y a 2000 membres et que le téléchargement de donné en n'est aux membre numéro 300, la valeur de cette variable sera de 300. La variable membre est un array qui contient des objects CMembre

Attention, les objects qui pointent vers CMembre dans le array ne sont pas complet. Il faut les updater avec la fonction updateMembre:. Il est conseillé de se connecter.

Remerciements

  • Scott Raymond and Mattt Thompson pour la lib AFNetworking
  • Sam Soffes pour la lib SSKeychain
  • Et tous les membres qui ont participé à ce topique

Attention, iClem et Clem sont en bêta

Voici le lien de iClem : https://dl.dropboxusercontent.com/u/98367538/iClem.zip

Et le lien du frameworks : https://dl.dropboxusercontent.com/u/98367538/Clem.zip Merci de m'avoir lu :)

N'hésitez pas critiquer ;)

+3 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte