Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2819 connectés 

 


Dernière réponse
Sujet : [Topic Unique] Claude by Anthropic
joce


je note en tout cas que si je veux planifier des vacances en laponie, il faut que je te contacte :o


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
M300A


 
 


-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                       3            229          37262         203227
TypeScript                     297          12267          46684          90600
Vuejs Component                156           5627          18574          41279
SVG                             98            658             21          20303
CSS                              4           1220           3412          11629
JSON                             9              2              0          11289
Markdown                         6            274              0           1195
HTML                             2              0              0             55
INI                              1              1              0              8
NAnt script                      1              5              0              8
-------------------------------------------------------------------------------
SUM:                           577          20283         105953         379593
-------------------------------------------------------------------------------


 
Oui j'ai bien enlevé node_modules :o
Seulement un demi million, mais ca parait plus :o

M300A

Implosion du Sord a écrit :


Dans ce cas là, l'approche est pas bonne. Sans lui dire où taper ou sans lui faire faire un audit complet  pour avoir une map de l'app, tu n'aurais jamais rien sans un coût énorme, un truc impossible à maintenir et des régression sur le reste.
Vous n'avez pas une équipe de dev ? :o

 

Si parce qu'en fait j'ai anonymiser des trucs, je vais lancer le PC voir si je peux montrer des exemples du premier niveau de plan. Chaque module qui sera touché sera implementé à travers un sous plan spécifique et je vais tout review.
C'est justement le truc, imagine que tu remplaces radio par un truc très spécifique : en trois greps dans un sub-agent. Il a trouvé le client d'API généré et son wrapper, le système de datasource qui génère de l'événementiel à partir de l'API avec son système d'abonnements et le composant Vue qui s'ouvre sur la carto quand on sélectionne un véhicule. Je regarde si je peux montrer un peu ce qui sort

SenorPollo

M300A a écrit :

 

Ressenties :o
J'ai jamais vérifié précisément, plusieurs centaines de milliers je suis sûr, millions c'est probable. Il y a un truc tout con à lancer en cli pour générer ça ? :D

 

clok

Implosion du Sord

M300A a écrit :

C'est une appli de plusieurs millions de lignes en typescript.


Dans ce cas là, l'approche est pas bonne. Sans lui dire où taper ou sans lui faire faire un audit complet  pour avoir une map de l'app, tu n'aurais jamais rien sans un coût énorme, un truc impossible à maintenir et des régression sur le reste.
Vous n'avez pas une équipe de dev ? :o

M300A

SenorPollo a écrit :

 


 [:tapis_fan:3]

 

Ressenties :o
J'ai jamais vérifié précisément, plusieurs centaines de milliers je suis sûr, millions c'est probable. Il y a un truc tout con à lancer en cli pour générer ça ? :D

SenorPollo

M300A a écrit :


 
Ah non absolument pas, l'application existe, il y a le support complèt du système de vidéo, le service qui track les véhicules, tout est présent. C'est une appli de plusieurs millions de lignes en typescript.
Ce que j'attends c'est un plan détaillé de ce qu'il va falloir faire (et c'est ce que j'ai), par exemple dans le client d'Api des radios il faut ajouter la route qui récupère le linestring (l'API existe déjà, le client est généré, et un service TS wrap le client généré, avec les aborts, sortir des reponses en classes, classes d'exception custom etc etc). Pareil pour la, vidéo, toutes les fonctionnalités citées existent mais elles ne sont pas branchées dans ce contexte.


 
 
 [:tapis_fan:3]

M300A

Implosion du Sord a écrit :


Ma question est : qu'attends tu de ton prompt ? Dev une application complète 5j après avoir appuyé sur entré ? Je n'ai jamais croisé personne, autre que des vendeurs de vent, travaillant des prompts pour du one shot.
A la limite, là tu décris une app dans ses grandes lignes, c'est pas un prompt mais une spec. Potentiellement chaque phrase sera une feature qu'il faudra découper et spécifier et mènera à de multiples prompts... ou plutôt une simili discussion avec Claude

 

Ah non absolument pas, l'application existe, il y a le support complèt du système de vidéo, le service qui track les véhicules, tout est présent. C'est une appli de plusieurs millions de lignes en typescript.
Ce que j'attends c'est un plan détaillé de ce qu'il va falloir faire (et c'est ce que j'ai), par exemple dans le client d'Api des radios il faut ajouter la route qui récupère le linestring (l'API existe déjà, le client est généré, et un service TS wrap le client généré, avec les aborts, sortir des reponses en classes, classes d'exception custom etc etc). Pareil pour la, vidéo, toutes les fonctionnalités citées existent mais elles ne sont pas branchées dans ce contexte.

SenorPollo Si tu veux dev un truc complet, utilise GSD ou des équivalents, c'est très bien pour planifier et découper en phases.
Implosion du Sord

M300A a écrit :

Comparer ce que vous demandez aux LLM et comment vous bossez. C'est pas un pavé d'IA, c'est ma demande.

 

Mais ok hein pas grave :o


Ma question est : qu'attends tu de ton prompt ? Dev une application complète 5j après avoir appuyé sur entré ? Je n'ai jamais croisé personne, autre que des vendeurs de vent, travaillant des prompts pour du one shot.
A la limite, là tu décris une app dans ses grandes lignes, c'est pas un prompt mais une spec. Potentiellement chaque phrase sera une feature qu'il faudra découper et spécifier et mènera à de multiples prompts... ou plutôt une simili discussion avec Claude

M300A Comparer ce que vous demandez aux LLM et comment vous bossez. C'est pas un pavé d'IA, c'est ma demande.

 

Mais ok hein pas grave :o

