Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 298 sur 309 PremièrePremière ... 198248288290291292293294295296297298299300301302303304305306308 ... DernièreDernière
Affichage des résultats 8 911 à 8 940 sur 9265
  1. #8911
    C'est quelque chose d'assez classique, c'est comme ça que tu types généralement tes actions pour un reducer (Redux ou non).

    Code:
    export type Actions = ActionA | ActionB
    
    export type ActionA = {
      readonly type: ActionType.ActionA
      payload: Toto
    }
    
    export type ActionB = {
      readonly type: ActionType.ActionB
      payload: Tata
    }
    
    
    const reducer = (state: State, action: Actions): State => {
      switch (action.type) {
        case ActionType.ActionA:
          // action.payload est bien reconnu comme de type Toto ici
          return state
    
        case ActionType.ActionB:
          // action.payload est bien reconnu comme de type Tata ici
          return state
      }
    }
    C'est la faute à Arteis

  2. #8912
    Ah mais ton post tombe parfaitement (j'allais me lancer dedans). Merci beaucoup !

  3. #8913
    Je sais plus qui m'avait conseillé InertiaJS ici. J'ai envie de démarrer un nouveau projet pendant mon inter-contrat. J'avais joué un peu avec il y a genre deux ans et ça avait l'air super cool. C'est toujours d'actualité ? On peut faire du Typescript avec ?

  4. #8914
    Après 13 ans de bons et loyaux services, j'ai enfin rafraîchi mon portfolio photo.

    L'objectif était de mieux utiliser l'espace disponible des nouvelles définitions d'écrans (1440p+) et aussi d'avoir une véritable compatibilité téléphone.

    Je suis preneur de tout retours !

  5. #8915
    J'aime beaucoup. C'est sobre et clair (et puis tes photos sont super). Seul défaut que j'ai trouvé si on veut vraiment pinailler : les éléments de ton menu burger en mode mobile ne sont pas tout à fait centrés en dessous de 400px de large

  6. #8916
    Merci !

    Et merci aussi pour le pinaillage, j'y regarderai à nouveau.

  7. #8917
    Très joli sur la forme comme sur le fond.

    C'est propre et léger, et les technologies utilisées ont l'air de l'être aussi puisque le code source est lisible.
    « Sans puissance, la maîtrise n'est rien »

  8. #8918
    Citation Envoyé par Fastela Voir le message
    Je sais plus qui m'avait conseillé InertiaJS ici. J'ai envie de démarrer un nouveau projet pendant mon inter-contrat. J'avais joué un peu avec il y a genre deux ans et ça avait l'air super cool. C'est toujours d'actualité ? On peut faire du Typescript avec ?
    C'est moi qui en avait parlé.
    C'est toujours d'actualité si tu veux faire un front en JS tout en gardant une approche monolithique.

    Il me semble que tu étais tombé sur un soucis de 'remember me' avec l'authentification json dans Symfony et dans la 6.3 qui vient tout juste de sortir : https://symfony.com/blog/new-in-symf...or-json-logins

    Maintenant si tu veux passer par le bon vieux duo PHP en backend et JS front-end via une API, toujours en Symfony API Platform c'est assez formidable : https://api-platform.com/
    Et je dis pas ça en l'air, je connais aucun équivalent dans aucun langage qui te fourre autant de feature aussi simplement.


  9. #8919
    Citation Envoyé par Foksadure Voir le message
    Très joli sur la forme comme sur le fond.

    C'est propre et léger, et les technologies utilisées ont l'air de l'être aussi puisque le code source est lisible.
    Merci !

    Et oui c'est du web à papa ! J'avais envie de garder l'hébergement et la stack de mon ancien portfolio, et à l'époque (la première version avait dus être faite quand j'étais en fin lycée / prépa, et les deux versions suivantes en école d'ing) je connaissais que le PHP. J'aime bien les outils actuels (Angular et ASP.NET Core dockerisé c'est ma stack à tout faire), mais c'était l'occasion de refaire du web à l'ancienne : donc HTML/JS pur/PHP, seul entorse : j'ai quand même utilisé du SASS avec un petit pipeline de compilation avec gulp et npm pour le CSS. Et docker pour développer sans réinstaller un moteur PHP en local.

    Bilan :
    - on peux vraiment faire beaucoup en HTML/CSS aujourd'hui, je trouve marrant que mon menu en mode mobile soit 100% sans JS.
    - le JS a été utilisé à son minimum, pour la lightbox, le captcha, l'infinite scrolling et là où le CSS se retrouvais limité (très rare, c'est arrivé 1 fois).
    - j'ai trouvé des services non GAFAM pour le tracking (j'avais enlevé Google Analytics sur l'ancien, mais vu que je lance le nouveau je voulais avoir un peu de métriques sur les usages actuels) et le captcha, j'en suis content pour l'instant.
    - si j'ai développé avec Google Fonts, j'ai tout ré-hébergé avant la release. Y'a des sites bien fait pour aider à faire ça d'ailleurs, très pratique.
    - j'ai dégagé MySQL (par flemme), tout est fait avec des fichiers locaux, j'ai bien une interface admin pour rajouter des photos / les trier, mais tout se sauvegarde en JSON.
    - comme je voulais réaliser cette nouvelle version rapidement (j'ai l'intention d'être plus actif en photo cette année), j'ai utilisé ChatGPT en Dev junior un peu con mais qui connais les noms des méthodes PHP qui m'intéressent. Et c'était une bonne idée, y'a eu évidemment un peu de lecture de doc derrière, mais ça m'a épargné un peu de recherches Google à ouvrir 5 liens avant de trouver vaguement ce que je cherchais.
    - bon, composer pour télécharger les dépendances PHP, pas super fan. Surtout pour me ramener 800 fichiers derrières pour un truc aussi con qu'un emailer (coucou SendGrid et Mailgun).
    - en parlant des deux connards précédents, on s'inscrit avec 36 infos perso, on pourri son codebase de 800 fichiers de merde, pour qu'au final... ça finisse quand même dans le spam.
    - je suis donc parti avec un truc plus simple : j'ai ouvert un email chez un de mes hébergeurs, du code PHP pour discuter en SMTP, et voilà.

  10. #8920
    Pas beaucoup d'autres retours que les autres, c'est propre et efficace. J'aime bien le petit effets de backdrop flou sur le menu.

    Tu confirmes donc que ChatGPT peut faire gagner du temps même à un dev confirmé dans un langage connu (?). Tu as juste posé des questions à ChatGPT (3.5 ? 4?) ou tu as utilisé CoPilot ?

  11. #8921
    Citation Envoyé par Dross Voir le message
    Après 13 ans de bons et loyaux services, j'ai enfin rafraîchi mon portfolio photo.

    L'objectif était de mieux utiliser l'espace disponible des nouvelles définitions d'écrans (1440p+) et aussi d'avoir une véritable compatibilité téléphone.

    Je suis preneur de tout retours !
    La page d'accueil est chouette. Dans les galleries photos, il n'y a qu'une seule colonne en mode bureau, et pas d'adaptation des photos selon leur format, c'est voulu ou c'est WIP?

    Sinon je suis sur du test automatisé avec la Raact Testing Library, et il y a un truc qui m'embête avec la fonction waitFor

    J'utilise quasiment l'exemple de la doc dans mon code:

    Code:
        const spy = jest.fn()
        // L'espion est sensé intercepter un événement de mon service (implémentation de Publish/Subscribe perso)
        service.subscribe('eventName', () => spy())
        render(<ResultContainer />, { wrapper })
    
        await waitFor(
            () => expect(spy).toHaveBeenCalledTimes(1), 
            { 
                interval: 150, 
                timeout: 5000, 
                onTimeout: (error) => { 
                    console.error(error.message) 
                    return error 
                }
            }
        )
    Le problème c'est que le code throw l'erreur suivante:

    expect(jest.fn()).toHaveBeenCalledTimes(expected)

    Expected number of calls: 1
    Received number of calls: 0
    Ce que je comprends de la doc, c'est que le code est censé réssayer tous les <interval> ms jusqu'à <timeout>[ ms. Du coup, dans le cas où effectivement l'espion ne serait jamais appelé, j'aurais plutôt attendu une erreur du type "time out".

    Je ne sais pas si c'est clair, est-ce que ceux d'entre vous qui utilisent la React Testing Library (ou n'importe quelle branche de la Testing Library en fait) peuvent me confirmer si j'utilise correctement la bibliothèque, s'il y a eu des breaking changes non repertoriées dans la doc, où si je n'ai pas simplement compris de travers?

  12. #8922
    Citation Envoyé par Awake Voir le message
    Pas beaucoup d'autres retours que les autres, c'est propre et efficace. J'aime bien le petit effets de backdrop flou sur le menu.

    Tu confirmes donc que ChatGPT peut faire gagner du temps même à un dev confirmé dans un langage connu (?). Tu as juste posé des questions à ChatGPT (3.5 ? 4?) ou tu as utilisé CoPilot ?
    Merci !

    Juste ChatGPT (le gratuit, donc 3.5 ?), Copilot je ne l'ai pas installé car il partageais à un moment le code avec son serveur - sait pas si c'est encore le cas - et je travaille sur du code réellement sensible (professionnellement) ce qui m'interdit de jouer avec ce genre de trucs.

    Pour un dev expert, l'intérêt sera moindre, mais tu peux toujours le lancer et voir ce qu'il sort, ça coûte 5 secondes et les gains sont potentiellement intéressants. Si tu sait écrire 100% de ce que tu cherche ça sert à rien, mais si t'a un doute, ou mieux : si tu veux voir s'il n'y a pas une alternative, un lib que tu connais pas, ça permet d'avoir un retour très rapide.

    Perso le PHP j'y ai plus vraiment touché depuis plus de 10 ans, donc un peu rouillé, et même si je suis reparti de mon codebase précédent, ça m'a permit de récupérer des samples adaptés à mon besoin très rapidement et sans raconter trop de conneries (vu que c'était vraiment des trucs de base) : par exemple "write me PHP code that load a JSON file of an array of objects representing images with links, and retrieve their width and height" va te pondre du code correct, s'il récupère la taille de l'image par le JSON, tu l'engueule et lui demande d'aller chercher ces infos par l'url et il fera le code correspondant.

    Pour les trucs de base, une phrase + une réponse de correction te donnera des samples solides et exploitable.

    Par certains aspect ça donne vraiment l'impression d'un junior (un peu débile) mais avec une mine de connaissances utiles, un truc qu'il faut relire comme si c'était du terrain miné, mais qui permet d'aller vite sur certains aspects.


    Citation Envoyé par raaaahman Voir le message
    La page d'accueil est chouette. Dans les galleries photos, il n'y a qu'une seule colonne en mode bureau, et pas d'adaptation des photos selon leur format, c'est voulu ou c'est WIP?
    C'est by design, vu que le site est "mobile first", mais c'est une amélioration qui viendra peut-être plus tard pour mieux s'adapter aux écrans PC.

  13. #8923
    Merci pour le retour Dross ! J'ai pas encore trop essayé, le fait qu'il faille tout vérifier (terrain miné comme tu dis) et analyser ne me convainc par trop de l'utilité sur mes projets.

  14. #8924
    C'est un peu comme un sample de Stackoverflow : faut le relire et vérifier ce qu'il fait avant de le copier coller dans le code, là c'est un peu la même chose mais avec un code customisé (pour les cas de base on s’entend bien).

  15. #8925
    Citation Envoyé par tenshu Voir le message
    C'est moi qui en avait parlé.
    C'est toujours d'actualité si tu veux faire un front en JS tout en gardant une approche monolithique.

    Il me semble que tu étais tombé sur un soucis de 'remember me' avec l'authentification json dans Symfony et dans la 6.3 qui vient tout juste de sortir : https://symfony.com/blog/new-in-symf...or-json-logins

    Maintenant si tu veux passer par le bon vieux duo PHP en backend et JS front-end via une API, toujours en Symfony API Platform c'est assez formidable : https://api-platform.com/
    Et je dis pas ça en l'air, je connais aucun équivalent dans aucun langage qui te fourre autant de feature aussi simplement.
    Ah yes merci. API Platform j'ai goûté, et passé la magie du début je trouve que c'est trop rigide comme architecture. Dès que tu veux sortir du CRUD simple il y a une friction trop forte je trouve entre ce que tu veux faire et comment API Platform t'oblige à faire.

    Et oui justement c'est parce que j'ai vu que le problème de rememberme avait été résolu que je m'y intéresse à nouveau

  16. #8926
    Citation Envoyé par raaaahman Voir le message
    La page d'accueil est chouette. Dans les galleries photos, il n'y a qu'une seule colonne en mode bureau, et pas d'adaptation des photos selon leur format, c'est voulu ou c'est WIP?

    Sinon je suis sur du test automatisé avec la Raact Testing Library, et il y a un truc qui m'embête avec la fonction waitFor

    J'utilise quasiment l'exemple de la doc dans mon code:

    Code:
        const spy = jest.fn()
        // L'espion est sensé intercepter un événement de mon service (implémentation de Publish/Subscribe perso)
        service.subscribe('eventName', () => spy())
        render(<ResultContainer />, { wrapper })
    
        await waitFor(
            () => expect(spy).toHaveBeenCalledTimes(1), 
            { 
                interval: 150, 
                timeout: 5000, 
                onTimeout: (error) => { 
                    console.error(error.message) 
                    return error 
                }
            }
        )
    Le problème c'est que le code throw l'erreur suivante:



    Ce que je comprends de la doc, c'est que le code est censé réssayer tous les <interval> ms jusqu'à <timeout>[ ms. Du coup, dans le cas où effectivement l'espion ne serait jamais appelé, j'aurais plutôt attendu une erreur du type "time out".

    Je ne sais pas si c'est clair, est-ce que ceux d'entre vous qui utilisent la React Testing Library (ou n'importe quelle branche de la Testing Library en fait) peuvent me confirmer si j'utilise correctement la bibliothèque, s'il y a eu des breaking changes non repertoriées dans la doc, où si je n'ai pas simplement compris de travers?
    Tu veux tester quoi exactement ? Que ça passe ? Où que ça passe pas ? Certaines conditions ? J'arrive pas à comprendre ton exemple (mais ça doit venir de moi, je suis encore une chèvre en tests).

    Concernant la doc, je la trouve assez naze quand il s'agit d'expliquer à peu près tout.

  17. #8927
    Citation Envoyé par Fastela Voir le message
    Ah yes merci. API Platform j'ai goûté, et passé la magie du début je trouve que c'est trop rigide comme architecture. Dès que tu veux sortir du CRUD simple il y a une friction trop forte je trouve entre ce que tu veux faire et comment API Platform t'oblige à faire.
    Pourtant , entre les Providers et Processors custom, tweaker la sérialisation, les DTO, les filtres customs, les écouteurs d'événements, etc., ce ne sont pas les possibilités d'extensions qui manquent. Je dirais même que la difficulté provient plutôt au contraire d'une abondance de possibilités, et de faire un choix optimal.

  18. #8928
    Sinon il y a Phind pour la recherche de code assistée par IA. Déjà il s'est pas arrêté de scraper en 2021 comme ChatGPT, et en plus il cite les sources qu'il a utilisées. Bon, souvent je me retrouve à lire les sources en fait.

    EDIT: @Captain_Cowkill c'est juste la mise en place, je n'ai pas mis le code du test à proprement parler, mais il dépend du fait qu'un service aie bien été initialisé, là où dans l'application j'aurais un "spinner" (une ... tournante?) avant de pouvoir saisir une entrée...

    Je suis tombé sur un blog qui parle de TDD en React d'ailleurs, je n'ai pas encore lu les articles.

  19. #8929
    Ce serait pas plus simple de cibler le spinner dans ton test et de vérifier qu'il apparaît bien quand tu lances l'action ?

    De ce que j'ai compris dans les tests front, et ce que je pratique, c'est que le paradigme est de vérifier que ce que l'utilisateur doit voir ou interagir avec est bien là.

  20. #8930
    Je n'aime pas trop cette approche, car elle va demander d'écrire des tests à l'échelle plus large, ce qui donne plus de cas à tester lorsque l'on combine plusieurs éléments. En l'occurence, je sais que mon spinner fonctionne, et quand bien même il ne fonctionnerait pas, faire échouer ce test-ci à cause du spinner m'embêterait car ce n'est pas la cible du test actuel. Mais oui, je vais probablement basculer vers cette solution, faute d'en avoir une meilleure pour le coup.

    Sinon j'ai un peu lu le blog que j'ai cité précédemment, et ça m'a l'air d'être du ChatGPT... Celui-ci me paraît plus sérieux, même s(il faut sans doute mettre à jour quelques exemples de code.

  21. #8931
    Citation Envoyé par Dross Voir le message
    Copilot je ne l'ai pas installé car il partageais à un moment le code avec son serveur - sait pas si c'est encore le cas - et je travaille sur du code réellement sensible (professionnellement) ce qui m'interdit de jouer avec ce genre de trucs.
    Juste pour ce point, y'a pas besoin de bosser sur du code sensible (au sens demandant des accréditations particulières) pour que ce soit interdit par ton contrat de travail (et tout un tas d'autres document).
    C'est la faute à Arteis

  22. #8932
    Je réagis sur la citation de Dross: comment Co-Pilot pourrait ne pas partager le code avec son serveur? Il nous fait installer un LLM en local? Ca me paraît être un genre d'outil trop lourd pour beaucoup de configurations, prône aux erreurs de compatibilités avec les OS.

  23. #8933
    Soit ça, soit en utilisant des données intermédiaires qui ne fournissent pas le code lui même.

    Par exemple, je travaille dans le monde de la recherche géométrique (imaginez un Google pour les pièces 3D), c'est aussi un monde de vecteurs et d'espaces à multiple dimensions, et on est capable de fonctionner avec un descripteur qui ne fourni pas la géométrie exacte de la pièce lors de la recherche, la propriété intellectuelle ne sort pas de chez le client.

    Je ne suis pas dev IA donc je ne sais pas si c'est quelque-chose de faisable dans ce domaine, mais j'ai tendance à voir les GAFAM comme n'ayant aucun incitatif à travailler dans ce sens : ils n'ont que des avantages à aspirer tout le contenu possible, et donc c'est ce qu'ils font, même si ""promis juré on fait rien avec !"" (jusqu'au moment où on aura un whistleblower qui nous montrera le contraire).

  24. #8934
    Bah ils entraînent leur IAs avec, puis ils revendent l'utilisation de celle-ci, le business plan me paraît déjà complet. D'ailleurs, sans être chercheur IA non plus, je dirais que cela peut-être fait avec des données intermédiaires également.

  25. #8935
    Alors, si on regarde Copilot pour les entreprises :

    Code Snippets Data

    GitHub Copilot transmits snippets of your code from your IDE to GitHub to provide Suggestions to you. Code snippets data is only transmitted in real-time to return Suggestions, and is discarded once a Suggestion is returned. Copilot for Business does not retain any Code Snippets Data.
    sauce : https://docs.github.com/en/site-poli...-snippets-data

    Donc c'est très clair, il envoie votre code sur les serveur
    Il précisent bien que les snipet de code ne sont pas conservé pour la version entreprise, mais par contre il me semble qu'en usage gratuit ils font bien ce qu'ils veulent.
    La programmation est une course entre le développeur, qui s’efforce de produire des applications à l’épreuve des imbéciles, et l’univers qui s’efforce de produire de meilleurs imbéciles... L’univers a une bonne longueur d’avance !!!

  26. #8936
    Citation Envoyé par GrandFather Voir le message
    Pourtant , entre les Providers et Processors custom, tweaker la sérialisation, les DTO, les filtres customs, les écouteurs d'événements, etc., ce ne sont pas les possibilités d'extensions qui manquent. Je dirais même que la difficulté provient plutôt au contraire d'une abondance de possibilités, et de faire un choix optimal.
    J'allais dire exactement la même chose


  27. #8937
    Est-ce que quelqu'un ici connait DefinitelyTyped ?
    J'ai une question sans doute très con à poser.

    Ah oui, aussi, quelqu'un a-t-il utilisé Qwik et qui pourrait faire une petite comparaison avec Svelte ?

  28. #8938
    Citation Envoyé par mellifico Voir le message
    Est-ce que quelqu'un ici connait DefinitelyTyped ?
    J'ai une question sans doute très con à poser.
    Quelle est ton interrogation ?
    C'est la faute à Arteis

  29. #8939
    Merci Ohrin. Je pense avoir répondu en creusant un peu, c'est un dépôt de typage pour des paquets npm qui n'en ont pas, c'est ça ? ; et je me suis demandé, pendant un moment, pourquoi il n'y avait pas pour wordpress. Comme je l'ai dit, je suis pire qu'un noob, et je continue quand même à me demander pourquoi, au delà de la simple raison que WP n'est pas un paquet npm.

  30. #8940
    Citation Envoyé par mellifico Voir le message
    c'est un dépôt de typage pour des paquets npm qui n'en ont pas, c'est ça ?
    C'est exactement ça.

    Lorsque tu développes en typescript, pour utiliser une librairie externe il est grandement préférable (mais pas strictement obligatoire) d'avoir une définition de type qui décrivent les objets/fonctions/classes que tu peux importer et utiliser.
    Cependant, un certain nombre de librairies (notamment celles assez anciennes) ne fournissent pas ces définitions de type dans leur package npm.
    Pour palier à ce problème, le dépôt DefinitelyTyped a été créé afin de regrouper les définitions de type créées par la communauté pour tout un tas de librairies.

    Ces définitions de type sont ensuite disponibles sous forme de package npm pour chaque librairie.
    Si tu installes un package npm toto, il est possible d'installer en parallèle un package @types/toto qui va fournir la définition de type manquante.
    C'est la faute à Arteis

Page 298 sur 309 PremièrePremière ... 198248288290291292293294295296297298299300301302303304305306308 ... DernièreDernière

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •