575 liens privés
f*ck GitHub !
Obligé de passer par un site externe pour télécharger juste le dossier d'un repo ; il me semblait qu'avant c'était faisable directement…
Edition 2024-02-06T14:57 (pour « un lecteur. » ;-) ) :
- Mon but est de récupérer un dossier du thème du générateur de site statique Pelican (oui : j'ai craqué, j'ai acheté cet automne un 3e site web :-D ). En outre, autant je peux récupérer tooooooooous les thèmes répertoriés à cet emplacement via le bouton vert
[Code]>[Download ZIP]
, autant je ne vois rien de tel dans un sous-répertoire dudit dépôt : https://github.com/getpelican/pelican-themes/tree/master/bootlex … - J'ai essayé de me connecter ; ça n'a rien changé. J'ai essayé de changer l'adresse en remplaçant
/tree/master/…
par/trunk/…
mais rien n'y fait non plus…
Edition 2024-02-06T17:59 — visiblement mon coup-de-gueule soulève des envies d'aide ; c'est gentil-tout-plein !
J'ai oublié de mentionner que je voulais télécharger vraiment un sous-dossier d'un répo, ceci sans cloner le repo ou faire de commande git
. Genre vraiment un visiteur lambda sur internet qui veut cueillir juste un bout de dossier (voire même un fichier en particulier) dans un dépôt particulier de GitHub.
Cf le lien que j'ai donné juste au-dessus vers le thème bootlex
.
Article assez intéressant, avec des bons liens.
À la base, j'essayais de comprendre comment installer/utiliser Pelican sur le serveur que je viens d'acheter… mais j'ai peur d'avoir plongé dans une impasse…
Règle 4
Aucune fonction ne doit être plus longue que ce qui peut être imprimé sur une seule feuille de papier, dans un format de référence standard, avec une ligne par instruction et une ligne par déclaration. En règle générale, cela signifie qu’il n’y a pas plus de 60 lignes de code par fonction.
Ayant parfois affaire à des fichiers Excel de quelques centaines de lignes, et parfois plusieurs dizaines de colonne, ça me rend fou.
Donc j'aime bien cette règle : maximum 60 lignes. À cela on peut ajouter une des règles du PEP-8 Python qui préconise pas + de 79 caractères par ligne.
Voir aussi la RFC 2223 qui indique :
3a. ASCII Format Rules
[…]
Each page must be limited to 58 lines followed by a form feed on a
line by itself.
Each line must be limited to 72 characters followed by carriage
return and line feed.
Cela donne un formatage un peu surprenant mais cela donne une bonne idée de ce qui est humainement révisable.
Édition 2024-09-26
Finalement ces « 10 règles pour écrire du code sécurisé » s'inspire/a inspiré les règles de codage du JPL de la NASA 👇
- Éviter les constructions de flux complexes, telles que goto et récursivité .
- Toutes les boucles doivent avoir des limites fixes. Cela évite de créer involontairement des boucles infinis.
- Éviter d'allouer de la mémoire sur la heap.
- Limiter les fonctions à une seule page affichable sur un écran.
- Utiliser un minimum de deux assertions par fonction.
- Limiter la portée des variables au plus petit possible.
- Vérifier la valeur de retour de toutes les fonctions non-void ou transformer en void pour indiquer que la valeur de retour est inutile.
- Utiliser le préprocesseur avec parcimonie.
- Limiter l'utilisation du pointeur à un seul déréférencement et ne pas utiliser de pointeur de fonction.
- Compiler avec tous les avertissements possibles actifs ; tous les avertissements doivent alors être pris en compte avant la publication du logiciel.
J'avais déjà lu ça quelque part mais je trouve ça marrant de le retrouver :
- camelCase:
#twoWords
- PascalCase:
#TwoWords
- snake_case:
#two_words
- kebab-case:
#two-words
Liste des codes secrets sur Android
Codes d'informations :
*#06# – IMEI du téléphone
*#0*# – Menu d'informations (ne fonctionne pas sur tous les téléphones)
*#*#4636#*#* – Menu d'informations
*#*#34971539#*#* – Menu d'informations sur l'appareil photo
*#*#1111#*#* – Version software FTA
*#12580*369# – Infos sur le logiciel et sur le hardware
*#7465625# – Statut de verrouillage de l'appareil
*#*#232338#*#* – Montre l'adresse MAC de l'appareil
*#*#2663#*#* – Montre la version de la dalle tactile
*#*#3264#*#* – Montre la version de la RAM
*#*#232337#*# – Montre l'adresse Bluetooth de l'appareil
*#*#8255#*#* – État du service Google Talk
*#*#4986*2650468#*#* – Montre les infos sur le téléphone, le hardware et le PDA
*#*#1234#*#* – Montre les infos sur le PDA et le firmware
*#*#2222#*#* – Montre les infos FTA
*#*#44336#*#* – Montre la date du firmware et la liste des changements
*#0228# – Etat de la batterie
*#3282*727336*# – Etat de l'utilisation des données
*#03# – Numéro de série du NAND flash
*2767*4387264636# – Affichage du code produit
Codes de sauvegarde :
*#*#273282*255*663282*#*#* – Sauvegarde de tous les fichiers médias
*#8736364# – Menu des mises à jour OTA
Codes de test :
*#*#197328640#*#* – Mode test
*#*#232339#*#* – Test wifi
*#*#526#*#* – Test Wifi
*#*#0842#*#* – Test de luminosité/vibration
*#*#2664#*#* – Test de l'écran tactile
*#*#232331#*#* – Test du Bluetooth
*#*#7262626#*#* – Field test
*#*#1472365#*#* – Test GPS rapide
*#*#1575#*#* – Test GPS complet
*#*#0283#*#* – Test de packet loopback
*#*#0*#*#* – Test de l'écran LCD
*#*#0289#*#* – Test audio
*#*#0673#*#* – Test audio
*#*#0588#*#* – Test du capteur de proximité
*#0782# – Test de l'horloge
*#0589# – Test du capteur de lumière
*#7353# – Menu de test rapide
Codes de configuration :
*#9090# – Diagnostique de configuration
*#301279# – Menu de contrôle HSDPA/HSUPA
*#872564# – Contrôle de logging USB
*#2263# – Sélection de bandes
*#7284# – Contrôle du mode USB 12C
**05***# – Déblocage du code PUK depuis l'écran d'appel d'urgences
Codes utiles au développement :
*#9900# – Mode System dump
##778 (+call) – Montre le menu EPST
*#273283*255*3282*# – Menu de création de données
*#746# – Menu du debug dump
Codes secrets Android spécifiques aux constructeurs :
Motorola
##7764726 – Menu caché sur Motorola Droid
HTC
*#*#3424#*#* – Programme de test HTC
##786# – Support logistique inversée (infos envoyées au fabricant)
##3282# – Menu EPST
##3424# – Mode diagnostique
*#*#8255#*#* – Monitoring Google Talk
##33284# – Field Test
##8626337# – Lance le VOCODER
*#*#4636#*#* – Montre le menu d'informations HTC
#*#759#*#* – Debug de l'UI
Samsung
*#*#197328640#*#* – Menu principal du mode de services
*#32489# – Informations sur le cryptage
*#4238378# – Configuration GCF
*#3214789650# – Mode de test du LBS
*#745# – RIL Dump Menu
*#7412365# – Camera firmware menu
*#528# – Mode technique du Wifi
*#07# – Historique des tests
*#272886# – Sélection des réponses automatiques
Autres codes secrets Android :
*#7780# – Factory Reset
*2767*3855# – Full Factory Reset
*#*#7594#*#* – Change la fonction du bouton d'alimentation
*#*#8351#*#* – Active le dialing log mode
#*#8350#*#* – Désactive le dialing log mode
Les codes à ne pas utiliser, risque de perte de données ou de destruction du smartphone.
*#*#7780#*#* – Reset de la /data partition
*2767*3855# – Formatage de l'appareil
Aaaaah !
J'ai enfin réussi à trouver la spécification du QR-code sur le certificat covid européen !
Autant, avant qu'il ne soit converti au format communautaire, la version française utilise le for 2D-DOC (cf mon interrogation il y a 10 jours) qui est bien documenté.
Et là après avoir cherché sur le site de la Commission https://ec.europa.eu/info/ c'est finalement dans la partie eHealth que j'ai trouvé mon bonheur.
Éditions au fil des lectures :
On apprendra donc que cela s'appuie sur la RFC8949 pour utiliser le format CBOR.- Avant de lire la RFC, je crois comprendre qu'il faut utiliser
zlib
; or ce n'est pas un paquet (aussi atomique soit-il) facile à prendre en main… - Est-ce que pour comprendre ce que contient mon QR-code, il « suffit » de lire
HC1:
puis le reste étant codé en base 45 (qui est la même chose que la base 64 (cf page d'outils de Timo mais avec seulement 45 caractères) ??? - Oh, un décodeur de base45. Mais écrit en Rust :-(
- Ah… bah… une discussion GitHub me renvoie vers un codeur/décodeur de QR-code
fournit par l'UEen ligne - C'est mieux avec un schéma :
![image](https://raw.githubusercontent.com/ehn-dcc-development/hcert-spec/main/overview.png)
pas besoin de vous polluer car il est déjà dans le pdf shaarlié - Je ne suis pas le seul à me poser la question : Reddit est sur le coup.
- Bon… ce module python a l'air pas mal (possibilité d'ignorer la vérification de la signature (donc ne va pas chercher les certificats en ligne), lui fournir en entrée soit un fichier texte, soit l'image d'un qr-code, léger, indépendant, …) mais faut importer des modules dans python… fichtre !
- 1h15 après le début de mes pérégrination, je passe mon tour pour le moment. je préférais le 2D-DOC :-D
#mes2sous
« Car pour coder des tests automatisés il faut prévoir du temps. Environ 20 à 30% de temps de dev en plus. »
Ce que j'avais appris c'est que pour être propre, le test « visible » ça représente 50% du temps de dév. Et si on inclue le test « invisible » (débug, tests unitaire, lecture de console, revue de code, …), en réalité tester prend autant de temps que coder.
« Le client veut les features 1 à 14, donc vous devez faire les features 1 à 14. Point.
On préfère donner au client une version instable et pleine de bugs avec des bugs qui contient ces 14 features, qu'une version ultra stable et testée qui contient que 10 features. Car contrat, engagement, tout ça. »
Et c'est de ce constat que l'on est passé d'une conception « cycle en V » au « développement Agile ».
« En plus, quand, en tant que dev, on doit estimer un sujet, ben on oublie tout ça. On estime "ok une journée pour ça, une journée pour ça, et une journée pour ça, donc 3 jours".
Sauf que t'as pas calculé qu'un logiciel plantera. Qu'un autre sera incompatible avec un prérequis. Que le besoin client sur un point précis changera pendant ces 3 jours. Que le serveur aura pas la bonne mise à jour pour un des plugins. Etc. »
Ou alors : « Fonction 1 = 1 jour ; Fonction 2 = 1 jour ; Intégration de fonction 1 avec fonction 2 = 1 jour. Total pour 2 fonctions = 3 jours. »
Après il faut faire attention car 3 fonctions = 6 jours, 4f = 10j, 5f = 15j, …
« Perso j'ai une règle ultra simple dans l'informatique. Tu dois estimer un truc ? Tu estimes honnêtement combien de temps il te faut pour le faire.
Ensuite tu fais x2 pour une estimation réaliste et réalisable.
Et si tu veux faire du code propre, tu fais x3. »
#tafdak
Pas parce que c'est compliqué mais au moins je l'aurais facilement sous la main :
<pre>--
<table><tr><td><img src="https://example.com/mon-logo.jpg" alt="Mon Logo" width="100" /></td><td>Prénom NOM<br />Fonction<br />email : <a href="mailto:prenom.nom@example.com">Prenom.Nom@example.com</a><br />12, rue du Chemin 12345 La-Ville-City<br /><a href="https://www.example.com/">example.com</a></td></tr></table>
</pre>
... Ou comment revoir l'utilisation du code morse. Ça a l'air pas mal. Faudrait vraiment que je l'apprenne un jour ce code (tout comme la liste des départements français avec leur numéro).