Implosion du Sord

M300A a écrit :

Pour être un peu concret parce que c'est bcp de blabla par ici et peu de code :o

 

J'aimerais votre avis sur un prompt et sur la façon de travail.

 



Tu attends quoi de ce machin ? Et tu penses qu'on va relire ce pavé ?

 
Olivie a écrit :


L’avis de ChatGPT 5.5 :o


Je n'ai pas voulu utiliser de temps de cerveau pour ça, ni des tokens pour répondre, mais c'était aussi mon idée :o

Olivie

M300A a écrit :

Pour être un peu concret parce que c'est bcp de blabla par ici et peu de code :o
 
J'aimerais votre avis sur un prompt et sur la façon de travail.


L’avis de ChatGPT 5.5 :o
 

Citation :

Le prompt est déjà solide sur l’intention fonctionnelle. Ce qui manque surtout, c’est ce qui empêche Codex de prendre des décisions d’architecture discutables à ta place.
 
Les gros manques
 
1. Le modèle exact d’un tracking actif
 
Tu ne définis pas clairement :
 
* un seul tracking par Radio ou plusieurs ;
* si un même Radio peut avoir map tracking + camera following simultanément ;
* ce que fait register si le device est déjà enregistré ;
* si un nouvel enregistrement remplace l’ancien, fusionne les actions ou throw.
 
C’est probablement le plus gros trou du prompt.
 
À préciser explicitement, par exemple :
 
A Radio device may have both map tracking and camera following active at the same time. There must never be more than one active action of each type for a given Radio. Registering an already active action should [replace it / throw].
 

 
2. L’identité canonique du device
 
Tu dis « instance of Radio class », mais le manager doit probablement indexer les trackings dans une Map.
 
Il faut dire quelle clé utiliser :
 
* object identity ;
* radio.id ;
* datasource ID ;
* autre identifiant stable.
 
Sinon Codex risque de faire :
 
new Map([[radio, tracking]])
 
alors que deux instances Radio représentant le même véhicule pourraient exister.
 
Il faut exiger :
 
Verify how Radio instances are identified across datasource refreshes and use the existing stable device identity pattern. Do not assume object identity is stable.
 

 
3. Les signatures et types doivent être découverts avant de concevoir
 
Tu dis « endpoint », puis « public method ». C’est ambigu.
 
RadioTrackerService est-il :
 
* un service frontend ?
* un manager JS interne ?
* une API HTTP ?
* un singleton ?
 
Tu devrais dire :
 
“Register endpoint” means a public service method, not an HTTP endpoint, unless the current architecture proves otherwise.
 
Sinon le mot endpoint peut l’envoyer complètement dans la mauvaise direction.
 

 
4. Sémantique exacte des événements Radio
 
Tu dis « subscribe to an emitter », mais il manque :
 
* quel événement doit déclencher le tracking ;
* payload attendu ;
* ordre garanti ou non ;
* timestamps présents ou non ;
* événements dupliqués possibles ;
* anciennes positions pouvant arriver après une nouvelle ;
* définition de off.
 
Très important pour les races.
 
Ajoute :
 
Before designing concurrency handling, inspect and document the exact Radio location/off event semantics: payload type, timestamps, ordering guarantees, duplication possibilities and lifecycle of Radio instances.
 

 
5. Tu demandes un counter, mais pas la vraie règle de concurrence
 
Le compteur de génération est bon, mais tu dois définir à quel niveau.
 
Il faut probablement un compteur :
 
* par device ;
* par action ;
* pas global.
 
Sinon une update du véhicule A pourrait invalider une requête du véhicule B.
 
Écris clairement :
 
Concurrency/version counters must be scoped per tracked device and per tracking action. An update for one Radio or one action must never invalidate work for another one.
 
Et surtout :
 
Obsolete results must not mutate state, map features or Videoapp layouts.
 

 
6. Tu ne précises pas s’il faut annuler les requêtes ou seulement ignorer les réponses
 
« discard obsolete ones » peut vouloir dire :
 
* AbortController ;
* compteur uniquement.
 
Il faut demander d’inspecter les API clients pour voir le pattern existant.
 
Prefer the existing cancellation pattern if API clients support request abortion. Otherwise use generation/version counters and discard stale results. Do not introduce a new cancellation abstraction only for this feature.
 

 
7. Le comportement en cas d’erreur API est absent
 
Que se passe-t-il si :
 
* history API fail ;
* camera proximity helper fail ;
* Videoapp GET fail ;
* Videoapp POST fail ;
* payload API invalide ?
 
Actuellement Codex doit inventer.
 
Il faut définir au minimum :
 
A transient API failure must not unregister tracking. Keep tracking active and allow the next location event to retry naturally. Do not clear the current map line or camera layout on failed refreshes. Follow existing logging/error reporting patterns.
 
Et décider si toast ou non. Personnellement : pas de toast à chaque erreur de refresh, risque de spam.
 

 
8. Le timeout d’inactivité est sous-spécifié
 
« not sending a message for more than N minutes » :
 
Message de quoi ?
 
* n’importe quel message Radio ;
* location update uniquement ;
* heartbeat ;
* datasource event ?
 
Et le timer commence :
 
* au register ;
* à la dernière position connue ;
* à la dernière nouvelle position reçue après register ?
 
Il faut définir.
 
Par exemple :
 
Inactivity means no location event received from the tracked Radio. The inactivity timer starts at registration and is reset on every accepted location event.
 
Il faut aussi préciser si N = 0 désactive le timeout.
 

 
9. Cleanup incomplet
 
Quand tu unregister :
 
