Partage
  • Partager sur Facebook
  • Partager sur Twitter

angular bdd (NAS)

    2 mai 2024 à 22:46:01

    Bonjour à tout le monde, je suis nouveau dans le domaine d'Angular et je suis en train de m'entraîner en créant des petites applications.
    Mais voilà, je veux avoir une connexion à une base de données car pour le moment tout est écrit en dur dans le code (ce qui n'est pas pratique pour avoir quelque chose de simple et adaptatif).
    Bref, je viens vers vous pour vous demander comment faire et aussi je ne sais pas si je suis dans le bon canal.
    dans mon projet voila ce qui nous intéressent 
    import { Injectable } from '@angular/core';
    import { FaceSnap } from '../models/face-snap.model';
    
    @Injectable({
      providedIn: 'root'
    })
    export class FaceSnapsService {
        faceSnaps: FaceSnap[] = [
            {
              id: 1,
              title: 'TOH',
              description: 'bla bla bla bla bla',
              avies: 'trop bien wola',
              note: 8,
              imageUrl:
                'https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/afe69fdc-4029-44fc-a8d6-400634ca6a15/dfowhqs-4d4a8de6-0da9-4df9-bf72-ea7c7f3e8f2a.jpg/v1/fill/w_1920,h_2095,q_75,strp/toh____the_final__collab__by_jmdx64_dfowhqs-fullview.jpg?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7ImhlaWdodCI6Ijw9MjA5NSIsInBhdGgiOiJcL2ZcL2FmZTY5ZmRjLTQwMjktNDRmYy1hOGQ2LTQwMDYzNGNhNmExNVwvZGZvd2hxcy00ZDRhOGRlNi0wZGE5LTRkZjktYmY3Mi1lYTdjN2YzZThmMmEuanBnIiwid2lkdGgiOiI8PTE5MjAifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6aW1hZ2Uub3BlcmF0aW9ucyJdfQ.5YUlAbvtTgrEMGbD2lkK-c24TfGbBPugbXvI1llDqKQ',
              NEpisode: 20,
              NEpisodeValide: 0,
            },
            {
              id: 2,
              title: 'shera',
              description: 'bla bla bla bla bla',
              avies: 'trop bien wola',
              note: 8,
              imageUrl:
                'https://cdn.pixabay.com/photo/2015/05/31/16/03/teddy-bear-792273_1280.jpg',
              NEpisode: 20,
              NEpisodeValide: 0,
            },
            {
              id: 3,
              title: 'asbin hotel',
              description: 'bla bla bla bla bla',
              avies: 'trop bien wola',
              note: 8,
              imageUrl:
                'https://cdn.pixabay.com/photo/2015/05/31/16/03/teddy-bear-792273_1280.jpg',
              NEpisode: 2,
              NEpisodeValide: 0,
            },
          ];
    
          getAllFaceSnaps(): FaceSnap[] {
            return this.faceSnaps;
        }
    
        getFaceSnapById(faceSnapId: number): FaceSnap {
          const faceSnap = this.faceSnaps.find(faceSnap => faceSnap.id === faceSnapId);
          if (!faceSnap) {
              throw new Error('FaceSnap not found!');
          } else {
              return faceSnap;
          }
        }
    
        snapFaceSnapById(faceSnapId: number, snapType: 'snap' | 'unsnap'): void {
          const faceSnap = this.getFaceSnapById(faceSnapId);
          snapType === 'snap' ? faceSnap.NEpisodeValide++ : faceSnap.NEpisodeValide--;
      }
    }
    et je voudrais remplacer les infos en dur par un connexion a une base de donné 
    voila le github au cas ou : https://github.com/NEKOgrile/test1
    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2024 à 13:46:06

      Je suis nouveau dans Angular et je m'exerce en créant de petites applications. Mais maintenant, je souhaite me connecter à une base de données car pour le moment, tout est écrit en dur dans le code (ce qui n'est pas pratique pour avoir quelque chose de simple et adaptable). En bref, je viens vous demander comment faire et aussi je ne sais pas si je suis dans le bon canal.

      wordle unlimited

      Dans mon projet, voici ce qui nous intéresse :

      import { Injectable } from '@angular/core';
      import { HttpClient } from '@angular/common/http';
      import { Observable } from 'rxjs';
      import { FaceSnap } from '../models/face-snap.model';
      
      @Injectable({
        providedIn: 'root'
      })
      export class FaceSnapsService {
        private apiUrl = 'https://votre-api.com/face-snaps';
      
        constructor(private http: HttpClient) {}
      
        getAllFaceSnaps(): Observable<FaceSnap[]> {
          return this.http.get<FaceSnap[]>(this.apiUrl);
        }
      
        getFaceSnapById(faceSnapId: number): Observable<FaceSnap> {
          return this.http.get<FaceSnap>(`${this.apiUrl}/${faceSnapId}`);
        }
      
        snapFaceSnapById(faceSnapId: number, snapType: 'snap' | 'unsnap'): Observable<FaceSnap> {
          return this.http.patch<FaceSnap>(`${this.apiUrl}/${faceSnapId}`, {
            snapType: snapType
          });
        }
      }   

      Étapes pour mettre en place la connexion à une base de données :

      1. Configurer une API Backend :
        • Créez une API REST (par exemple, avec Node.js, Express, et une base de données comme MongoDB).
        • Implémentez les routes nécessaires pour récupérer, ajouter, mettre à jour les FaceSnaps.
      2. Installer HttpClientModule dans Angular :
        • Ajoutez HttpClientModule à votre application Angular. Modifiez app.module.ts :
        import { HttpClientModule } from '@angular/common/http';
        
        @NgModule({
          declarations: [ ... ],
          imports: [
            ...,
            HttpClientModule
          ],
          providers: [ ... ],
          bootstrap: [ ... ]
        })
        export class AppModule { }           
      3. Modifier FaceSnapsService pour utiliser HttpClient :
        • Remplacez les données statiques par des appels à l'API dans votre service.
      4. Mettre à jour les composants pour utiliser le service :
        • Modifiez vos composants pour qu'ils utilisent les méthodes du service FaceSnapsService pour récupérer les données depuis l'API.
      5. Tester votre application :
        • Vérifiez que votre application Angular récupère bien les données depuis l'API et les affiche correctement.

      En suivant ces étapes, vous pourrez remplacer les informations codées en dur par une connexion à une base de données, rendant ainsi votre application plus flexible et évolutive.

      Pour plus de détails, consultez le GitHub.

      Bon courage et bonne programmation !

      • Partager sur Facebook
      • Partager sur Twitter

      angular bdd (NAS)

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown