tag:linuxfr.org,2005:/tags/rache/publicLinuxFr.org : les contenus étiquetés avec « rache »2022-10-18T20:59:08+02:00/favicon.pngtag:linuxfr.org,2005:Diary/404222022-10-16T18:41:18+02:002022-10-16T18:41:18+02:00Cartes, marqueurs et automatisationLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Coucou à tous !</p>
<p>Petite matinée hack ce matin (et hack du matin, chagrin), que je partage : c'est du rapide et du sale, mais j'ai découvert plusieurs outils intéressants, donc je pose ça là si ça peut inspirer quelqu'un. Je ne met pas de code parce que c'est hyper spécifique (en fait non, j'ai juste honte), mais ça ne devrait poser aucun problème à recréer avec mes explications.</p>
<p>L'école de Mademoiselle Fille organise une distribution de douceurs aux personnes âgées du quartier : la classe sera divisée en 10 groupes, et chaque groupe, accompagné d'un adulte, ira sonner aux portes et offrir une boite à chaussures décorée et contenant chocolats, thé et autres.</p>
<p>Mon rôle, c'est, à partir du listing des-dites 50 personnes âgées identifiées par la mairie / paroisse / assoce locale, de créer 10 cartes avec 5 marqueurs, plus les noms, adresses, et notes additionnelles (ceux chez qui il faut frapper fort et longtemps, ceux à qui il faut se signaler à la fenêtre…).</p>
<p>Les années précédentes, ça a été fait manuellement, avec dans le meilleur des cas un fond de carte Google et des notes rajoutées au stylo. Mais je n'allais pas laisser passer l'occasion d'automatiser un peu la chose et d'utiliser du libre.</p>
<p>J'ai pas mal cherché et j'ai fini par trouver une combinaison qui marche bien. Accrochez vos ceintures.</p>
<p>Étape 1: les coordonnées pour chaque adresse<br>
- Je charge les noms et adresses dans une base Postgres<br>
- J'écris un petit script Bash qui tire chaque adresse de la base de données, va me chercher les coordonnés via un appel à <a href="https://nominatim.openstreetmap.org">nominatim</a>, que j'extrais avec jq, pour le réinjecter dans la base</p>
<p>Étape 2: Faire les groupes<br>
- Re-petit script bash qui tire chaque coordonnée, cette fois ci, et génère un bout de Javascript qui créé un marqueur au format <a href="https://leafletjs.com/">Leaflet</a>, que je réinjecte dans une page HTML locale pour les afficher sur le fond de carte du quartier<br>
- Je ne me sentais pas de sortir les algos de sous-graphes et du voyageur de commerce, donc j'ai imprimé la carte, et avec mes petits doigts fébriles j'ai fait des cercles pour grouper <a href="https://www.la-rache.com/">à la rache</a>, réinjecté mes groupes dans la base</p>
<p>Étape 3: Faire les cartes<br>
- Je créé un template HTML où il ne manque que les marqueurs et la liste des adresses<br>
- Je créé un script bash qui, pour chaque groupe, me génère les blocs HTML et JS correspondant aux adresses et aux marqueurs du groupe, un petit envsubst plus tard et j'ai 10 pages HTML<br>
- J'affiche chaque page HTML dans mon panda roux, je recadre, j'imprime vers un PDF<br>
- Et enfin, un peu de pdftk pour combiner le tout. Prêt à imprimer et à distribuer !</p>
<p>Alors ça reste assez manuel. Je connais très mal le Javascript, mais j'imagine que c'était clairement la solution pour complètement automatiser la chose, avec du JS qui tape directement dans la base, fait sa requête à nominatim, et affiche les 10 sections à imprimer ensuite.</p>
<p>J'espère qu'on ne perdra personne !</p>
<div><a href="https://linuxfr.org/users/small_duck/journaux/cartes-marqueurs-et-automatisation.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129038/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/small_duck/journaux/cartes-marqueurs-et-automatisation#comments">ouvrir dans le navigateur</a>
</p>
small_duckhttps://linuxfr.org/nodes/129038/comments.atomtag:linuxfr.org,2005:Post/392642018-06-01T13:54:07+02:002018-06-01T13:54:07+02:00méthode de suivi de développement logiciel<p>Comment faites-vous pour suivre l'avancement du développement logiciel sur l'ensemble d'un système ?<br>
Le but du suivi est de plannifier un minimum et de prévoir les ressources (humaines et matérielles) dans le temps.</p>
<p>Chaque fonctionnalité est portée par plusieurs sous-ensembles logiciels, et chaque sous ensemble logiciel porte plusieurs fonctionnalités. Ce qui peut donner une sorte de grosse matrice, avec beaucoup de lignes et de colonnes (selon la complexité du système).</p>
<p>De sorte que pour suivre l'avancement d'une fonctionnalité, il faut suivre l'avancement d'une multitude de sous ensembles logiciels, parfois réalisés par des personnes différentes. Et tant qu'il manque le moindre petit bout de "tuyau", alors la fonctionnalité n'est pas opérationnelle.<br>
Et dans l'autre sens, un sous-ensemble logiciel ne sera terminé que quand il prendra en compte toutes les fonctionnalités qu'il porte.</p>
<p>Suivre l'avancement avec un tableur ou un diagramme de Gantt (MS Excel, MS Project, ou l'équivalent en logiciel libre) est fastidieux.</p>
<p>De surcroît, en logiciel, on utilise souvent des bouchons, pour tester un sous-ensemble tant que l'autre n'est pas prêt. Alors il faut aussi suivre tous ces bouchons, et ne pas oublier de tous les remplacer par du vrai code avant de livrer le système à l'utilisateur.</p>
<p>Pour fixer les idées, prenons l'exemple hypothétique et simplifié d'un système de téléguidage de tracteur.</p>
<p>Les fonctionnalités du système sont :</p>
<ul>
<li>programmer le parcours du tracteur</li>
<li>programmer la tâche à réaliser (semis, tonte, …)</li>
<li>piloter la trajectoire du tracteur par un matériel embarqué autonome</li>
<li>piloter la réalisation des tâches par un matériel embarqué autonome</li>
<li>suivre en direct le trajet et les indicateurs</li>
<li>commander et faire le suivi à l'aide d'une tablette Android</li>
</ul><p>Les sous-ensembles hardwares sont :<br>
- un Raspberry Pi dans le tracteur pour recevoir les commandes et piloter le tracteur<br>
- une tablette pour l'interface utilisateur</p>
<p>Dans un tel système il faut développer, configurer et maintenir les sous ensembles logiciels suivants :</p>
<ul>
<li>tablette : OS Android</li>
<li>tablette : communication avec le Raspberry Pi</li>
<li>tablette : interface de préparation du parcours</li>
<li>tablette : interface de suivi du tracteur</li>
<li>Raspberry Pi : kernel et distribution Linux</li>
<li>Raspberry Pi : drivers (pour piloter le tracteur)</li>
<li>Raspberry Pi : hot spot wifi</li>
<li>Raspberry Pi : logiciel de calcul de parcours</li>
</ul><p>Pour la fonctionnalité "piloter la trajectoire", on pourra dire qu'elle est terminée dès lors que les sous-ensembles logiciels suivants seront "câblés" :</p>
<ul>
<li>l'OS du Raspberry Pi, avec paramétrages ad hoc</li>
<li>le driver GPS</li>
<li>les drivers de contrôle du tracteur (direction, accélération, mesure de la vitesse)</li>
<li>le stockage de la feuille de route (en RAM ou en mémoire persistente)</li>
<li>le logiciel calculateur de la trajectoire</li>
</ul><p>Bref, on arrive vite à beaucoup d'items, et à des tableaux ou des listes qui ne tiennent plus sur un écran. Avez-vous des méthodes ou des actuces pour suivre plus efficacement tout cela ?</p><div><a href="https://linuxfr.org/forums/general-general/posts/methode-de-suivi-de-developpement-logiciel.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114613/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-general/posts/methode-de-suivi-de-developpement-logiciel#comments">ouvrir dans le navigateur</a>
</p>
goebhttps://linuxfr.org/nodes/114613/comments.atomtag:linuxfr.org,2005:News/370202016-01-13T18:57:06+01:002016-01-13T18:57:06+01:00Le retour de la Méthode R.A.C.H.ELicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Il y a plus de 10 ans maintenant, en lisant le <a href="//linuxfr.org/users/mmh/journaux/la-rache">journal</a> d'un certain <a href="//linuxfr.org/users/mmh">mmh</a>, je découvrais la <a href="http://www.la-rache.com/">Méthode R.A.C.H.E</a> de l’International Institute of La RACHE. Il ne s'est pas passé une année depuis sans qu'un collègue ou moi-même y fasse allusion face à un projet à l'issue incertaine. Malheureusement, le domaine n'a pas été renouvelé en 2013 par le propriétaire, et un site parking plein de liens moisis y a pris place.</p>
<p>Malgré la déception, j'ai finalement réussi à racheter le domaine et à le remettre en route…</p></div><ul><li>lien nᵒ 1 : <a title="http://www.la-rache.com/" hreflang="fr" href="https://linuxfr.org/redirect/96135">La Méthode R.A.C.H.E</a></li><li>lien nᵒ 2 : <a title="https://github.com/la-rache/la-rache.com" hreflang="fr" href="https://linuxfr.org/redirect/96136">Le projet GitHub</a></li><li>lien nᵒ 3 : <a title="http://web.archive.org/web/*/http://www.la-rache.com/" hreflang="fr" href="https://linuxfr.org/redirect/96137">Historique du site sur archive.org</a></li></ul><div><h2 id="le-site-actuel">Le site actuel</h2>
<p>Le site est maintenant hébergé sur une <a href="http://la-rache.github.io/">page GitHub</a>, peut être forké et est ouvert à toutes les contributions.</p>
<p>Le but de cette réouverture est de faire perdurer cette note d'humour et de continuer à rire des métiers de l'informatique.</p>
<p>Je n'ai aucune idée de l’identité de l'auteur originel de cette page ni de la licence qu'il aurait souhaité pour ce contenu.</p>
<p>Le contenu déposé sur GitHub est par défaut sous licence <a href="https://spdx.org/licenses/CC-BY-4.0.html">CC-BY-4.0</a>.</p>
<h2 id="contribuer-au-site-web-la-rachecom">Contribuer au site web la-rache.com</h2>
<h3 id="installation-de-lenvironnement-de-travail">Installation de l'environnement de travail</h3>
<ul>
<li>forkez le projet : <a href="https://github.com/la-rache/la-rache.com">https://github.com/la-rache/la-rache.com</a> ;</li>
<li>clonez votre fork : <code>git clone https://github.com/<votre_user_github>/la-rache.com.git</code> ;</li>
<li>allez dans le répertoire de travail : <code>cd la-rache.com</code> ;</li>
<li>installez NPM <code>apt-get install npm</code> ;</li>
<li>installez les dépendances : <code>npm install</code>.</li>
</ul><h3 id="modification-des-sources">Modification des sources</h3>
<ul>
<li>éditez le début de page et le pied de page dans <code>src/parts</code> ;</li>
<li>éditez les corps des pages dans <code>src/*.html</code> ;</li>
<li>éditez les images dans <code>src/img</code> ;</li>
<li>éditez les css dans <code>src/css</code> ;</li>
<li>éditez les js dans <code>src/js</code>.</li>
</ul><h3 id="génération-du-code-html">Génération du code HTML</h3>
<ul>
<li>
<code>./node_modules/grunt-cli/bin/grunt</code>.</li>
</ul><h3 id="visualisation-du-code">Visualisation du code</h3>
<ul>
<li>Ouvrez <code>build/index.html</code> avec votre navigateur préféré.</li>
</ul><h3 id="partage-de-vos-modifications">Partage de vos modifications</h3>
<ul>
<li>si vous avez ajouté de nouveaux fichiers : <code>git add <fichier></code> ;</li>
<li>commentez vos modifications : <code>git commit -am "<votre commentaire sur vos modifications"</code> ;</li>
<li>poussez les dans votre repo <code>git push</code> ;</li>
<li>depuis votre espace GitHub, faites un <em>merge request</em>.</li>
</ul></div><div><a href="https://linuxfr.org/news/le-retour-de-la-methode-r-a-c-h-e.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/107844/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/le-retour-de-la-methode-r-a-c-h-e#comments">ouvrir dans le navigateur</a>
</p>
feraudetNils RatusznikBenoît Sibaudhttps://linuxfr.org/nodes/107844/comments.atom