* unsubscribe emitter ;
* cancel timer ;
* invalidate in-flight generations ;
* supprimer la line feature ?
* restaurer caméra layout précédent ?
* ne rien restaurer ?
 
Le map tracking est particulièrement ambigu.
 
Tu dis temporaire layer, mais est-ce que la ligne disparaît à l’unregister ? Probablement oui.
 
Pour les caméras, ne surtout pas laisser Codex décider s’il restaure l’ancien layout.
 
Ajoute :
 
On unregister, fully release listeners, timers and per-action state and invalidate in-flight work. Map tracking must remove its temporary feature. Camera following must not restore any previous Videoapp layout unless an existing application pattern explicitly requires it.
 

 
10. La création de la feature map n’est pas décrite
 
Tu expliques comment l’update, mais pas :
 
* quand elle est créée ;
* geometry initiale ;
* ID/properties ;
* style ;
* quelle temporary layer ;
* si elle existe déjà.
 
Tu devrais imposer :
 
Inspect the existing temporary feature/layer APIs and reuse their feature creation, identification and removal patterns. The plan must identify exactly how a tracking feature is created, looked up, updated and removed.
 

 
11. Ramer-Douglas-Peucker est probablement mal nommé et insuffisamment défini
 
Le nom courant est Ramer–Douglas–Peucker.
 
Surtout, tu dis « parameters », sans nommer :
 
* epsilon/tolerance ;
* unité ;
* éventuellement max points ?
 
Codex ne doit pas inventer le contrat API.
 
Il faut écrire :
 
Do not infer the Radio history API parameters from the algorithm name. Inspect the backend/API contract or existing generated API definitions and document the exact parameter names, units and validation ranges.
 

 
12. La règle de dédup caméra est encore ambiguë
 
Tu dis :
 
or just switch them 1 becomes 2 and 2 becomes 1
 
Donc tu sembles dire que l’ordre des caméras ne compte pas pour décider si on POST.
 
Mais ensuite en merge mode, les first two entries sont remplacées. Là l’ordre peut changer le layout.
 
Il faut définir clairement la comparaison.
 
Probablement :
 
Camera selection deduplication must compare camera identities as an unordered set. A pure permutation of the same selected cameras must not trigger a layout update.
 
Mais attention : si l’ordre représente la proximité, alors ne pas publier le changement signifie que la caméra la plus proche ne passe pas en tile 1. C’est une décision métier réelle.
 
C’est un point que ton prompt doit explicitement laisser comme question ouverte dans le plan.
 

 
13. Que mettre dans les tiles manquantes ?
 
Cas demandé : 4 caméras, seulement 2 trouvées.
 
Full takeover :
 
* layout de 2 tiles ?
* layout de 4 avec 2 tiles vides ?
* répéter ?
* placeholders ?
 
Tu sembles dire « complete layout with only the two cameras found », donc layout réduit à 2. Mais tes tailles full takeover autorisées sont 1, 4, 9, 10, 16.
 
Contradiction.
 
Exemple :
 
* requested count = 9 ;
* only 6 nearby cameras exist.
 
Quel layout POSTER ?
 
C’est une ambiguïté majeure.
 

 
14. wanted number of tiles et number of cameras sont mélangés
 
Ce ne sont pas nécessairement les mêmes concepts.
 
Tu utilises :
 
* wanted number of tiles ;
* wanted number of cameras ;
* cameras count ;
* requested count.
 
Il faut choisir un concept et un nom métier unique.
 
Par exemple :
 
cameraCount
 
= maximum number of nearby cameras selected and published.
 
Puis expliquer ce que devient le layout avec moins de résultats.
 

 
15. Définition exacte de « close cameras »
 
Tu dis « camera service helper », mais il faut interdire de recréer l’algorithme.
 
Reuse the existing camera proximity helper and its existing ordering semantics. Do not implement a new geographic distance or camera-ranking algorithm.
 
Il faut aussi vérifier si le helper renvoie :
 
* enabled cameras ;
* accessible cameras ;
* sorted by distance ;
* doublons éventuels.
 
Le plan doit le documenter.
 

 
16. Race critique en merge mode
 
Scénario :
 
1. position A ;
2. GET layout ;
3. position B ;
4. GET layout ;
5. B POST ;
6. A POST.
 
Le compteur doit être vérifié avant le POST, mais potentiellement aussi après le GET et avant toute mutation.
 
Plus subtil : un utilisateur modifie manuellement Videoapp entre GET et POST.
 
Ton système peut écraser son changement avec un layout obsolète.
 
Il manque une décision sur cette race externe.
 
À minima :
 
The plan must explicitly analyse the read-modify-write race in merge mode. Verify whether Videoapp exposes revision/version/ETag semantics. If not, document the unavoidable race rather than pretending the generation counter solves concurrent external layout changes.
 
Ça, c’est important techniquement.
 

 
17. Dédup basée sur quoi ?
 
Il faut définir les identifiants caméra utilisés pour comparer.
 
Pas les objets complets, sinon un changement de metadata peut provoquer un POST.
 
Deduplicate camera selections using the stable camera identity already used by Videoapp/layout payloads, not object equality or full serialized camera objects.
 

 
18. État UI et service pas défini comme réactif
 
Tu dis :
 
If tracking is already active, show instead a button to unregister it.
 
Comment le composant sait qu’il est actif ?
 
Il faut probablement :
 
* query method isTracking(...) ;
* observable/emitter ;
* reactive state.
 
Sinon Codex va bricoler avec un state local du popup, qui devient faux si self-unregister intervient.
 
Très gros manque.
 
Ajoute :
 
