Deutsch English Français Italiano |
<sil1ep$9g5$1@shakotay.alphanet.ch> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!news.uzoreto.com!news.alphanet.ch!alphanet.ch!.POSTED.localhost!not-for-mail From: Marc SCHAEFER <schaefer@alphanet.ch> Newsgroups: fr.comp.os.unix Subject: Re: =?ISO-8859-1?Q?g=E9rer?= des fichiers log Date: Fri, 24 Sep 2021 17:21:29 -0000 (UTC) Organization: Posted through ALPHANET (https://news.alphanet.ch/) Message-ID: <sil1ep$9g5$1@shakotay.alphanet.ch> References: <fantome.forums.tDeContes-AD48E3.21414905072021@news.free.fr> <sd0l91$b4m$1@shakotay.alphanet.ch> <fantome.forums.tDeContes-130E7D.23050920072021@news.free.fr> <sd8faa$8ac$1@shakotay.alphanet.ch> <fantome.forums.tDeContes-433B13.01575723072021@news.free.fr> <sddoan$flh$1@shakotay.alphanet.ch> <fantome.forums.tDeContes-5442BA.19235419092021@news.free.fr> <si9urh$mad$1@shakotay.alphanet.ch> <fantome.forums.tDeContes-D7C707.17401124092021@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 24 Sep 2021 17:21:29 -0000 (UTC) Injection-Info: shakotay.alphanet.ch; posting-host="localhost:127.0.0.1"; logging-data="9733"; mail-complaints-to="usenet@alphanet.ch" User-Agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-17-amd64 (x86_64)) Cancel-Lock: sha256:P5H615fPInvMOHZzyglOEwRv3F7wbe4UhqkxzR1GjSY= Bytes: 6167 Lines: 139 Thomas <fantome.forums.tDeContes@free.fr.invalid> wrote: > tu as déjà programmé en Ada, et maintenant tu développes de l'embarqué > en C ? Oui, et je précise: C, pas C++. Mes langages préférés sont: Perl, C, bash. > dans la note 7, ça parle de trucs que je ne connais pas, et pas un mot > sur $HOME, même pas en mal ! > est ce que $HOME est suffisamment fiable et portable quand même ? > mais au fait, peut être considères-tu que les applications ne devraient > juste pas essayer de s'en mêler, et que c'est aux intégrateurs de faire > l'interface via le wrapper script ? J'ai assez tendance à aimer le `convention over configuration', tout en laissant possible de configurer si on a envie. > (sais tu si elles avaient de bonnes raisons de le faire ?) Non, je ne me suis pas trop intéressé à ça. >> Quel format texte? Totalement égal si je peux le générer avec un >> template. > > ok, > connais-tu un endroit (tutoriel ?) qui explique comment fonctionnent les > templates ? Exemple en bash: cat > fichier <<EOF variable=$ma_variable EOF Exemple plus compliqué qui génère des lettres depuis une base de données, en Perl: make_latex("template", "out.tex", 'CHER' => (($row[0] eq 'M') ? 'Cher' : 'Chère'), 'ADRESSE' => $a, 'SOMME' => $s, 'PRENOM' => $p, 'APAYER' => ($s > 0) ? 'true' : 'false'); avec un fichier template qui ressemble à: \opening{%CHER% %PRENOM%,} .... Exemple en Perl Mojolicious via TemplateToolkit qui génère de l'HTML: <form action="/config" method="post"> <label>Filtre d'émetteur <select name="from"> % foreach my $f (@{$filters}) { <option value="<%= $f->id %>"<%= ($f->id eq $current_filter->{'from'}) ? " selected" : "" %>><%= $f->name %></option> % } </select> </label> <label>Filtre de thread <select name="thread"> % foreach my $f (@{$filters}) { <option value="<%= $f->id %>"<%= ($f->id eq $current_filter->{'thread'}) ? " selected" : "" %>><%= $f->name %></option> % } </select> </label><br> <input type="submit"> </form> ---> SI C'EST DU TEXTE, J'AIME! > sauf que la partie cli aussi risque d'avoir besoin du fichier de config > (une suggestion ?) des valeurs par défaut s'il n'y a pas de config, p.ex. en dur $HOME/nom-app/log etc. > ah oui, tu disais ça en lien avec le file-browser ? C'est toi qui as dit que ton file browser dans ton code changeait de répertoire courant. Ou c'est ce dont je me rappelle. > je me demande ce qu'il peut y avoir comme pb quand par exemple 2 > instances veulent modifier le même fichier ... Il existe des verrous, et on peut informer l'utilisateur si c'est une erreur de l'utilisateur. Si c'est le fonctionnement même de l'application d'écrire dans le même fichier, ça semble un bug de l'application? >> Comme quoi faire du GUI *et* de la ligne de commande c'est compliqué. > > veux tu dire que tu recommandes de tjr lancer les applications GUI > depuis un bureau GUI et pas depuis un terminal ? Non, ça c'est égal. Ce que je voulais dire est que de faire une application qui se comporte comme j'ai envie en ligne de commande (avec des paramètres adaptés, etc) et aussi en GUI est probablement complexe. >> Du point de vue de ton application, il est possible que l'écriture dans >> ces fichiers retourne une erreur, oui. > > ah bon ? > concrètement, dans quels cas ça peut arriver ? Disque plein? Si ce sont des logs ce n'est pas grave. Si ce sont des données, il faut gérer l'erreur. > d'après le reste du fil, j'ai cru comprendre que tu préférais plutôt que > mon logiciel ne fasse pas de fichiers de log. Oui, si c'est pour que personne ne les lise jamais ... > donc par exemple : s'il y a un pb à la lecture du fichier de config, je Tu peux écrire sur stderr "pas trouvé la config", ou, si le programme a été lancé sans arguments de ligne de commande, supposer qu'il a été lancé en GUI et là ouvrir un dialogue. > tu considères que si on dit dans le fichier de config qu'on veut des > fichiers de log, alors ils doivent être vraiment faits ? Comme disait quelqu'un d'autre, on peut aussi imaginer d'activer ou non le logging et le debugging. > que me suggères tu à cette étape ? :-) les erreurs il faut les communiquer à l'utilisateur, soit sous forme d'un dialogue (GUI) soit sous forme d'une écriture dans stderr. Les diagnostics de l'applications peuvent aller dans stdout ou dans un fichier de log, mais peut-être qu'il faudrait les activer explicitement dans la config.