Liste API Gratuites

Bonsoir si comme moi vous terminez les chapitres de la formation et que vous cherchez une idée pour vérifier vos connaissances en créant (ou essayer de créer une application swift ou swift UI.

Voici une liste d’api sur GitHub pour aider à donner des idées.
API

  • dans la section santé, il y a une api sur le covid 19 -

Si vous avez le même genre de lien sur d’autres api je sais que google en à plein merci de compléter.

Merci à tous.

3 J'aimes

Bonjour
Merci pour cette source. Pourrais-tu donner un exemple d’utilisation d’une API dans du code pour voir comment utiliser cette dernière ? Ou y a t’il une partie du cours de Maxime qui mentionne ceci stp ?
Merci

Bonjour,

Il me semble que data.gouf.fr publie des API pour utiliser les ressources du site. Je n’ai pas créé de compte pour voir, mais il existe une documentation à ce propos ici : Doc.

Oui je viens de créer un compte dessus et je fouille pour trouver mon bonheur.

merci merci merci merci :slight_smile:

Bonjour, je me suis crée mon premier petit exemple d’une connexion, à une api en swift UI
télécharger sur gitHub

Pour le moment l’exemple reste incomplet, c’est-à-dire que la connexion et la création de la liste se font bien, à partir de l’URL, il faut que je trouve comment passer des données de la contentView vers la vue DétailUtilisateurs dans la navigationLink.

Mais déjà l’exemple peut aider.

il ne me semble pas avoir vu ce sujet traité dans le cours de @mbritto. donc tout aide est la bien venue

’’’
import Foundation

class APIRequete:ObservableObject {
@Published var listeUtilisateurs:[personne] = []

// execution de la connexion à URL
func startRequeteJSONDecoder() {
    let urlString = "https://jsonplaceholder.typicode.com/users"
    // verication que l'on à bien une url
    if let url = URL(string: urlString) {
        //ouverture de session
        URLSession.shared.dataTask(with: url) { (data, response, error) in
            // verification à ton des donnees
            if let mesDonnees = data {
                do {
                    // essai de decoder le fichier struct
                    let resultat = try JSONDecoder().decode([personne].self, from: mesDonnees)
                    DispatchQueue.main.async { [self] in
                     // lecture des variable de la struct
                        // rrempli le le tableau
                        self.listeUtilisateurs = resultat
                    }
                } catch {
                   print(error.localizedDescription)
                }
            } // fin de verivication de données
        }.resume() // resultat de la requete
        
    } // url
}

}

import SwiftUI

struct ContentView: View {
@StateObject var connexion = APIRequete()

var body: some View {
    NavigationView {
        List {
            ForEach(connexion.listeUtilisateurs,id: \.id) { donnee  in
                HStack {
                    Image(systemName: "person.circle")
                        .foregroundColor(.red)
                    NavigationLink(
                        destination: DetailUtilisateurs(),
                        label: {
                            Text(" nom: \(donnee.name)")
                        })
                }
            }
        }
        .navigationTitle("Liste des Utilisateurs")
        .onAppear {
            self.connexion.startRequeteJSONDecoder()
        }
    } // fin body
    
}

} // fin some

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}


import Foundation
struct personne:Decodable {

var id :Int
var name:String
var username:String
var email:String
var address:address
var phone:String
var website:String
var company:company
}

struct address:Decodable {
var street:String
var suite:String
var city:String
var zipcode:String
var geo:geo
}

struct geo:Decodable {
var lat:String
var lng:String
}
struct company:Decodable {

var name:String
var catchPhrase:String
var bs:String
}


import SwiftUI
struct DetailUtilisateurs: View {

var body: some View {

Text(« Détail Utilisateur: »)

}

}

struct DetailUtilisateurs_Previews: PreviewProvider {
static var previews: some View {

DetailUtilisateurs()

}

}

Je continue à chercher !

MAJ le code ci-dessus à changé j’ai créé une vue liste qui reprend le code de la liste qui était dans la vue contentView. / gitHub est à jour.

Je ne vois toujours pas comment récupérer l’index de la cellule de liste pour pouvoir alimenter la vue « détailUtilisateur » dans mon exemple.

Pour info le chapitre lié au chargement des données d’API sera dispo cette semaine :slight_smile:
Il sera dans le cours sur SwiftUI :tada:

5 J'aimes

Et voilà! Il est dispo :slight_smile: https://www.purplegiraffe.fr/courses/creer-des-apps-iphone-swiftui-ios14/lectures/24020518

3 J'aimes

Bonjour, j’ai enfin réussi à passer mes données Json de ma liste vers ma vue DétailUtlisateur. Avec le navigationLink(), j’ai utilisé la même URL que vous @mbritto, je n’est nullement copié j’ ai vu cela en visionnant le cours hier. LOL
exemple à télécharger GitHub

Sinon merci, @mbritto pour les explications qui sont extrêmement claires dans le cours.

1 J'aime

Merci à toi pour ce retour! Bien joué pour ton code d’exemple :+1:

1 J'aime