UI tracking state must come from RadioTrackerService, not local component state, because tracking can self-unregister asynchronously. Inspect existing reactive service/state patterns and use one of them so open UI components update when tracking starts or stops.
 

 
19. Popup détruite/recréée
 
Lié au point précédent.
 
Le popup peut fermer puis rouvrir. Le bouton doit toujours afficher le vrai état.
 
Il faut l’imposer explicitement.
 

 
20. Map et camera doivent probablement avoir deux boutons d’arrêt distincts
 
Si map + camera peuvent être actifs ensemble, ton texte :
 
show instead a button to unregister it
 
est insuffisant.
 
Unregister quoi ?
 
* tout le device ;
* map seulement ;
* camera seulement ?
 
Donc tu dois d’abord définir le modèle d’action du point 1.
 

 
21. Validation insuffisamment spécifiée
 
Tu parles de validate*, mais il faut demander les invariants métier :
 
* timeout > 0 ;
* cameraCount appartient à la liste selon mode ;
* Videoapp client valide ;
* start timestamp valide ;
* RDP params ;
* action discriminée correctement.
 
Je demanderais un discriminated action payload, si le style du code le permet :
 
{
    type: 'map',
    ...
}
 
ou
 
{
    type: 'camera',
    ...
}
 
Mais il faut dire de vérifier les conventions existantes avant.
 

 
22. Pas de critères d’acceptation
 
C’est l’autre gros manque.
 
Sans acceptance criteria, Codex peut considérer le travail terminé avec des cas limites cassés.
 
Je mettrais obligatoirement :
 
Acceptance criteria
 
* Two different Radio devices can be tracked concurrently without interfering with each other.
* Map and camera actions do not invalidate each other’s asynchronous work.
* Stale API results never mutate the map or publish Videoapp layouts.
* Self-unregister releases all listeners and timers and stale pending work becomes harmless.
* UI immediately reflects a self-unregister.
* Reopening a Radio popup reflects the real current service state.
* A failed refresh keeps tracking active.
* An unchanged camera selection does not POST a new layout.
* A pure permutation of camera selection [does/does not] POST — explicitly decide during planning.
* Existing tests, lint and type checks pass.
 

 
23. Tests
 
Tu n’en parles quasiment pas.
 
Vu le niveau de concurrence, les tests sont obligatoires.
 
Ajoute :
 
The implementation plan must include focused tests for per-device concurrency, stale async results, unregister during in-flight work, inactivity timeout reset, Radio off events, camera deduplication, merge behavior for layouts smaller/equal/larger than requested count, and UI state after self-unregister. Use fake timers where appropriate and follow the existing test stack.
 

 
24. Tu devrais explicitement interdire de coder au premier tour
 
Ton introduction dit qu’il faut planifier, mais Codex peut quand même commencer les modifications.
 
Ajoute tout à la fin :
 
For this first iteration, do not modify any file. Inspect the repository and return only:
 
1. the relevant existing architecture and patterns,
2. exact files/classes involved,
3. ambiguities or contradictions found in this request,
4. a proposed state model and public API,
5. a phased implementation plan,
6. questions that require a product decision.
 
Do not provide generic recommendations. Ground every architectural statement in the actual repository with file and symbol references.
 
Mon avis critique
 
Les 5 points réellement dangereux actuellement sont :
 
1. Tu n’as pas défini si map et camera peuvent coexister pour un même Radio.
2. Tu n’as pas défini l’identité stable d’un Radio.
3. La sémantique caméra quand moins de N caméras existent est contradictoire avec les tailles de layout autorisées.
4. L’UI n’a aucun mécanisme défini pour apprendre un self-unregister.
5. Le compteur de concurrence ne résout pas la race GET → merge → POST avec une modification externe du Videoapp.
 
Le reste est améliorable. Ces cinq-là peuvent réellement conduire à une architecture fausse

.

M300A Pour être un peu concret parce que c'est bcp de blabla par ici et peu de code :o

 

J'aimerais votre avis sur un prompt et sur la façon de travail.
J'ai lancé le prompt cu dessous hier soir et j'ai cramé 5h de fable dessus. C'est pas un truc urgent mais j'ai prévu de livrer ca donc je me suis dis que j'allais lancer ça en parallèle dans une branche et profiter un peu de Fable pour déléguer pas mal de boulot.

 

Je lui ai donc demander dans un premier temps de faire un overview du plan dans un .md et de preparer des sous steps pour avancer sur l'élaboration d'un plan plus précis.
Tout ce qui est référencé dans le plan existe, je me suis pas fait chier à être précis car je sais que Fable est capable et j'ai préparé le prompt sans PC.

 

Une fois le premier plan global, (context environ 200k) je lui ai dis qu'on allait faire un clear, donc il ajouté un mini "compact" dans le fichier .md pour savoir exactement où reprendre et on a fait ça 5 ou 6 fois (clients API, manager, composants Vue etc) jusqu'à aboutir à un plan plus précis sur je vais maintenant découpé en plusieurs actions, raffiner avec Opus puis implémenté. Pendant chaque steps j'ai parfois fait quelques remarques pour corriger certains design qui me plaisait pas (essentiellement l'utilisation de primitive Vue dans la partie backend du frontend que je souhaite garder framework-agnostic.

 

Ca vous semble bien ? Vous feriez différemment ? Les avis des vibecoders sont acceptés mais non retenus :o

 
Citation :


# Goal

 

I need to add a system being able to track a vehicle/user (device) in this application.
A tracked device is an instance of Radio class coming from datasource.

 

A tracked device can lead to two different actions:
- Show its tracking as a line string on a temporary map layer
- Follow its live position, refresh close cameras and publish the cameras to a selected videoapp target

 

This is quite a complex task so we'll have to work on a plan and we'll stop and resume on multiple iterations. Don't rush, we'll have to refine the plan from a global overview to implementation details of each part, step after step.

 

# Architecture

 

## Manager

 

A new RadioTrackerService should be added and its lifecycle will be managed by Services.Manager

 

This manager will have an endpoint to register an instance of Radio device from datasource and target action (map tracking of camera following).
Another public method exists to unregister one device.

 

For both actions, you'll have to subscribe to an emitter from Radio datasource to be notified of new locations. If the emitter system does not exist yet, you'll have to add one, look at other datasources, similar patterns already exist.

 

### Map tracking

 

When a new location is received from the emitter, you'll have to call the Radio API client to download the history of locations.

 

You'll have to pass the instance of the API client from ServicesManager to new manager constructor. I think the proper method to download tracking history is not yet implemented so you'll have to add this. When adding a new method, match the style of other API clients: be sure to document all throws and make sure to validate payload and return class instances, not raw non-validated payload from the API itself.
Of course, the API is going to request for start timestamp and some parameters from the Ramer Douglas Pucker algorithm so this has to be part of the registered action definition.

 

When history has been updated, find the corresponding feature on the temporary layer and update the associated line string.

 

Of course, please handle concurrent API calls to get the history with a counter to discard obsolete ones if updated locations come faster than API response

 

### Camera following

 

When a new location is received from the emitter you'll have to call camera service helper to figure out which cameras are close to the tracked device and you need to POST to camera API to target Videoapp client and wanted number of tiles.

 

It means both target Videoapp client and wanted number of cameras must be part of payload defining the tracking action. Also, you could add a boolean to overwrite the full display layout or only the N requested cameras. For instance, if this feature is defined as NOT overwriting and you've requested two cameras, target Videoapp layout will be requested and only the first two entries will be overwriten. If the current layout is less than two it will be extended to two, if more than two, it stays on original size and current layout is merged so the first two cameras only are changed. If full takeover is enabled, current active layout is not requested at all and we publish a complete layout with only the two cameras found.

 

When updating close cameras, you need to dedup the payload, it's possible that less than request count cameras exist and it's possible the updated location does not update the target cameras (or just switch them 1 becomes 2 and 2 becomes one 1, or we had 1 and 2 cameras and now only 1). In this case don't update the camera layout.

 

Just like for map tracking, you need to take care of concurrent calls and discard super-seeded ones of if too long and a new position is already there.

 

### Self unregister

 

Manager should automatically discard vehicle tracking (map and cameras) if the Radio indicates the device is off or if it's not sending a message for more than N minutes, make this a parameter of tracking action.
Pass toast service to manager constructor and toast a message when tracking is self-disabling

 

## Tracking start

 

Tracking should be enabled from Radio vehicle popup, you should add two child components to request camera or map tracking and provide required parameters for tracking action. For map action, Ramer Douglas parameters should be hardoded there to something reasonable. Same for self-unregistering, you should default to 5 minutes. Other parameters should be configurable there.
For cameras following, a list of existing videoapp clients should be shown and a toggle switch is there to enable full layout takeout or merge mode. In full takeover, cameras count can be 1, 4, 9, 10, 16, in merge mode, 1,2,3,4.

 

If tracking is already active, show instead a button to unregister it.

 

# Guidelines

 

Make sure to follow the style of existing code. Don't wrap JSDoc too early, line length is 160. Break a line between sentences, document parameters, throws and returns. For public methods, perform runtime validation using custom validate* functions and make sure the thrown message is self-explanatory.

 

In case on any doubts, please ask a question, or write in the plan the possible options and prompt me later for that. Never guess anything, verify the actual code, and if you are still unsure, ask me


M300A

gaston10241 a écrit :

Fable ne voulait pas de mon profil "bio", mais en déploiement homelab, c'est grandiose ! Il est bien moins verbeux qu'opus, il bosse dans son coin et il délivre un truc fonctionnel en qq minutes, avec la doc qui va bien, ça change complètement de opus qui avait l'air de bcp travailler en heuristique à expliquer toutes ses allées et venues, ça bouffait finalement bien plus de token

 

Ce manque de verbosité je trouve pas ce génial. C'est très bien pour des audits de code, avec des check-lists et quelques références conscises décrivant le bug et ce qui doit être fait.
Par contre, j'ai cramé une session de 5h complète pour matérialiser un plan que j'avais préparé mais ce qu'il a sorti est franchement difficile à review pour un humain. Je sais pas encore comment je vais appréhender ça mais ça ne m'était encore jamais arrivé avec Opus.
Je pense que je vais découper chaque morceau du plan et le refine avec Opus, en demandant explicitement qu'il soit plus verbeux pour que ça soit lisible par un humain.

 
SenorPollo a écrit :

Et Sonnet 5 du coup ?

 

Pas spécialement impressionné, j'ai l'impression que ça vaut un Deepseek flash... Gratuit sur Opencode. C'est ok pour suivre un plan très détaillé, mais à la première imprécision il fait des conneries (e.g: des classes de models placéeq ans le fichier dans lequel il est alors qu'il a dans son contexte un fichier models...)

SenorPollo

TotalRecall a écrit :

/join topic [:cerveau drapal]  
 
Je me suis pris un abonnement Claude Pro annuel, vu que Github Copilot est devenu inutilisable avec leurs nouveaux quotas où tu peux cramer ton forfait mensuel en une heure.  
Claude est beaucoup mieux avec ses fenêtres de quelques heures, espérons qu'ils ne plantent pas leurs utilisateurs comme Microsoft. Je regretterai juste l'intégration forte à visual studio pour certaines tâches (genre le débugueur par copilot qui m'a déjà été bien utile, surtout pour aller débusquer des bugs fous dans des librairies tierces, le reste se fait très bien en CLI)
 
Et c'est une assez bonne IA généraliste, j'ai un abonnement Perplexity pro qui va bientôt expirer, je me demande si c'est pas un remplaçant suffisant.


 
https://marketplace.visualstudio.co [...] eExtension

TotalRecall Bah écoute,  hier et avant hier je l'ai fait bosser (audit de code c# avec Fable, génération de tests, création d'un thème css sur un site qu'il n'a jamais vu et dont je ne lui ai pas donné les sources juste en se basant sur un autre thème...) et en faisant un /usage de temps en temps ça monte beaucoup plus raisonnablement que copilot. Et c'est pas mensuel.
A part hier ou j'ai testé Fable je suis resté sur du Sonnet 5 par contre.
Olivie

TotalRecall a écrit :

/join topic [:cerveau drapal]  
 
Je me suis pris un abonnement Claude Pro annuel, vu que Github Copilot est devenu inutilisable avec leurs nouveaux quotas où tu peux cramer ton forfait mensuel en une heure.  


Claude Pro tu peux le cramer presque aussi rapidement :o

TotalRecall /join topic [:cerveau drapal]

 

Je me suis pris un abonnement Claude Pro annuel, vu que Github Copilot est devenu inutilisable avec leurs nouveaux quotas où tu peux cramer ton forfait mensuel en une heure.
Claude est beaucoup mieux avec ses fenêtres de quelques heures, espérons qu'ils ne plantent pas leurs utilisateurs comme Microsoft. Je regretterai juste l'intégration forte à visual studio pour certaines tâches (genre le débugueur par copilot qui m'a déjà été bien utile, surtout pour aller débusquer des bugs fous dans des librairies tierces, le reste se fait très bien en CLI)

 

Et c'est une assez bonne IA généraliste, j'ai un abonnement Perplexity pro qui va bientôt expirer, je me demande si c'est pas un remplaçant suffisant.

benos Je trouve sonnet 5 assez long ( je constate d’ailleurs l’apparition d’un bouton « réponse rapide » qui pop lorsque il est vraiment trop long :o )
 
Et du code (powershell) assez mauvais, j’ai du lui demander de s’y reprendre à plusieurs fois pour faire un truc simple en temps normal  :gratgrat:
joce

jix a écrit :

Fable a des soucis, Server Error en boucle, et aucun souci quand je passe sous Opus ou Sonnet..
 
Nouveau blocage en vue ?
https://www.lacremedugaming.fr/high [...] 18743.html
 
Edith : ah ben non, Opus kaput aussi :fou:


j'ai switché sur GLM en attendant, pas de soucis :o

jix Fable a des soucis, Server Error en boucle, et aucun souci quand je passe sous Opus ou Sonnet..
 
Nouveau blocage en vue ?
https://www.lacremedugaming.fr/high [...] 18743.html
 
Edith : ah ben non, Opus kaput aussi :fou:
jix

gaston10241 a écrit :

Ça fonctionne mais lentement ici


Ca a duré 30 mins puis c'est repartit comme en '40 :o

gaston10241 Ça fonctionne mais lentement ici
jix Plus aucune réaction de l'app Claude de mon côté, pas d'incident reporté chez Claude.. [:transparency]  
 
Ca roule chez vous ?
 
SenorPollo

AllenMadison a écrit :

 

Le dev c'est du langage avant tout. C'est un peu comme comparer un gars qui a fait du latin vs quelqu'un qui demande a google translate de parler en latin. D'ici 2 ans l'IA saura coder a la perfection, gérer les stacks mémoire, optimiser le code etc. la seule chose qui différenciera sera la capacité a imaginer et avoir des idées/trouver des solutions à des problèmes.

 


 

C'est déjà le cas, ou plutôt c'est une marotte : "solver" le code ça me parait assez improbable vu qu'on trouvera toujours des nouvelles situations qui posent souci et Anthropic aujourd'hui a des problèmes qu'elle ne parvient pas à résoudre totalement (coucou le screen flickering). La seule chose qui différenciera ce sera la capacité à comprendre ce qu'on fait même si c'est l'IA qui fait le développement à sa place (ah ben c'est déjà le cas également). Un bon archi logiciel, il l'est devenu en développant et ayant pris le temps de comprendre ce qu'il fait. Aujourd'hui ce qui différencie l'IA slop d'un bon soft développé avec de l'IA, c'est déjà le temps qui a été mis autour du design de l'appli et de la pérennité de son développement ainsi qu'une segmentation intelligente des étapes. C'est facile de faire sortir un truc qui marche à Claude, c'est déjà moins facile de comprendre ce qui est fait et de le réorienter quand il fait n'importe quoi (hier il m'a fait du bytecode patching lunaire en java, ça marche mais ça n'a aucun sens en terme de pérennité, son autre solution n'était pas pérenne également, j'ai pris 10 minutes pour analyser le souci et j'ai trouvé quelque chose de bien plus malin et pérenne et à aucun moment Opus ne m'a proposé une telle solution). Ca demande nettement plus d'expérience de l'orienter correctement dès le départ et d'éviter de brûler du token pour rien.

 

Quand les abonnements disparaitront et/ou qu'on paiera réellement le prix du token, la vraie plus value elle sera là : savoir éviter de brûler du token inutilement parce que ça coûte cher. Et que si on sait pas faire ça, ben au final un SWE ça coûte moins cher que l'IA.

 

Ce sera peut être faux demain si on nous sort un modèle qui consomme que dalle en input, crache du gros output pour pas cher et a des grosses capacités de raisonnement mais pour l'instant c'est pas trop la trajectoire que ça prend. Aujourd'hui pour faire tourner un local LLM digne de ce nom, il faut bien 10K de matos et ça reste en dessous des frontier model. La sélection se fera sur l'efficacité et les capacités de raisonnement des gens, pas des idées et de trouver des solutions à des problèmes. Mais tout ça, ça existe déjà ça, ça s'appelle des ingénieurs.

joce

Fredouye a écrit :


Ça m'intéresse vos usages, j'ai souvent l'impression d'utiliser un modèle "trop performant".
 
Concrètement, vous faites comment pour utiliser Opus et GPT en "même temps" ?
 
Merci d'avance :jap:


j'utilise tamag0 :o

AllenMadison

SenorPollo a écrit :

 

Je vois pas bien ce que ça vient faire dans le débat de la qualité d'un dév qui a fait du bas niveau vs un dev qui aura fait que de l'angular et sa transposition à un vibecoder qui aura jamais pondu une ligne de code de sa vie versus quelqu'un qui aura codé avant de toucher à un LLM. Si il y a bien un domaine dans lequel tu peux t'autoformer et performer nonobstant ton background social c'est le dév. Le fait est qu'il y a énormément de développeurs nuls sur le marché du travail et certains ont fait de "grandes études" et que l'IA va mettre un grand coup de balai dans tout ça.

 

Après personnellement j'ai jamais aimé ce discours des trajectoires bloquées en fonction des origines sociales, je trouve ça un peu trop facile de mettre tout le monde dans le même sac alors que tu vois des gens brillants issus des cités et des gens complètement stupides issus de la "haute société". Je suis issu d'un milieu très modeste et mes parents n'ont aucun diplôme, j'ai gagné à la loterie de l'intelligence à la naissance en étant moins con que la moyenne mais ça s'arrête là. J'ai jamais été dans le privé et j'ai jamais eu accès à des cours particuliers ou quoi que ce soit, si j'en suis là où j'en suis aujourd'hui c'est parce que j'ai pris mes décisions comme un grand. Mais c'est un autre débat qui n'a pas sa place ici.

 

Le dev c'est du langage avant tout. C'est un peu comme comparer un gars qui a fait du latin vs quelqu'un qui demande a google translate de parler en latin. D'ici 2 ans l'IA saura coder a la perfection, gérer les stacks mémoire, optimiser le code etc. la seule chose qui différenciera sera la capacité a imaginer et avoir des idées/trouver des solutions à des problèmes.

 

Tout comme bogoss91 (et comme beaucoup d'études sociologiques qui l'ont prouvé/mis en évidence) l'origine du milieu social influe sur les trajectoires. Il y a un paquet d'études qui démontrent la corrélation entre le milieu social d'origine et la réussite et même s'il y a quelques exceptions (qu'on s'empresse toujours de mettre en avant pour dire "vous voyez votre étude c'est bidon" ). Ca n'a rien a voir avec "avoir des cours particuliers ou être allé dans le privé", c'est tout un tas de choses comme l'enseignement précoce, très tôt, le conditionnement à la réussite, l'ambition, les valeurs et codes sociaux qui te permettront très vite de grimper dans la hiérarchie, etc. C'est aussi le cadre de travail pour les études, des parents avec une situation précaire vont impacter le cadre d'apprentissage de l'enfant, etc etc etc.

 

A iso-intelligence, celui qui a des parents de CSP plus élevée ira plus vite et plus loin dans sa trajectoire. Ce n'est pas un hasard si dans toutes les grandes écoles la proportion d'enfants de CSP++ est aussi écrasante.

Fredouye

ogsvart_ a écrit :

Fable c'est en auditeur/reviewer chez moi.
 
2 GPT PRO (un manager, et un chef de projet technique en gros) pour piloter les prompts de mes agents Codex et le projet général, FABLE pour auditer les travaux à différents moments clefs importants où il ne faut pas laisser passer d'erreurs.
 
This is the way  :jap:


 

joce a écrit :


marrant, pour moi c'est plus en création de RFC / archi
code : sonnet / opus en fonction de la complexité
gpt-5.5 : en second opinion / review et surtout debug / testing


Ça m'intéresse vos usages, j'ai souvent l'impression d'utiliser un modèle "trop performant".
 
Concrètement, vous faites comment pour utiliser Opus et GPT en "même temps" ?
 
Merci d'avance :jap:

joce

XaTriX a écrit :

Un dealer donne toujours une dose gratos au début :o


 :o

XaTriX Un dealer donne toujours une dose gratos au début :o
SenorPollo Ca m'étonnerait, c'est trop économique un abonnement, va falloir commencer à raquer pour de vrai :o
XaTriX

gaston10241 a écrit :


Sauf que le 7, c'est fini  :cry:


Je pense que ça va revenir mais ça prendra peut être quelques mois

gaston10241

XaTriX a écrit :


c'est aussi mon avis qui motive d'utiliser le plus possible les gros modèles


Sauf que le 7, c'est fini  :cry:

SenorPollo Certes mais après ça c'est la faute des gens qui prennent des raccourcis et vont au plus simple. Ca existe déjà aujourd'hui et c'est ce qui fait le tri, tu peux pas lutter contre ça :spamafote:
Nr13

SenorPollo a écrit :


Ah mais évidemment, ça passe pas la pratique je suis 100% d'accord :D Mais t'as des formations qui font ça bien !  Et je suis totalement d'accord sur la baisse du niveau général que ça va entrainer. D'où ce que je dis : ce sera encore plus simple pour les gens au dessus de la moyenne de sortir du lot en faisant simplement l'effort d'acquérir un minimum de base :jap:


 
Heu super, c'est particulièrement peu enthousiasmant hein. Borgne au royaume des aveugles et tout ça... Vivement que la société dans laquelle je vis régresse!

SenorPollo Et Sonnet 5 du coup ?
XaTriX

gaston10241 a écrit :

Fable ne voulait pas de mon profil "bio", mais en déploiement homelab, c'est grandiose ! Il est bien moins verbeux qu'opus, il bosse dans son coin et il délivre un truc fonctionnel en qq minutes, avec la doc qui va bien, ça change complètement de opus qui avait l'air de bcp travailler en heuristique à expliquer toutes ses allées et venues, ça bouffait finalement bien plus de token


c'est aussi mon avis qui motive d'utiliser le plus possible les gros modèles

SenorPollo

Nr13 a écrit :


 
Je ne parle pas d'étudier mais d'avoir pratiqué (après il y a toujours des gens brillants à qui ça suffit d'étudier, je présume). C'est pas un problème nouveau, mais là il me semble amplifié. En bon pessimiste je me dis que si ça s'avère le cas (baisse de compétence +/- généralisée), ça sera peut être maqué par les autres petits soucis qui se profilent (la tronche du pays fer de lance dans le domaine de l'IA putain).


Ah mais évidemment, ça passe pas la pratique je suis 100% d'accord :D Mais t'as des formations qui font ça bien !  Et je suis totalement d'accord sur la baisse du niveau général que ça va entrainer. D'où ce que je dis : ce sera encore plus simple pour les gens au dessus de la moyenne de sortir du lot en faisant simplement l'effort d'acquérir un minimum de base :jap:

gaston10241 Fable ne voulait pas de mon profil "bio", mais en déploiement homelab, c'est grandiose ! Il est bien moins verbeux qu'opus, il bosse dans son coin et il délivre un truc fonctionnel en qq minutes, avec la doc qui va bien, ça change complètement de opus qui avait l'air de bcp travailler en heuristique à expliquer toutes ses allées et venues, ça bouffait finalement bien plus de token
Nr13

SenorPollo a écrit :


 
De la même façon qu'aujourd'hui tu peux claquer des petits projets vite fait en python parce que ça va vite ou alors tu peux apprendre correctement les bases en essayant de comprendre comment marche un registre, l'allocation mémoire, en faisant un peu de C pour avoir les bases du bas niveau. Et tu peux aussi faire de l'algorithmie parce que c'est jamais perdu d'avoir fait un DFS ou un A* récursif. C'est exactement le même type de trajectoire. Un cursus "développeur" bien fait intégrera l'IA à son parcours mais continuera à faire étudier les bases à ses étudiants.  


 
Je ne parle pas d'étudier mais d'avoir pratiqué (après il y a toujours des gens brillants à qui ça suffit d'étudier, je présume). C'est pas un problème nouveau, mais là il me semble amplifié. En bon pessimiste je me dis que si ça s'avère le cas (baisse de compétence +/- généralisée), ça sera peut être maqué par les autres petits soucis qui se profilent (la tronche du pays fer de lance dans le domaine de l'IA putain).

SenorPollo

Nr13 a écrit :

 

Ben justement on apprend à coder par l'expérience, aujourd'hui qui va galérer sur des petits projets persos quand on peut les vibe coder sans trop comprendre? Certains oui, mais beaucoup moins, ça pose question. On ne sait pas ce qu'on ne sait pas: même problème que les gens totalement perdus sans GPS ou "qui font leurs propres recherches" sur X sujets (par exemple Bourdieu, lolz)

 

De la même façon qu'aujourd'hui tu peux claquer des petits projets vite fait en python parce que ça va vite ou alors tu peux apprendre correctement les bases en essayant de comprendre comment marche un registre, l'allocation mémoire, en faisant un peu de C pour avoir les bases du bas niveau. Et tu peux aussi faire de l'algorithmie parce que c'est jamais perdu d'avoir fait un DFS ou un A* récursif. C'est exactement le même type de trajectoire. Un cursus "développeur" bien fait intégrera l'IA à son parcours mais continuera à faire étudier les bases à ses étudiants.

 

Ceux qui se donnent la peine de comprendre tout ça sont bons, les autres sont juste moyens (voire nuls) et viennent remplir les ESN (je ne crache pas non plus sur les ESN, j'y suis passé comme beaucoup de monde et j'y ai beaucoup appris, c'est un formidable tremplin - mais ça doit rester un tremplin, pas une fin en soi) pour venir pisser du code en enchainant des tickets JIRA à la chaine. Ceux qui ont le bagage et la jugeote nécessaires progressent, les autres font ça pendant 30 ans sans évoluer. Si ça leur convient tant mieux hein, je ne jette pas la pierre. Mais c'est les premiers qui vont sauter sur l'autel de la productivité avec l'IA.

 

Au final l'IA est un outil de plus et quand tu tombes sur des sujets complexes, si t'es pas capable d'aller plus loin que le premier niveau de réflexion, tu tomberas dans les mêmes travers.

 
bogoss91 a écrit :


A intelligence innee egale, quelqu'un d'un milieu aise a bien plus d'avantages, c'est indeniable pour moi.

 

Certes mais c'est trop blanc ou noir comme constat. Les gueux de la cité vs  les bourgeois du 16ème c'est pas la réalité. Y a tout un spectre de profils sociaux entre les deux et tout un panel d'intelligence. C'est un constat beaucoup trop simpliste. Et surtout ça stigmatise ceux qui réussissent au lieu d'essayer de pousser ceux qui galèrent vers le haut. Du nivellement par le bas en bonne et due forme.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)